- if 表达式
fun main(args: Array<String>) { val a = 2 val b = 3 var x = 0 // 最简单的使用 if (a>b) x = a println(x) // 使用 if-else 语句 if (a>b){ x = 8 }else{ x = 7 } println(x) // 使用三元表达式 x = if (a>b) 10 else 12 println(x) }
结果:
if-else 还可以作为代码块的同时,最后的表达式作为该块的值:
fun main(args: Array<String>) { println(answer(2,3,10)) println(answer(3,2,10)) } fun answer(a:Int,b:Int,c:Int):Int = if (a>b){ // 中间的代码块 print("a<b,x=") // 最后的表达式,比如 7 作为这块的值,即 当 a>b 时 x=7 7 }else{ print("a>b,x=") // 最后的表达式,比如 c+1 作为这块的值,即 当 a<b 时 x=c+1 c+1 }
- when 表达式
fun main(args: Array<String>) { answer(1) answer(2) answer(3) answer(4) answer(5) answer(6) answer(7) answer(8) } fun answer(a:Int){ when (a){ // 简单使用 1 -> println("这是 1") 2 -> println("这是 2") // 可以将几种条件使用 , 分隔 3,4 -> println("这是 3 或者 4") // 使用 in 检查是否属于一个集合 in 5..7 -> println("属于 5 到 7") else -> println("其它数字") } }
结果:
还可以使用 is 进行判断:
fun main(args: Array<String>) { answer("abc") answer(5) answer('t') } fun answer(a:Any){ when (a){ is String -> println("String 类型") is Int -> println("Int 类型") else -> println("其它类型") } }
结果:
- for 循环:
fun main(args: Array<String>) { /* 简单使用 */ val list = listOf<Int>(1,2,3,4) // 使用 in 进行 for 循环 for (li in list) print(li) println() /* 或者在数字区间上 */ var array = IntArray(5) // 给数组添加元素 for (i in 0..4) array[i]=i // 查询元素 for (i in array) print(i) println() // 使用索引查询 for (i in array.indices) print(array[i]) println() // 使用 size 大小查询 for (i in 0..(array.size-1)) print(array[i]) println() // 使用 withIndex 库 for ((index,value) in array.withIndex()) print(value) }
结果:
- while 循环
fun main(args: Array<String>) { val list = listOf<Int>(1,2,3,4,5) var i = 0 // 使用 while while (i<list.size){ print(list[i]) i++ } println() i=0 // 使用 do-while do { print(list[i]) i++ }while (i<list.size) }
结果: