第三篇:Kotlin之流程控制

上篇:第二篇:Kotlin之运算符和表达式

下篇:第四篇:Kotlin之数组和集合

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

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


第三篇:Kotlin之流程控制_第1张图片

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

第三篇:Kotlin之流程控制_第2张图片

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

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

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

第三篇:Kotlin之流程控制_第3张图片

    还有就是关于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的使用就可以了。

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

你可能感兴趣的:(第三篇:Kotlin之流程控制)