Kotlin if else判断
Kotlin的if相对与java,有着较为灵活的用法。
if是用来判断。
if在Kotlin里面可以作为表达式来使用。
如果熟悉C java C#等 A>B:A?B这个判断应该是很熟悉,而Kotlin则是没有。因为if就可以代替了。
好了,我们按顺序学习。
传统判断:
fun main(args:Array<String>) { var x=15
var y=16 println("${x}和${y}两个数比较大的是${Big(x,y)}") } fun Big(x:Int,y:Int):Int { if(x>y) return x else return y }
用法简单易懂。返回两个数的最大数
else
是但if条件不成立的时候就执行esle代码块的东西。
语法:
if(条件) //条件是表达式或者数值 { 代码xxxx } else //当if条件不成立的时候执行else内的代码 { 代码 }
if也可以单独使用。
if(条件) { 代码xxx }
if也可以进行多重嵌套
代码实例:
fun main(args:Array<String>) { var x=27 var y=26 var z=25 println("${x},${y},${z}三个数比较大的是${Big(x,y,z)}") } fun Big(x:Int,y:Int,z:Int):Int { if (x>y) { if(x<z) { return z } else{ return x } } else { if (y>z) { return y; } else { return z } } return y }
这个就是一个if else嵌套。
以上就是if 的单分支 多分支 双分支的用法。
也就是传统的用法。
那么我之前说过 if可以代替: ?这个判断。
而这是什么意思呢?
意思是if可以作为表达式,并且可以将if的结果作为值。不过注意的是if 的作为表达式的时候必须要有else部分代码块。
正好 我看上面这个判断三个数最大值的代码有点长 有点啰嗦。 我们用这个if 可以代替: ?的,可以作为表达式的特性 。来改一下。
代码如下:
fun main(args:Array<String>) { var x=27 var y=25 var z=29 println("${x},${y},${z}三个数比较大的是${Big(x,y,z)}") } fun Big(x:Int,y:Int,z:Int):Int { var Max:Int; Max=if (x>y) x else y Max=if(Max>z)Max else z return Max }
这样子if赋值在java中简直不能想象。
太便利了。
这里面值得注意的是,if(x>y)z 这个地方,是最后的值作为值,来进行赋值。
也就是if(x>y)printl("very Big")z, 作为值的是z,记住是最后一个作为一个值。如果是表达式,那么表达式的值将作为值来进行赋值
fun main(args:Array<String>) { var x=27 var y=25 var z=29 println("${x},${y},${z}三个数比较大的是${Big(x,y,z)}") } fun Big(x:Int,y:Int,z:Int):Boolean { var Max:Boolean Max=if (x>y) x>y else false // Max=if(Max>z)Max else z return Max }
上面的代码 瞎写了一下。
就是让你们看一下啊,if的结果赋值,可以是值,也可以表达式。
总结一下:
if有传统的用法。
if 可以作为表达式
if可以将比较的结果当作值进行赋值。表达式也没有关系。 if赋值的结果是最后位一表达式。
if作为表达式的时候必须要有else代码块。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现