kotlin的控制流

2017-12-27  本文已影响0人  白於青

for循环

  kotlin的for循环相比Java做了一些调整,个人没有感觉有什么优越性……基本的语法就是这样:

for( 单项 in 集合 ){
    操作
}

  这种处理方法……很不灵活的,所以,for循环还有以下处理技巧。

    // 左闭右开区间,合法值包括10,但不包括60
    for (i in 10 until 60) {
        print(i)
        print("  ")
    }
    println()

    // for循环默认递增,这里使用downTo表示递减
    for (i in 50 downTo 30) {
        print(i)
        print(" ")
    }
    println()

    // 每次默认递增1,这里改为每次递增3
    for (i in 20..80 step 3) {
        print(i)
        print(" ")
    }
    println()
    

while循环

  好了,现在再看看while循环。先提一个问题哈,首项为1,公差也是1,这个递增数列在第几项和为5050?

    var a = 1
    val b = 1
    var s = 0
    var t = 0
    while(s < 5050){
        s += a
        a += b
        t++
    }
print("总共需要递增${t}次")

  答案出来了,100。可见,这和Java没啥差别。

when多元判断

  kotlin的when多元判断相当于Java的switch判断,但是更加强大,它可以同时判断对象的具体大小、范围、表达式的值、类型等。直接上代码:

    val m = 1
    val n = 2
    val l = if (m > n) m - n else "n更大!"
    when(l){
        in 1..5 -> {
            print("l的数值在1到5之间")
        }
        1,6 -> {
            print("l的值等于1或者6")
        }
        is Int -> {
            print("l是一个整型")
        }
        is Char -> {
            print("l是一个字符")
        }
        else -> {
            print("l是String型")
        }
    }

  嗯嗯,先写这么多吧。

上一篇下一篇

猜你喜欢

热点阅读