您的位置:首页 > 其它

Step into Kotlin - 05 - 流程控制

2015-06-30 12:48 579 查看
目录

流程控制
条件表达式

循环
while 和 do-while

for
基本使用

用于字符串上

Range
概述

If

For

break 和 continue

摘要

if,for,Range 操作(指定步长,逆序,递减)

流程控制

条件表达式

if/else
结构与 Java 类型,不过由于 Kotlin 面向表达式,所以可以直接将表达式赋给一个变量。

val s = if (x > 0) 1 else -1


这种方式可以给常量赋值,有点类似 Java 中的三元操作符,此时 s 的类型为 Int

如果是下面这种混合型的,s 的类型就为 Any

val s = if (x > 0) "a" else 65


因为 Kotlin 中表达式都必须有值,所以如果没有
else
的话,需要引入 Unit 类

val s3: Any = if (x > 0) 1 else Unit


Kotlin 在 if 语句块的最后可以自动返回最后一行表达式的值,而不需要写
return
语句

val max = if (1 < 2) {
println("a")
2
} else {
println("b")
1
}


循环

while 和 do-while

Kotlin 中的
while
do-while
类似 Java

for

基本使用

val arr = intArrayOf(1, 2, 3)
for ( a in arr) {
println(a)
}


用于字符串上

for (s in "Hello")
print(s)


Range

概述

Range 使用特殊符号
..
表示,可以结合 if 和 for 语句使用。

If

在指定范围内

val x = 3
val y = 10
if (x in 1..y - 1)
println("OK")
else
println("OUT")


在指定范围外

val arr = intArrayOf(1, 2, 3, 4, 5)
if ( x !in 0..arr.lastIndex)
println("OUT")


也可结合 String 来使用

val str = "abcdef"
if (str in "abc".."abe") {
println(str)    //  abcdef
}


For

for (x in 1..n)
println(x)


此表达式表示让变量
i
遍历
in
右边的表达式的所有值 ( “1” 到 “n” )

变量
i
不需要事先定义,循环变量的作用域会一直持续直到循环结束。

除了基本的关键字
in
之外,也可以使用
step
控制步长,使用
downTo
进行递减操作。

for (z in 4 downTo 1)
print(z)    //  4321

for (z in 1..4 step 2)
print(z)    //  13

for (z in 4 downTo 1 step 2)
print(z)    //  42

for (z in (1..4).reversed())
print(z)    //  4321


break 和 continue

Kotlin 提供
break
continue
来退出循环,用法与 Java 相似。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: