Kotlin控制流指的是什么
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,本篇文章给大家分享的是有关Kotlin控制流指的是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Kotlin中的控制流用于流程控制的
千家信息网最后更新 2025年02月23日Kotlin控制流指的是什么
本篇文章给大家分享的是有关Kotlin控制流指的是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
Kotlin中的控制流用于流程控制的表达式如if、when、for、while
If表达式
Kotlin中,if是一个表达式,它会返回一个值。它可以用来替代三元运算符(条件?然后:否则)
if
var a = 1var b = 2var max = aif(b > a) max = b println(max) //2
if else
var min: Intif(a < b){ min = a}else{ min = b}println(min) //1
if作为表达式使用
var max2 = if(a > b) a else bprintln(max2) //2
if的分支可以是代码块,最后的表达式作为返回值
var max3 = if(a > b){ println("a > b") a}else{ println("a < b") b}println(max3) //2
注意如果if作为表达式则必须有else分支
if的一些习惯用法
//if not nullvar str1: String? = "Hello Kotlin!" //?表示该类型可为nullprintln(str1?.length) //当str1变量不为null时访问length属性//if not null and elsevar str2: String? = "str"println(str2?.length ?: "null") //当str2变量不为null时访问length属性,否则返回"null"//if null执行一条语句var str3: String? = nullstr3?:println("str3 is null") //当str3变量为null时执行//if not null执行一段代码var str4: String = "111"str4?.let { //当str4变量不为null时执行{}里面的语句 println("str4 is not null") println("$str4.length is ${str4.length}")}
when表达式
when表达式取代了switch,最简洁的语法如下
var x = 1when(x){ 1 -> println("x = 1") 2 -> println("x = 2") else -> println("x is nether 1 or 2")}
多个匹配值使用同一方式处理
when(x){ 1, 2 -> println("x = 1 or x = 2") else -> println("otherwise")}
进行区间判断
var num = 10when(num){ in 1..10 -> println("num is between 1 and 10") !in 1..10 -> println("num is not between 1 and 10") else -> println("num is out of range")}
使用when替代if
var a = 1var b = 2when{ a > b -> println(a) a < b -> println(b)}
when作为表达式使用
var str: Any = ""var type = when(str){ is Int -> "int" is String -> "String" else -> "other"}println(type) //String
注意when作为表达式必须有else分支
for循环
for循环可以对任何提供迭代器对象进行遍历,相当于其他语言的foreach
遍历范围
for(i in 1..10){ println(i) //1,2,3,4,5,6,7,8,9,10}
until半开区间,表示不包括10
for(i in 1 until 10){ println(i) //1,2,3,4,5,6,7,8,9}
指定遍历的增长量
for(i in 1..10 step 2){ println(i) //1,3,5,7,9}
遍历数组
var strs: Array= arrayOf("one", "two", "three")for(str in strs){ println(str)}
对数组的 for 循环会被编译为并不创建迭代器的基于索引的循环,如下图为上述代码反编译后的结果
如果想通过索引遍历使用indices
for(i in strs.indices){ println(strs[i])}
或者使用withIndex函数
for((index, value) in strs.withIndex()){ println("the element at $index is $value")}
在循环中使用break和continue
for(i in 1..10){ if(i >= 5) break //跳出当前循环 if(i % 2 != 0) continue //结束本次循环进行下一次循环 println(i) //print: 2,4}
while循环和do while循环
和大多数语言一样这两种循环没什么变化
while循环
var i: Int = 10while(i > 0){ println(i) i--}
do while循环
var a: Int = 10do{ println(a) a--}while(a > 0)
以上就是Kotlin控制流指的是什么,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。
循环
表达式
控制
变量
代码
分支
属性
数组
更多
知识
篇文章
索引
语句
语言
迭代
实用
简洁
没什么
函数
区间
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
黄浦区专业软件开发哪家好
运维服务软件开发方案
酒店要办网络安全许可证
广东服务器托管
程序员软件开发与系统维护
学校网络安全工作规程
我的世界原版服务器多人生存推荐
劳动节 网络安全
我的世界多人中世纪服务器整合包下载
服务器应用程序哪个好
淄博智能养老软件开发专业制作
明日之后服务器崩溃图片
复旦大学网络技术协会
网络安全法自何时起执行
服务器安全狗上不了网
utf-8 数据库
迁移mysql数据库
软件开发在郑卅能拿多少工资
徐汇区互联网软件开发厂家职责
淮北app软件开发哪家好
西门子网络安全大赛
oracle数据库创建用户
管家婆重装系统数据库
数字经济服务器一哥
软件开发顶岗实习周报
上海网业网络技术有限公司
交通运输局网络安全应急演练方案
日本软件开发带团队
网络技术员考核细则
数据库自查报告