Kotlin学习笔记(三) 条件.循环

1.if条件判断

(1)直接赋值:java

与java不一样的是,kotlin的if条件判断后的结果能够直接赋值给一个变量,以下:spa

var min = if ( a > b ){ a } else { b }

 (2)区间:code

fun main(args: Array<String>) {
   var a = 9
    if(a in 5..10){
        println("$a 在区间中")
    }
}


输出结果为:    9 在区间中

2.when

     在kotlin中,when的用法与java中的switch...case的效果相同;get

fun main(args: Array<String>) {
   var a = 5
    when(a){
        5 -> print("我不是6")
        6 -> print("我不是5")
        in 3..9 -> print("我在区间里")              //这里能够看到即便知足这个条件,可是先前已有知足,不在执行此代码块,故至关于每一个条件分支后面都有break;
        7,8 -> print("我是7或者8")                 //若是两个条件的方法体相同,能够使用','分割
        else ->{ print("我不是5也不是6") }          //这里的else至关于switch..case中的default做用
    }
}

输出结果为:我不是6

3.for循环遍历

fun main(args: Array<String>) {
    val array = arrayListOf<Int>(1, 2, 3, 4, 56, 7, 8)
    //方法一
    for (a in array){
        println(a)
    }

    //方法二  查看源码可知array.indices返回的是get() = 0..size - 1,0到size-1的集合
    for (i in array.indices){
        println(array[i])
    }
}

4.while和do...while

    这两个用法和java中的用法相同,while()不知足条件不会执行,do{}while()至少会执行一次方法体;源码

5.foreach遍历

fun main(args: Array<String>) {
    val array = arrayListOf<Int>(1, 2, 3, 4, 56, 7, 8)
    array.forEach{
        if (it ==3)   //注意这里的it是kotlin默认的定义元素相似lambda中的foreach(one -> one)
            return
        println(it)
    }
}
相关文章
相关标签/搜索