控制流

条件语句

package loaderman

fun main(arg: Array<String>) {
    var a: Int = 30
    var b = 34
    var max: Int
   
    if (a > b) {//普通用法
        max = a
    } else {
        max = b
    }
    print("max " + max)

    var x = if (a > b) {//将if语句作为表达式使用
        a// 返回值
    } else {
        b// 返回值
    }
    print("x  = " + x)

}

 

when语句

package loaderman

fun main(arg: Array<String>) {
   var x= 1
   when(x){
       1->{
           print("1")
       }
       2->{
           print("@")
       }
   }
}

注意几点:

  • when语句类似于switch 语句,根据传人的值寻找满足条件的分支后执行语句
  • 如果分支对于一条语句,使用 {....}
  • 满足条件执行后,会自动终止when语句的执行,因此,并不需要像switch语句那样每一个case语句都加上break。
  • 如果多个分支执行代码一样,可以用逗号分隔多个条件
package loaderman

fun main(arg: Array<String>) {
   var x= 2
   when(x){
       1,2->{//多个分支执行代码一样,可以用逗号分隔多个条件
           print("1")
       }
       3->{
           print("@")
       }
   }
}

使用in关键字

package loaderman

fun main(arg: Array<String>) {
   var x= 23
   when(x){
       in 1..20->{
           print("1")
       }
       in 20..40->{//in 表示在这个范围内  反之!in
           print("2")
       }
   }
}

分支条件是函数

package loaderman

fun main(arg: Array<String>) {
   var x= 4
   when(x){
       getVavlue(1)->{
           print("1")
       }
       getVavlue(2)->{//in 表示在这个范围内  反之!in
           print("2")
       }
   }
}


fun getVavlue(x:Int):Int{
    return x*x
}

 

for循环

for-iterator语法

package loaderman

fun main(arg: Array<String>) {
    val arr = intArrayOf(2, 3, 4, 5, 6)
    for (item:Int in arr){
        println(item)
    }

}

索引枚举

package loaderman

fun main(arg: Array<String>) {
    val arr = intArrayOf(2, 3, 4, 5, 6)
    for (i in arr.indices){
        println("arr[$i]"+arr[i])
    }

}

其他方法

package loaderman

fun main(arg: Array<String>) {
    val arr = intArrayOf(2, 3, 4, 5, 6)
    for ((index,value) in arr.withIndex()){
        println("arr[$index]"+value)
    }

}

 

while循环

与java 一样,分为while 和do..while

package loaderman

fun main(arg: Array<String>) {
    var i = 0
    while (i++ < 10) {
        println(i)
    }
    println("--------")
    var j= 0
    do {

        j++
        if (j==5){
            continue
        }
        if (j==7){
           print("end")
            break
        }

        println(j)
    } while (j <10)
}

 

posted on 2018-12-15 19:35  LoaderMan  阅读(185)  评论(0编辑  收藏  举报

导航