Kotlin之流程控制

    说起流程的话,相信学过java的小伙伴么都知道for, while, do while,  switch等流程控制。在此我也不做过多的解释了。在这里我主要会介绍kotlin对于when这个语法糖的用法。其实kotlin的流程控制除了java的一些外,主要就是for in 和when的介绍,不过我在前边已经介绍完了for in的用法,所以在这里不会做过多的介绍了,如有对for in有疑虑的朋友请看前几篇文章。

kotlin的when其实就是对java的switch的一个升级。




    对比一下kotlin和java的when和switch的用法,其实基本上差不多的。 kotlin不需要写case了之后用else代替了default。在when中会执行”B"所指向的方法体,我们也发现了在kotlin没有写break跳出循环。难道它也会像switch那样不写break的话会接着执行下一个case进行比较么?不是的,这个when的结果是只会执行”比较B"是否相等并且输出“B"的花括号里的内容后跳出当前when。那么有小伙伴会有这样的疑虑,如何像java一样不写break的话会执行多个呢。


了解switch的朋友都知道java的switch 的case不能写表达式这种。但是Kotlin并不是这样的。


有人会问 is是什么鬼, 其实kotlin的is就是java的instanceof这样应该就明白了吧!

break,continue的用法和java一样,唯独是指定位置,进行跳出用name + @,continue也同样。


    还有就是关于as的用法, as就是用来强制类型转换的。其实就是相当于android里边的对findviewbyid进行强制  text = findViewById(R.id.txt) as TextView

    在kotlin的中 其实as是不安全转换,因为kotlin为了避免像java一样出现“NPE”空指针异常进行了null指针的处理,同样对as也进行了处理。 如果 一个null类型转换成其他类型用as肯定会报错的,但是如果使用 a as?b,即使a是null类型也不会报错的,结果会给你返回一个null。所以说as是不安全的转换, as?是安全转换。

    在这里我认为Kotlin流程控制学会这些就可以了。因为和java基本一样。不一样的就是for in的用法和when的用法,最后呢 带着了解 is 和 as的使用就可以了。

 感觉还不错的小伙伴记得点赞或者关注啊~~~

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值