- 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)
}
结果: