控制流
条件语句
package loaderman fun main(arg: Array<String>) { var a: Int = 30 var b = 34 var max: Int if (a > b) {//普通用法 max = a } else { max = b } print("max " + max) var x = if (a > b) {//将if语句作为表达式使用 a// 返回值 } else { b// 返回值 } print("x = " + x) }
when语句
package loaderman fun main(arg: Array<String>) { var x= 1 when(x){ 1->{ print("1") } 2->{ print("@") } } }
注意几点:
- when语句类似于switch 语句,根据传人的值寻找满足条件的分支后执行语句
- 如果分支对于一条语句,使用 {....}
- 满足条件执行后,会自动终止when语句的执行,因此,并不需要像switch语句那样每一个case语句都加上break。
- 如果多个分支执行代码一样,可以用逗号分隔多个条件
package loaderman fun main(arg: Array<String>) { var x= 2 when(x){ 1,2->{//多个分支执行代码一样,可以用逗号分隔多个条件 print("1") } 3->{ print("@") } } }
使用in关键字
package loaderman fun main(arg: Array<String>) { var x= 23 when(x){ in 1..20->{ print("1") } in 20..40->{//in 表示在这个范围内 反之!in print("2") } } }
分支条件是函数
package loaderman fun main(arg: Array<String>) { var x= 4 when(x){ getVavlue(1)->{ print("1") } getVavlue(2)->{//in 表示在这个范围内 反之!in print("2") } } } fun getVavlue(x:Int):Int{ return x*x }
for循环
for-iterator语法
package loaderman fun main(arg: Array<String>) { val arr = intArrayOf(2, 3, 4, 5, 6) for (item:Int in arr){ println(item) } }
索引枚举
package loaderman fun main(arg: Array<String>) { val arr = intArrayOf(2, 3, 4, 5, 6) for (i in arr.indices){ println("arr[$i]"+arr[i]) } }
其他方法
package loaderman fun main(arg: Array<String>) { val arr = intArrayOf(2, 3, 4, 5, 6) for ((index,value) in arr.withIndex()){ println("arr[$index]"+value) } }
while循环
与java 一样,分为while 和do..while
package loaderman fun main(arg: Array<String>) { var i = 0 while (i++ < 10) { println(i) } println("--------") var j= 0 do { j++ if (j==5){ continue } if (j==7){ print("end") break } println(j) } while (j <10) }
最后,关注【码上加油站】微信公众号后,有疑惑有问题想加油的小伙伴可以码上加入社群,让我们一起码上加油吧!!!