Kotlin-控制流程

📑前言

本文主要是【Kotlin】------Kotlin-控制流程的文章,如果有什么需要改进的地方还请大佬指出⛺️

🎬作者简介:大家好,我是听风与他🥇

☁️博客首页:CSDN主页听风与他

🌄每日一句:狠狠沉淀,顶峰相见

目录

1.If 表达式

kotlin 复制代码
fun main(){
    println("max of 0 and 1 is ${maxOf(0,1)}")
    println("max of 0 and 1 is ${maxOf1(0,1)}")
}
fun maxOf1(a:Int,b:Int) = if(a>b) a else b
fun maxOf(a:Int,b:Int):Int{
    if (a > b){
        return a
    }else{
        return b
    }
}

2.when表达式

kotlin 复制代码
fun main(){
    println(describe(1))
    println(describe("hello"))
    println(describe(2))
    println(describe(3L))
}
fun describe(obj:Any):String=
    when(obj){
        1 -> "one"
        "hello" -> "Greeting"
        is Long -> "Long"
        !is String -> "Not a string"
        else  -> "Unknown"
    }

3.for循环

kotlin 复制代码
fun main(){
    val items = listOf("apple","banana","orange")
    for (item in items){
        println(item)
    }
}

4.while循环

kotlin 复制代码
fun main(){
    val items = listOf("apple","banana","orange")
    var i = 0
    while (i < items.size){
        println("$i is ${items[i]}")
        i++
    }
}

5.返回与 跳转

Kotlin有三种结构化跳转表达式:

  • return 默认从最直接包围它的函数或者匿名函数返回。
  • break 终止最直接包围它的循环。
  • continue 继续下一次最直接包围它的循环

1.break

在 Kotlin 中任何表达式都可以用标签来标记。 标签的格式为标识符后跟 @ 符号,例如:abc@fooBar@。 要为一个表达式加标签,我们只要在其前加标签即可。

  • break跳出loop@所在的循环
kotlin 复制代码
    loop@ for (i in 1..100){
        for (j in 1..100){
            if(j==2){
                println("i:$i")
                break@loop
            }
        }
    }

2.continue

  • continue继续loop@所在语句的下一条语句
kotlin 复制代码
fun main() {
    loop@  for (i in 1..5) {
            if (i > 2) {
                continue@loop
            }
            println("i:$i")
    }
}

📑文章末尾

相关推荐
qq_124987075328 分钟前
基于Java Web的城市花园小区维修管理系统的设计与实现(源码+论文+部署+安装)
java·开发语言·前端·spring boot·spring·毕业设计·计算机毕业设计
froginwe111 小时前
Python 条件语句
开发语言
七夜zippoe1 小时前
Python统计分析实战:从描述统计到假设检验的完整指南
开发语言·python·统计分析·置信区间·概率分布
2601_949146531 小时前
Python语音通知API示例代码汇总:基于Requests库的语音接口调用实战
开发语言·python
3GPP仿真实验室1 小时前
【Matlab源码】6G候选波形:OFDM-IM 索引调制仿真平台
开发语言·matlab
darling3311 小时前
mysql 自动备份以及远程传输脚本,异地备份
android·数据库·mysql·adb
Coder_Boy_1 小时前
基于SpringAI的在线考试系统-企业级教育考试系统核心架构(完善版)
开发语言·人工智能·spring boot·python·架构·领域驱动
你刷碗1 小时前
基于S32K144 CESc生成随机数
android·java·数据库
2301_765703141 小时前
C++中的代理模式变体
开发语言·c++·算法
咚为1 小时前
Rust tokio:Task ≠ Thread:Tokio 调度模型中的“假并发”与真实代价
开发语言·后端·rust