Kotlin控制流指的是什么
发表于:2025-11-11 作者:千家信息网编辑
千家信息网最后更新 2025年11月11日,本篇文章给大家分享的是有关Kotlin控制流指的是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Kotlin中的控制流用于流程控制的
千家信息网最后更新 2025年11月11日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) //1if作为表达式使用
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安全错误
数据库的锁怎样保障安全
长春软件开发行业怎么样
预防网络安全主题绘画
蛋白质基因表达数据库
购买视频直播app服务器
sql数据库有表的集合组成
双数据库作用是什么
巴里卡卡网络技术有限公司
软件开发项目的可交付成果
网络技术面相那些工作
数据库中的学号
bt条码编辑软件数据库
南通零零贰网络技术
c 软件开发经验
形容网络技术有限公司的词
湖南趣钰网络技术有限公司
ass数据库转换mysql
哪些城市服务器机房多
计算机服务器的税收编码
基础地理信息系统数据库建设情况
网络安全随行
运吉网络技术有限公司
北京云核网络技术有限
软件开发人月成本估算方法
无线通讯及异构网络技术
国外的服务器安全么
网络安全法律法规知识培训
寻找网络技术方面的工作
远超服务器
全国网络安全大赛辅导
服务器自动播放视频