Kotlin编程之if语句,while循环,when表达式,for循环
Kotlin编程相关知识点介绍:
- Kotlin编程之使用Intellij IED和了解源文件(.kt)
- Kotlin编程之类的介绍和使用
- Kotlin编程之类的属性
- Kotlin编程之方法
- Kotlin编程之父类和继承父类
- Kotlin编程之接口和实现接口
- Kotlin编程之伴生对象,抽象类,密封类
- Kotlin编程之嵌套类,内部类,匿名内部类
- Kotlin编程之对象的表达式和声明
- Kotlin编程之扩展方法
- Kotlin编程之扩展属性和扩展伴生对象
- Kotlin编程之泛型
If语句
在Kotlin编程中,没有Java中三元运算符(condition ? then : else)
,但是通过if语句一样可以实现相同的效果。
package com.xingen.kotlin.day2017529.pm
fun main(args: Array<String>) {
println(test1(1))
test2(-1)
}
/** * if 语句作来实现Java 中三元运算符(condition ? then : else)的效果, * 但是必须要有else分支。 * * Kotlin编程中没有三元运算符。 */
fun test1(i: Int): Int {
var v = if (i > 0) i else 0 //可以理解为if(i>0) { i} else { 0 },if 语句中单个表达式时候,大括号可以省略。
return v
}
/** * if表达式作为块,可以包含其他表达式,但最后一个表达式是该块的值。 */
fun test2(i: Int) {
var v = if (i > 0) {
println("i的值大于0")
i
} else if (i==0) {
println("i的值等于0")
0
}else{
println("i的值小于0")
i
}
}
输出结果:
1
i的值小于0
可知:
- if可以作为语句也可以作为表达式。当 if不作为语句,而是表达式,将返回值赋值给变量,则必须要else分支。
- if表达式可以实现三元运算符效果,具备返回值,然后赋值给变量。
- if表达式作为块,可以包含其他表达式,但最后一个表达式是该块的值。
when语句
在Kotlin编程中,可以使用when
语句实现Java中switch
语句,和if else if
语句的效果。
package com.xingen.kotlin.day2017529.pm
fun main(args: Array<String>) {
test3(4)
}
/** * when表达式有参数:实现switch()语句效果 * when表达式无参数: 实现if -else if-else语句效果 */
fun test3(obj: Any): String {
var v=when(obj){
1->"1" //是否等于1
in 2..3->"2到3区间内" //是否在2到3的范围内
is String->"字符串类型" //是否是String类型数据
else->{
println("默认情况,默认返回0")
"0"
}
}
return v
}
输出结果:
默认情况,默认返回0
可知:
- when会对所有的分支进行检查直到有一个条件满足。when 可以用做表达式或声明。如果用作表达式的话,那么满足条件的分支就是总表达式。如果用做声明,那么分支的值会被忽略。(像 if 表达式一样,每个分支是一个语句块,而且它的值就是最后一个表达式的值)
- when表达式有参数:实现switch()语句效果
- when表达式无参数: 实现if -else if-else语句效果
注意点: when语句与密封类可以一起使用,而不需要写else分支。
for循环语句
package com.xingen.kotlin.day2017529.pm
fun main(args: Array<String>) {
test4(listOf("1","2","3"))
}
/** * for 循环 */
fun test4(list: List<String>){
//for()中的条件等同于 i in list.indices,采取判断角标是否在某个数值区间内。
for (i in 0..list.lastIndex){
println("集合中$i 角标的数据是:"+list[i])
}
//类似java中增强for循环
for (item in list){
println("每次遍历的数据是:"+item)
}
//迭代器中的索引和对应值
for ((index,values) in list.withIndex()){
println("使用withIndex方式:集合中$index 角标的数据是:$values")
}
}
输出结果:
集合中0 角标的数据是:1
集合中1 角标的数据是:2
集合中2 角标的数据是:3
每次遍历的数据是:1
每次遍历的数据是:2
每次遍历的数据是:3
使用withIndex方式:集合中0 角标的数据是:1
使用withIndex方式:集合中1 角标的数据是:2
使用withIndex方式:集合中2 角标的数据是:3
可知:
for循环遍历输出有多种方式:
- 索引值在某个范围的变量,通过索引获取值
- 遍历值,类似java中增强for循环
- 迭代器方式,获取索引和值
while和do..while
在Kotlin编程中,do..while语句和while语句和Java编程中类似。
package com.xingen.kotlin.day2017529.pm
fun main(args: Array<String>) {
test5(2)
}
/** * while语句和do...while语句 */
fun test5(i: Int){
var index=i
//再利用do...while循环输出到0
do {
println("do while语句每次输出index的值:$index")
index --//自减
}while (index>0)
//先利用while恢复到原本值
while (index<=i){
println("while语句每次输出index的值:$index")
index++//自增
}
}
输出结果:
do while语句每次输出index的值:2
do while语句每次输出index的值:1
while语句每次输出index的值:0
while语句每次输出index的值:1
while语句每次输出index的值:2
还没有评论,来说两句吧...