例如:数组
var a: Int = 1
val b = 2
val c: Int = 0
var d: Int = 0
复制代码
var age: String? = "abc" //加 ? 可为空
val age2 = age!!.toInt() //抛出空指针异常
val age3 = age?.toInt() //不作处理,返回null
val age4 = age?.toInt() ?: -1 //age为空时,返回-1
text.trimMargin()
复制代码
val items = listOf("item1", "item2", "item3")
for (item in items) {
println(item)
}
for (index in items.indices) {
println("item at $index is ${items[index]}")
}
//输出
// item at 0 is apple
// item at 1 is banana
// item at 2 is kiwi
复制代码
//[1,2,3]
val a = arrayOf(1, 2, 3)
//[0,2,4]
val b = Array(3, { i -> (i * 2) })
for (i in a.indices) {
println("eche element : " + a[i])
}
复制代码
if-else
复制代码
val sss = 5
val validNumbers = 11..19
when (sss) {
0, 1 -> print("x == 0 or x == 1")
in 1..10 -> print("x is in the range")
in validNumbers -> print("x is valid")
!in 10..20 -> print("x is outside the range")
else -> print("none of the above")//若是包含了全部的状况,就不须要写else了
}
fun hasPrefix(x: Any): Boolean = when (x) {
is String -> x.startsWith("prefix")//当是string类型,则运算startsWith(),返回是否以特定前缀结尾
else -> false//不是string类型,直接返回false
}
//判断某个值是否在一个set集合里面
val items = setOf("apple", "banana", "kiwi")
when {
"orange" in items -> {
println("juicy")
println("{do something}")
}
"apple" in items -> {
println("apple is fine too")
println("do another thing!")
}
}
复制代码
val e: Byte = 1
val f: Int = e.toInt()//转换
复制代码
中缀操做符 asbash
eg: val x: String = y as String
val x: String? = y as String?
val x: String? = y as? String
复制代码