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")
    }
}

📑文章末尾

相关推荐
笨拙的老猴子11 分钟前
[特殊字符] Java GC机制详解:G1、ZGC、Shenandoah全面解析与版本演进对比
java·开发语言
水木流年追梦14 分钟前
大模型入门-Reward 奖励模型训练
开发语言·python·算法·leetcode·正则表达式
电子云与长程纠缠36 分钟前
UE5制作六边形包裹球体效果
开发语言·python·ue5
砍材农夫42 分钟前
物联网 基于netty构建mqtt协议规范(遗嘱与保留消息)
java·开发语言·物联网·netty
froginwe111 小时前
Python3 迭代器与生成器
开发语言
xiaoshuaishuai81 小时前
C# 签名异常与Gas预估失败调试方案
开发语言·网络·tcp/ip·c#
xiaoshuaishuai81 小时前
C# Gemini 辅助网络安全漏洞分析
开发语言·web安全·c#
念恒123061 小时前
Python(循环中断)
开发语言·python
社交怪人1 小时前
【数字对调】信息学奥赛一本通C语言解法(题号2070)
c语言·开发语言
hef2881 小时前
C语言中char指针与数组的区别及应用
c语言·开发语言