记一次安卓(Kotlin)-kotlin条件控制和循环控制_07

176 阅读1分钟

条件控制

Kotlin条件控制中没有switch case,用when来替换switch case

if表达式

带返回值if表达式 在Kotlin中,if是一个表达式所以会返回一个值,表达式的值为表达式作用域最后一行的值.这个与Java是不同的;

//kotlin中不需要三目运算符
if (a > b) a else b

//判断是什么类型,用is
if (number is Int) {
    println("This is Int")
}

when表达式


//在Kotlin中使用when表达式替代了类似C语言的switch-case语句,其中最简单的形式如下:
//when同样是有返回值的
fun eval(number: Number): String = when (number) {
    200 -> "is 200"
    200f -> {
        println("200f")
        "200f haha"
    }
    is Int -> "This is int number"
    else -> "invalid number"
}

//kotlin1.3之后when后的参数可以动态赋值,1.3之前只能把getValue()写在when之前.
when(val value = getValue()) {
    ...
}

循环控制

与Java一致

数字区间迭代


//遍历区间,主意Kotlin的区间的包含是闭合的
for (i in 1..10) {
    print("$i")
}
//输出结果:1 2 3 4 5 6 7 8 9 10

for (i in 1 until 10) {
    print("$i")
}
//输出结果是:1 2 3 4 5 6 7 8 9 

for(i in 10 downTo 1 step 2) {
 print("$i")
}
//输出结果是:10 8 6 4 2

循环中的break 与 continue

  • break: 终止最直接包围它的循环;
  • continue:继续下一次最直接包围它的循环;