条件控制
if表达式
基本用法
// 传统用法
var max = a
if (a < b) max = b
// 使用 else
var max: Int
if (a > b) {
max = a
} else {
max = b
}
// 作为表达式
val max = if (a > b) a else b
实例
fun main(args: Array<String>) {
var x = 0
if(x>0){
println("x 大于 0")
}else if(x==0){
println("x 等于 0")
}else{
println("x 小于 0")
}
var a = 1
var b = 2
val c = if (a>=b) a else b
println("c 的值为 $c")
}
运行结果如下
x 等于 0
c 的值为 2
when表达式
基础用法
when (x) {
1 -> print("x == 1") //x等于1的时候输出x==1
2 -> print("x == 2") //x等于2的时候输出x==2
else -> { // 注意这个块
print("x 不是 1 ,也不是 2")
}
}
多个分支
when (x) {
0, 1 -> print("x == 0 or x == 1")
else -> print("otherwise")
}
在区间中
when (x) {
in 1..10 -> print("x is in the range")
else -> print("none of the above")
}
综合实例
fun main(args: Array<String>) {
var x = 0
when (x) {
0, 1 -> println("x == 0 or x == 1")
else -> println("otherwise")
}
when (x) {
1 -> println("x == 1")
2 -> println("x == 2")
else -> { // 注意这个块
println("x 不是 1 ,也不是 2")
}
}
when (x) {
in 0..10 -> println("x 在该区间范围内")
else -> println("x 不在该区间范围内")
}
}
输出结果为
x == 0 or x == 1
x 不是 1 ,也不是 2
x 在该区间范围内
循环控制
for循环
基本语法
for (item in items) {
// ……
}
实例
fun main(args: Array<String>) {
val items = listOf("apple", "banana", "kiwi")
for (item in items) {
println(item)
}
}
输出结果如下
apple
banana
kiwi
while 与 do while
基本语法
while( 布尔表达式 ) {
//循环内容
}
do {
//代码语句
}while(布尔表达式);
实例
fun main(args: Array<String>) {
println("----while 使用-----")
var x = 5
while (x > 0) {
println( x--)
}
println("----do...while 使用-----")
var y = 5
do {
println(y--)
} while(y>0)
}
输出结果为:
5
4
3
2
1
----do...while 使用-----
5
4
3
2
1
break和continue
fun main(args: Array<String>) {
for (i in 1..10) {
if (i==3) continue // i 为 3 时跳过当前循环,继续下一次循环
println(i)
if (i>5) break // i 为 6 时 跳出循环
}
}