Kotlin三:流程控住 归纳总结

2020-02-23  本文已影响0人  大川的川
你瞅啥?

Kotlin 同样提供了两种基本的流程控住结构:分支结构和循环结构。
分支结构:用于实现根据条件来选择性地执行某段代码;
循环结构:则用于实现根据循环条件重复执行某段代码;
分支语句:if和when两种分支语句,Kotlin的when语句可以代替Java的switch语句,而且功能更强大;
循环语句:while、do while、for-in 循环,抛弃了Java原有的普通for循环。Kotlin也提供了break和continue来控制程序的循环结构;

// ---------------输出 “及格”
var soure='D'
when (soure){
    'A' -> {
        println("优秀")
        println("更上一层楼")
    }
    'B' -> println("中等")
    'C','D' -> println("及格")
    else -> println("不及格")
}
// ---------------输出 “优秀” "更上一层楼"
var score = 'B'
var str = "EFGH"
when (soure) {
    str[0] - 4, str[1] - 4 -> {
        println("优秀")
        println("更上一层楼")
    }
    str[2] - 4, str[3] - 4 -> println("中")
    else -> {
        println("不及格")
        println("别说了,努力吧,骚年")
    }
}
// ---------------输出 “优秀” "更上一层楼"
var date = Date()
when (date) {
    Date() -> {
        println("优秀")
        println("更上一层楼")
    }
    else ->{
        println("不及格")
        println("别说了,努力吧,骚年")
    }
}
// ---------------输出 年龄39  中年
val age = Random().nextInt(100)
println("年龄${age}")
// 使用when 表达式对str2 的赋值
var str2 = when (age) {
    in 10..25 -> "青年"
    in 26..50 -> "中年"
    in 51..80 -> "老年"
    else -> "其他"
}
println(str2)
/**
 *i 的值是:0
  i 的值是:1
  i 的值是:2
 */
for (i in 0..10) {
    println("i 的值是:${i}")
    if (i == 2) {
        // 执行该语句时将结束循环
        break
    }
}
/**
 *i 的值是:0
  i 的值是:1
 */
// 外层循环 outer作为标签符
auter@ for (i in 0 until 5){
    //内层循环
    for (i in 0..10) {
        println("i 的值是:${i}")
        if (i == 1) {
            // 跳出outer标签所标识的循环
            break@auter
        }
    }
}
/**
 * ---i 的值是:0
   ---return 后的输出语句
   ---i 的值是:1
   ---return 后的输出语句
   ---i 的值是:2
 */
for (i in 0 until 10) {
    println("---i 的值是:${i}")
    if (i == 2) {
        // 执行该语句时将结束循环
        return
    }
    println("---return 后的输出语句")
}
上一篇下一篇

猜你喜欢

热点阅读