Kotlin控制語句ifwhenforwhile

NO IMAGE

前言

  • 你還在把Java當成Android官方開發語言嗎?Kotlin瞭解一下!
  • 2017年Google IO大會宣佈使用Kotlin作為Android的官方開發語言,相比較與典型的面相對象的JAVA語言,Kotlin作為一種新式的函數式編程語言,也有人稱之為Android平臺的Swift語言。

環境以及工具

Android Studio 3.3

if 表達式

    //----------------------- if 表達式-------------------------------------
//傳統用法
val a: Int = 1
val b: Int = 2
val max: Int
val min: Int
if (a < b) {
max = b
} else {
max = a
}
println(max)//輸出結果-------------------------2-------------------------
// 作為表達式
min = if (a < b) a else b
println(min)//輸出結果-------------------------1-------------------------
//IF 表達式的結果賦值給一個變量,這裡不需要三元操作符也可以
val max2 = if (a > b) {
println("Choose a:")
a
} else {
println("Choose b:")
b
}
println(max2)
//    *********************************輸出結果*********************************
//    Choose b:
//    2
//    *********************************輸出結果*********************************
//使用 in 運算符來檢測某個數字是否在指定區間內
val x = 5
if (x in 1..8) {
println("x 在區間內")//輸出結果-------------------------x 在區間內-------------------------
}

When 表達式

//----------------------- When 表達式-------------------------------------
//when 取代了類 C 語言的 switch 操作符
//else 類似 switch 的 default。如果其他分支都不滿足條件將會求值 else 分支
val y = 5
when (y) {
1 -> println("x==1")
2 -> println("x==2")
else -> {
println("x 不是1 也不是5")
}
}
//    *********************************輸出結果*********************************
//    x 不是1 也不是5
//    *********************************輸出結果*********************************
//如果很多分支需要用相同的方式處理,則可以把多個分支條件放在一起,用逗號分隔
val z = 5
when (z) {
1, 5 -> println("x==1 or x==5")
else -> println("x 不是1 也不是5")
}
//    *********************************輸出結果*********************************
//    x==1 or x==5
//    *********************************輸出結果*********************************
//我們也可以檢測一個值在(in)或者不在(!in)一個區間或者集合中:
val h = 0
var validArrays = arrayOf(1, 2, 3, 0, 6)
when (h) {
in 1..5 -> println("x在1-5之間")
in validArrays -> println("x是合法數字")
!in 10..20 -> println("x不在10-20之間")
else -> println("x到底屬於什麼範圍")
}//輸出 x是合法數字
//is檢測特定類型
fun hasString(x: Any) = when (x) {
is String -> true
else -> false
}
println(hasString("boyi.chen"))//true
println(hasString(12306))//false
//when 也可以用來取代 if-else if鏈
val d = 10
when {
d in 1..10 -> println("d在區間1-10之間")
else -> println("else")
}//d在區間1-10之間

For 循環

    //-----------------------For 循環-------------------------------------
val arrays = listOf("a", "b", "c", "d", "e")
//對任何提供迭代器(iterator)的對象進行遍歷
for (i in arrays) {
print("$i,")
}//a,b,c,d,e,
println()
//通過索引遍歷一個數組或者一個 list
for (i in arrays.indices) {
print(arrays[i] + ",")
}//a,b,c,d,e,
println()
//可以用庫函數 withIndex
for ((index, value) in arrays.withIndex()) {
println("$index : $value")
}
//    *********************************輸出結果*********************************
//    0 : a
//    1 : b
//    2 : c
//    3 : d
//    4 : e
//    *********************************輸出結果*********************************

while循環

  //-----------------------while循環-------------------------------------
var xx = 2
while (xx > 0) {
print("${xx--},")
}//2,1,
println()
var yy = 2
do {
print("${yy--},")
} while (yy > 0)//2,1,
println()

##源碼
請關注公眾號並在後臺回覆:kotlin

Kotlin重構系列分享教程

Kotlin環境搭建

Kotlin重構初體驗之告別FindViewById

Kotlin基本類型

Kotlin重構如何兼容原先的ButterKnife、EventBus3.1

當ButterKnife8.8.1碰到AndroidX怎麼辦

Githup教程開源項目

Python爬蟲系列分享教程

Python爬蟲之旅之Selenium庫的使用

Python爬蟲之旅之豆瓣音樂

請關注我(分享日常開發)

Kotlin控制語句ifwhenforwhile

相關文章

Kotlin接口

Kotlin繼承

Kotlin類和對象

Kotlin返回與跳轉