fun vall() {
//一次赋值(只读)的局部变量,为赋值提示“Property must be initialized or be abstract”val a: Int = 1//立即赋值val b = 2//自动推断出‘Int’类型
var c: Int //如果没有初始值类型不能省略
c = 3// 明确赋值Int类型
println("a=" + a + " b=" + b + " c=" + c)
}
when (x) {
1 ->print("x == 1")
2 ->print("x == 2")
else -> { // 注意这个块(如果 when 作为一个表达式使用,则必须有 else 分支)
print("x is neither 1 nor 2")
}
}
在检查过变量具有某种类型之后不必显示地转换它的类型:编译器使用智能转换自动完成。
//当if条件中检测到p是Int类型,下面的功能代码中,在使用p时就不要在进行转换。
fun func2(p: Any): Int {
if (p is Int) {
return p
} else {
throw TimeoutException("The value is not number!")
}
}
// 以上函数可以用下面更简洁的方式实现
fun func(p: Any): Int = p as? Int ?: throw TimeoutException("The value is not number!")
val items = listOf("apple", "Banana", "kiwi", "aDpple")
//for循环
fun forr() {
for (iteminitems) {
println(item)
}
for (index initems.indices) {
println("item at $index is ${items[index]}")
}
}
fun关键字用来申明函数。val关键字和var关键字分别用来申明只读变量和可变变量。val申明的只读变量,在申明时就必须赋值。fun vall() { //一次赋值(只读)的局部变量,为赋值提示“Property must be initialized or be abstract” val a: Int = 1 //立即赋值 val b = 2 //自动推断出‘Int’类