Step into Kotlin - 05 - 流程控制

目录

摘要

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 中的 whiledo-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 提供 breakcontinue 来退出循环,用法与 Java 相似。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值