Kotlin 流程控制
来源:互联网 发布:程序员一般用什么键盘 编辑:程序博客网 时间:2024/05/16 07:16
if语句,相比java,多了有一个返回值
var age = 26; if (age < 30) { Log.d("------>", "$age <30"); }
var a=10; var b=11; var max=if(a>b) a else b;
也可以是代码块返回值
var a = 10; var b = 11; var max = if (a > b) a else b; var max2 = if (a > b) { Log.d("------>", "bigger a"); a; } else { Log.d("------>", "bigger b"); b;<a target=_blank href="http://mail.163.com/js6/main.jsp?sid=gBxCpiYcVXDnJYefgBccrXTtMWPeCByK#module=mbox.ListModule%7C%7B%22filter%22%3A%7B%22flags%22%3A%7B%22read%22%3Afalse%7D%7D%2C%22order%22%3A%22date%22%2C%22desc%22%3Atrue%2C%22fids%22%3A%5B1%2C3%2C18%2C257%5D%7D">邮箱163</a> }
when 表达式:
与java的switch case default语句十分相似
区别或者说强大之处:
1:可以分子条件聚合在一起
2:可以任意表达式作为分支的条件
val k:Int = 1; when (k) { 1 -> Log.d("---->", "1"); 2 -> Log.d("---->", "2"); else -> Log.d("---->", "default"); } val j:Int = 2; when (j) { 1, 2 -> Log.d("---->", "1 or 2"); else -> Log.d("---->", "default"); }
比较牛逼的一点,可以结合in和!in函数(是检查是否输入某个range)
例子:
val i:Int = 2; when(i) { in 1..10-> Log.d("----->","在1->10范围之类"); else-> Log.d("----->","不在1->10范围之类"); }
循环 for 前面已经分享了,这里分享一下do while的特殊之处:
do代码块中的变量while可以访问
do{ var m=1; Log.d("----->","m:$m"); }while(m<1);
is 函数 类似于java的instance 检查类型 返回bool 类型 可以用!取反
var name = "xuan"; if (name is String) { Log.d("----->", "String"); }
break continue 除了像java一样运用,也可以为循环语句添加一个标识 用@号表示 方便跳到指定地点
break@标识 return@标识
loop@ for(i in 1..10) { for(j in 1..5) { if(j>2) break@loop; Log.d("----->","$i*$j="+i*j); } }
结果:
03-26 20:44:10.976 25391-25391/com.xuan.kotlinapp D/----->: 1*1=1
03-26 20:44:10.976 25391-25391/com.xuan.kotlinapp D/----->: 1*2=2
1 0
- Kotlin 流程控制
- Kotlin流程控制
- Kotlin 流程控制
- Kotlin------流程控制语句
- Kotlin中的流程控制语句
- Kotlin基础教程-流程控制语句
- Step into Kotlin - 05 - 流程控制
- Kotlin-06.控制流程(control flow)
- Kotlin简明学习—流程控制
- Kotlin 初窥门径[2]-流程控制
- [Kotlin]Kotlin学习笔记(二):Kotlin中流程控制语句的学习(条件、跳转、循环)
- Kotlin-Android世界的一股清流-流程控制
- kotlin中的流程控制(判断和循环)
- kotlin中的流程控制补充(判断和循环)
- kotlin开发Android入门篇二流程控制
- Kotlin-1.3-控制流程(if, when, for, while)
- Kotlin学习笔记2-3 基础-流程控制语句
- Kotlin学习三之函数和包的定义和流程控制
- Eclipse连接hadoop集群配置,亲测有效!
- UVa 11464 偶数矩阵 枚举
- 作用域链
- int转换成二进制字符串
- 如何搭建Jenkins持续集成测试环境
- Kotlin 流程控制
- [容斥+lucas] LightOJ 1124 - Cricket Ranking
- 读取、创建Json格式数据
- 文件的上传与下载
- hdu1465不容易系列之一
- Kaggle Titanic: Machine Learning from Disaster 一种思路
- Spring:关于ApplicationContext
- ForkJoin框架
- ffplay相关函数