Android Kotlin入门-控制流

正文:

If Expression

在KotLin,if是一个表达式,它将会有返回值,所以不会存在三元运算符的表达形式
 //传统模式
        var a = 1;
        var b = 2;
        var max: Int
        if(a>b)
            max = a
        else
            max = b
        System.out.println("max的值为:"+max)

//作为一个表达式
        val max1 = if(a>b) a else b
当if分支也是一个块的时候,则该块的最后一个表达式是这个分支的值
//当if分支也为块的时候
        val max2 = if(a > b){
            System.out.println("得到了a")
            a
        }else{
            System.out.println("得到了b")
            b
        }
        System.out.println("max2的值:"+max2)

When Expression

when语句替代了switch语句
var x : Int =3
        when(x){
            1 -> System.out.println("你选择了1")
            2 -> System.out.println("你选择了2")
            else ->{
                System.out.println("你选择了其它")
            }
        }
        //打印你选择了其它
如果多个分支处理相同的事件,可以将多个分支用逗号隔开
var x : Int = 3
        when(x){
            0,1 -> System.out.println("x == 0 or x==1")
            else -> System.out.println("其它")
        }
        //打印:其它
我们的分支不仅可以是常量也可以是表达式
var x: Int = 3
        var y: Char ='3'
        when(x){
            parseInt(y) -> System.out.println("x是3")
            else -> System.out.println("x不是3")
        }
    fun parseInt(ch: Char): Int{
        return ch.toInt() - '0'.toInt()
    }
我们可以用in或者!in来判断一个值是在不在一个范围或者一个集合内
var x : Int = 13
        when(x){
            in 1..10 -> System.out.println("x在这1-10的范围内")
            !in 10..20 -> System.out.println("x不再10-20之内")
            else -> System.out.println("以上条件都不满足")
        }
        //打印:x不再10-20之内
我们可以用is或者!is来判断一个值是不是某个类型,当条件为true的时候则执行该事件并退出when语句
var y : String = "prefix12"
        val hasPrefix = when(y){
            is String -> y.startsWith("prefix")
            else -> false
        }
        System.out.println("得到的结果为:"+hasPrefix)//打印:true

For Loops

//第一种方式是遍历数据中的值
        var arr : Array<Int> = arrayOf(11,21,13,14,15)
        for(item in arr){
            System.out.println("遍历数组中的值为:"+item)
        }

        //第二种方式是遍历数组中的索引
        for(i in arr.indices)
            System.out.println("返回数组中有效索引的位置:"+i)


        //第三种方式是遍历数组中的索引和值
        for((index,value) in arr.withIndex()){
            System.out.println("得到的key:$index 相应的value:$value")
        }

While Loops

while (x > 0) {
  x--
}

do {
  val y = retrieveData()
} while (y != null) // y is visible here!

Break and continue in loops

        var arr : Array<Int> = arrayOf(11,21,13,14,15)
        for(item in arr){
            if(item == 11)
                continue
            System.out.println("Item的值:"+item)
        }
        /*
            打印:
            Item的值:21
            Item的值:13
            Item的值:14
            Item的值:15
         */

var arr : Array<Int> = arrayOf(11,21,13,14,15)
        for(item in arr){
            System.out.println("item的值:"+item)
            break
        }
        //打印:item的值:11


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值