Kotlin学习系列(二)

IF表达式

if在kotlin可以当做表达式使用跟java的三元操作符类似:

var max =  if( a > b )  a else b

if分支可以使用代码块,最后一个表达式是返回值:


var max = if (a > b){
    print(a)
    a
}else{
    print(b)
    b
}

When表达式

kotlin使用when来替换switch语句,基本特性都跟switch差不多会对列出来的分支进行匹配满足条件的分支会被执行。when可以当做表达式或者语句
如果使用when当前表达式满足条件的分支会当做when的返回值。当when当做语句使用的时候会忽略所有分支的值。when的每个分支也可以是语句块最后一个表达式是这个语句块的值。

用做表达式:

    var matchValue = 2
    var result = when(matchValue){
        1 -> 1
        2 -> 2
        else ->3
    }

    println(result)

用于语句:

    matchValue = 3
    when(matchValue) {
        1 -> println(1)
        2 -> println(2)
        else -> println(3)
    }

匹配多少值:

    when(matchValue){
        1,2,3 -> println(matchValue)
    }

使用is!is:

    var isInt = when(matchValue){
        is Int -> println(matchValue) 
        else -> false
    }

使用in!in:

    var valueIn = when(matchValue){
        in 1..3 -> true
        else -> false
    }

当when没有提供一个值时它的分支是boolean表达式when会执行为真的分支:

    var valueIn = when(matchValue){
        in 1..3 -> true
        else -> false
    }

for循环

通过任意提供的迭代器的对象循环(迭代器与java类似):

for (item in collection)
  print(item)

遍历数组:

   var types = intArrayOf(1, 2, 3)
    for(index in types.indices)
        print(index.toString() + " ")

    for((index, value ) in types.withIndex())
        println("index: $index, value: $value")

while循环

跟平常的while使用一样:

    var index = 0
    while(index < 10)
        print(index++)

    index = 0
    do{
        print(index)
    }while (index++ < 10)



《架构文摘》每天一篇架构领域重磅好文,涉及一线互联网公司应用架构(高可用、高性 能、高稳定)、大数据、机器学习等各个热门领域。

posted @ 2016-03-17 22:46  架构文摘  阅读(1714)  评论(0编辑  收藏  举报