(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) } }