👉关于作者
众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣 !!!
专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)
有什么需要欢迎私我,交流群让学习不再孤单。
👉前提
当前环境
2021年10月8日最新下载2020.3.1 Patch 2 版本
👉实践过程
😜条件语句
基本所有的编程语言都通用,这一点差别没有【if】【else】【else if】。
只不过多了一点就是可以直接将条件语句if前面赋值。前提是返回的类型一致。
var TempTwo = 10; var TempThree = if (TempTwo == 10) { "返回的相等" } else { "返回的不等" } Log.e("TAG", "芝麻粒儿输出9: $TempThree") 复制代码
Kotlin中没有switch用法,而是when语法,其中else就类似switch的default,其他分支不满足走这个else,而如果是多个判断相同的处理,Java的switch中是去掉break,when是直接用逗号分割。
var TempFour = 8; when (TempFour) { in 1..5 -> { Log.e("TAG", "芝麻粒儿输出10: 可以只用in 判断是否在一个区间内") } 2,3,4->{ Log.e("TAG", "芝麻粒儿输出10: 变量2或3或4都走这") } 5 -> { Log.e("TAG", "芝麻粒儿输出10: 她会判断是5还是8") } 8 -> { Log.e("TAG", "芝麻粒儿输出10: 变量是8所以走着") } else -> { Log.e("TAG", "芝麻粒儿输出10: 上面都不走走着,类似switch的default") } //判断的类型需要和when括号里面的一致 //"如果是字符"->{} } 复制代码
唉,关于when的用法还有一些,感觉使用概率不大就不提了,但是这是个重点哦。题外话:整的花里胡哨的,感觉不如Java易懂。洁是洁了,但并不简单啊,还得想一会才能搞明白意思。
😜循环控制
循环是代码中用的很频繁的一种控制了,在Kotlin中循环虽然也是for关键字,但里面的自增自减有很大不同
var listThree = arrayListOf<String>() listThree.add("这是") listThree.add("数组") listThree.add("List") for (idnex in 1 until 10) { //这是1-10循环 等同于for (int i = 1; i < 10; i++) } for (idnex in 10 downTo 1) { //这是1-10循环 等同于for (int i = 10; i >0; i--) } for (idnex in 1..10) { //这是1-10循环 等同于for (int i = 1; i <= 10; i++) } for (index in 1..10 step 2) { //这是循环以2自增for (int i = 1; i <= 10; i+=2) } for (intss in listThree) { Log.e("TAG", "芝麻粒儿循环: $intss") } for (intss in listThree.indices) { //得到的是角标位置index Log.e("TAG", "芝麻粒儿循环: " + listThree[intss]) } 复制代码
while 与 do...while 循环和Java没有什么不同。
返回和跳转
支持Java中return break continue这些。语法也没差异,但是多了个标签功能,也就是break continue可以跳转到你指定的循环,比如某个五循环的嵌套,默认break continue这些只能返回当前循环,但是用上标签她们可以任意的跳出向上的循环:比如直接跳出所有循环。
标签是以你随便起名+@符号组成的
如下:
one@ for (i in 1..100) { Log.e("TAG", "芝麻粒儿循环i: $i") two@ for (j in 1..100) { if (j > 2) { Log.e("TAG", "芝麻粒儿循环j: $j") //当满足j>2的时候,break因为是@one,则直接跳出这两个循环 break@one } } } 复制代码
仅仅输出这两个:
2021-10-13 17:08:29.820 10437-10437/cn.appstudy E/TAG: 芝麻粒儿循环i: 1
2021-10-13 17:08:29.820 10437-10437/cn.appstudy E/TAG: 芝麻粒儿循环j: 3
👉其他
📢作者:小空和小芝中的小空
📢转载说明-务必注明来源:
https://www.zhihu.com/people/zhimalier
https://juejin.cn/user/4265760844943479
📢这位道友请留步☁️,我观你气度不凡,谈吐间隐隐有王者霸气💚,日后定有一番大作为📝!!!旁边有点赞👍收藏🌟今日传你,点了吧,未来你成功☀️,我分文不取,若不成功⚡️,也好回来找我。