Kotlin 循环、流程控制:if-else、when、for-in

本文深入介绍了Kotlin编程语言中的流程控制结构,包括if-else的使用,when表达式的多种匹配方式,以及循环结构如while、for-in的详细应用。同时展示了如何在循环中使用break、continue以及return来控制流程,并提供了实例代码展示。通过本文,读者将能更好地理解和运用Kotlin的控制流语句。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Kotlin 流程控制

一、kotlin if-else 判断结构

1. if-else 简单判断


val bool = true
if (bool) {
    println("bool is true")
} else {
    println("bool is false")
}


2. if-else-if 判断结构


val score = 85
if (score > 90) {
    println("score > 90,优秀")
} else if (score > 80) {
    println("score > 80,良好")
} else if (score > 60) {
    println("score > 60,及格")
}


3. if 作为表达式返回结果


val score = 85
var result = if (score > 90) {
    "优秀"
} else if (score > 80) {
    "良好"
} else if (score > 60) {
    "及格"
} else {
    "不及格"
}
println(result) // 良好


二、kotlin when 结构语句

1. when 分支结构匹配


val score = 85
val result = when (score) {
	100 -> {
	    "满分"
	}
	60 -> {
	    "刚好及格"
	}
	else -> {
	    "$score,你猜是啥范围"
	}
}
println(result) // 85,你猜是啥范围


2. when-in 范围分支匹配


val score = 85
val result = when (score) {
    in 80..100 -> {
        "超过了一般小朋友"
    }
    in 60..80 -> {
        "及格了哦"
    }
    else -> {
        "不及格"
    }
}
println(result) // 超过了一般小朋友


3. when 条件分支匹配


val score = 85
val result = when {
 	score > 90 -> {
        "优秀"
    }
    score > 80 -> {
        "良好"
    }
    score > 60 -> {
        "及格"
    }
    else -> {
        "不及格"
    }
}
println(result) // 良好


4. when 类型匹配


val anyObj: Any = 100
result = when (anyObj) {
    is Int -> {
        "anyObj is int type"
    }
    else -> {
        "anyObj is other type"
    }
}
println(result) // anyObj is int type


三、kotlin 循环结构

1. kotlin while 循环 :每次执行循环体之前,会先判断循环条件


var count = 0
while (count < 5) {
    count++
    print(count) // 12345
}


2. kotlin do-while 循环:每次执行完一次循环体后再判断循环条件


do {
    count++
    print(count) // 678
} while (count < 8)


3. kotlin for-in 循环


val list = arrayListOf("java", "kotlin", "swift")
for (item in list) {
    println(item)
}


4. kotlin 嵌套循环


val outerList = arrayListOf("outer0", "outer1", "outer2")
val innerList = arrayListOf("inner0", "inner1", "inner2")
for (outer in 0 until outerList.size) {
    for (inner in 0 until innerList.size) {
        println("${outerList[outer]}, ${innerList[inner]}")
    }
}


5. kotlin 使用 break 结束循环


for (i in 0..2) {
    if (i == 1) {
        break
    }
}


6. kotlin 结束外层循环 使用限定符标签 名称随意


outer@ for (outer in 0 until outerList.size) {
    for (inner in 0 until innerList.size) {
        if (inner == 1) {
            break@outer
        }
        println("${outerList[outer]}, ${innerList[inner]}")
    }
}


7. kotlin 使用 continue 跳过本次循环


for (i in 0..2) {
    if (i == 1) {
        continue
    }
    println(i)
}


8. kotlin 跳过外层循环 使用限定符标签 名称随意


outer@ for (outer in 0 until outerList.size) {
    for (inner in 0 until innerList.size) {
        if (inner == 1) {
            continue@outer
        }
        println("${outerList[outer]}, ${innerList[inner]}")
    }
}


9. kotlin 使用 return 结束循环,不论嵌套了多少层


for (outer in 0 until outerList.size) {
    for (inner in 0 until innerList.size) {
        if (inner == 1) {
            return
        }
        println("${outerList[outer]}, ${innerList[inner]}")
    }
}


附 Github 源码:TestControl

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值