zoukankan      html  css  js  c++  java
  • 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)
    



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

  • 相关阅读:
    fzu 2122
    hdu 4707 bellman
    sicily 10330. Cutting Sausages
    湖南省2016省赛题。1809: Parenthesis 线段树
    Panoramic Photography
    B. No Time for Dragons 贪心
    The Weakest Sith
    E. The Best among Equals
    Gym 101149I I
    AtCoder D
  • 原文地址:https://www.cnblogs.com/xwgblog/p/5289823.html
Copyright © 2011-2022 走看看