一、变量与控制条件
1、var与val
var:可修改变量
val:只读变量,只读变量并非绝对只读。
编译时常量只能在函数之外定义,因为函数内常量是在运行时赋值,编译时常量要在变量赋值前存在。并且值是无法修改的。
kotlin
const var MAX = 100
不使用类型推导的方法:
kotlin
val j:Int = 0;
2、range表达式 in与until
2.1 左闭右闭区间
用于指定一个数据的区间范围,该区间范围是一个双端闭区间。
kotlin
var age = 5;
if(age in 0..3){
println("符合");
}else if (age in 4..6){
println("不符合")
}
kotlin
var age = 5;
if(age !in 0..3){
println("符合");
}
2.2 左开右闭区间
那么如果此时我们需要一个左闭右开区间应该怎么做?
我们可以使用until
关键字代替。
kotlin
val range = 0 until 10
3、when表达式
格式:
匹配值 -> { 执行逻辑 }
kotlin
val school = "0学";
val level = when(school){
"幼儿园" -> "幼儿"
"小学" -> "青年"
else -> {
println("未知");
}
}
println(level);
4、string模板
添加在**${}**中的任何表达式都会作为字符串求值的一部分。
php
val orgin = "orgin"
val end = "end"
println("$orgin and $end")
val flag = false
println("Answer is ${if(flag) "我可以" else "对不起"}")
5、for-in与for-until、for-downTo
5.1 for-in
基本格式:
for(变量 in 区间)
使用in进行循环相当于一个左闭右闭区间
我们发现他相当于i++
这样的方式递增,那么我们应该如何实现i+=2
?
我们可以使用step 关键字实现指定递增,这样就相当于i+=2
kotlin
val i = 0;
for(i in 0..10 step 2){
print("$i ")
}
5.2 for-until
使用until相当于一个左闭右开区间。
5.3 for-downTo
我们使用until
关键字只能创建升序的一个区间,此时我们需要个降序的区间的话就需要一个新的关键字------downTo,用法如下: