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

📑文章末尾

相关推荐
小丁爱养花4 分钟前
前端三剑客(三):JavaScript
开发语言·前端·javascript
生信摆渡19 分钟前
R语言-快速对多个变量取交集
开发语言·数据库·r语言
¥ 多多¥32 分钟前
c++中mystring运算符重载
开发语言·c++·算法
Mr.Pascal37 分钟前
刚学php序列化/反序列化遇到的坑(攻防世界:Web_php_unserialize)
开发语言·安全·web安全·php
小尤笔记1 小时前
利用Python编写简单登录系统
开发语言·python·数据分析·python基础
秦老师Q1 小时前
Java基础第九章-Java集合框架(超详细)!!!
java·开发语言
计算机毕设源码qq-38365310411 小时前
(附项目源码)Java开发语言,215 springboot 大学生爱心互助代购网站,计算机毕设程序开发+文案(LW+PPT)
java·开发语言·spring boot·mysql·课程设计
无尽的大道1 小时前
深入理解 Java 阻塞队列:使用场景、原理与性能优化
java·开发语言·性能优化
建群新人小猿1 小时前
会员等级经验问题
android·开发语言·前端·javascript·php
007php0071 小时前
GoZero 上传文件File到阿里云 OSS 报错及优化方案
服务器·开发语言·数据库·python·阿里云·架构·golang