【Kotlin学习日记】Day6:控制流程

作者: William李梓峰 | 来源:发表于2017-06-22 00:20 被阅读89次

大家好,欢迎加入小李君的Kotlin学习之旅。今天是小李君学习 Kotlin 的第六天。

Control Flow - 控制流程

学习链接:

if 表达式

if 有两种用法,一种是传统的 statement 代码段,另一种是 expression 表达式。特别注意的是,表达式的用法必须有 else ,因为 kotlin 不允许隐蔽地传空值。BTW,三目运算符被 if 表达式给替代了。

when 表达式

when 有两种玩法,一种是类似 switch case 的,另一种是作为 if-else-if 的替代品。

当作为 switch case 使用的时候,when 后面括号紧跟一个输入变量,并匹配该变量直到为 true 后,执行相应 statement。当所有的条件都不满足该变量时,则执行 else 所对应的 statement。此时的 else 相当于 switch case 的 default。

when,还可以支持 or 条件判断。这个在 java 来看是不太可能会发生的事情。

when,还可以使用任意表达式来判断;这里写的 expression,我认为应该是 statement 代码段,只要不抛出异常,就不会执行 else。

when,还可以支持 in + 数组 这种表达式判断。不过我猜应该会用的很少。

when,还可以作为表达式本身,把结果直接赋值给函数。

当作为 if-else-if 来使用的时候,when 没有紧跟一个输入变量,这种会相当常用。当很多老工程师用职责链模式或者其他新的设计模式去优化 if-else-if 这些臃肿的判断体的时候,小李君表示,干嘛不学 Kotlin 呢。

For 循环

for (val item in someArray) {
      // do what you want
}

for 循环其实没什么特别的地方。还是老样子,foreach。

只是 array 类型提供了很多自带的函数,让 array 的玩法多了起来。

withIndex() 到底返回了什么鬼?
感觉像 Map,老外总是喜欢卖关子,小李君表示今晚又会睡不着了啊。

while 循环

while 循环还是老样子,几十年不变,任何语言都无法抗拒 while 循环。

画画重点

  • when

-- 完 --

相关文章

  • Kotlin学习之流程控制

    Kotlin学习之流程控制 @(Kotlin学习) Kotlin的流程控制,可以分为条件语句和循环语句。 一、条件...

  • 【Kotlin学习日记】Day6:控制流程

    大家好,欢迎加入小李君的Kotlin学习之旅。今天是小李君学习 Kotlin 的第六天。 Control Flow...

  • Kotlin流程控制语句笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

  • Kotlin泛型笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

  • Kotlin与Java互操作笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

  • Kotlin协程笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

  • Kotlin空指针安全(null-safety)笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

  • Kotlin函数式编程笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

  • Kotlin面向对象编程笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

  • Kotlin类型系统笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

网友评论

本文标题:【Kotlin学习日记】Day6:控制流程

本文链接:https://www.haomeiwen.com/subject/cicxcxtx.html