(1)直接賦值:java
與java不一樣的是,kotlin的if條件判斷後的結果能夠直接賦值給一個變量,以下:spa
var min = if ( a > b ){ a } else { b }
(2)區間:code
fun main(args: Array<String>) { var a = 9 if(a in 5..10){ println("$a 在區間中") } } 輸出結果爲: 9 在區間中
在kotlin中,when的用法與java中的switch...case的效果相同;get
fun main(args: Array<String>) { var a = 5 when(a){ 5 -> print("我不是6") 6 -> print("我不是5") in 3..9 -> print("我在區間裏") //這裏能夠看到即便知足這個條件,可是先前已有知足,不在執行此代碼塊,故至關於每一個條件分支後面都有break; 7,8 -> print("我是7或者8") //若是兩個條件的方法體相同,能夠使用','分割 else ->{ print("我不是5也不是6") } //這裏的else至關於switch..case中的default做用 } } 輸出結果爲:我不是6
fun main(args: Array<String>) { val array = arrayListOf<Int>(1, 2, 3, 4, 56, 7, 8) //方法一 for (a in array){ println(a) } //方法二 查看源碼可知array.indices返回的是get() = 0..size - 1,0到size-1的集合 for (i in array.indices){ println(array[i]) } }
這兩個用法和java中的用法相同,while()不知足條件不會執行,do{}while()至少會執行一次方法體;源碼
fun main(args: Array<String>) { val array = arrayListOf<Int>(1, 2, 3, 4, 56, 7, 8) array.forEach{ if (it ==3) //注意這裏的it是kotlin默認的定義元素相似lambda中的foreach(one -> one) return println(it) } }