1. when表达式
val num = 2
when (num) {
1 -> println("one is 1")
2 -> println("two is 2")
3 -> println("three is 3")
else -> println("{${num}} is not supported")
}
// 运行结果
// two is 2
2. 数组表达式
val nums1 = 1 .. 16 // [1, 16]
val nums2 = 1 ..< 16 //[1, 16)
val nums3 = 1 until 16 //[1, 16)
for (num in nums1) {
print("$num, ")
}
println()
for (num in nums2 step 2) {
print("$num, ")
}
println()
var nums4 = nums3.reversed()
for (num in nums4) {
print("$num, ")
}
println()
println("nums4 count: ${nums4.count()}")
// 运行结果
// 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
// 1, 3, 5, 7, 9, 11, 13, 15,
// 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,
// nums4 count: 15
3. list语法
var lists = listOf("rust", "java", "kotlin", "python")
for ((index, num) in lists.withIndex()) {
println("$index -> $num")
}
// 运行结果
// 0 -> rust
// 1 -> java
// 2 -> kotlin
// 3 -> python
4. map语法
var map = TreeMap<String, String>()
map["语文"] = "周老师"
map["英语"] = "肖老师"
map["数学"] = "刘老师"
for ((key, value) in map) {
println("$key -> $value")
}
println("map = $map")
println(map.get("语文"))
println(map["英语"])
// 运行结果
// 数学 -> 刘老师
// 英语 -> 肖老师
// 语文 -> 周老师
// map = {数学=刘老师, 英语=肖老师, 语文=周老师}
// 周老师
// 肖老师
5. 函数及函数表达式
// 一行的函数
fun add(a: Int, b: Int): Int = a + b
fun main(args: Array<String>) {
//函数表达式1
val sub = { a:Int, b:Int -> a - b}
println(sub(5, 1))
//函数表达式2
val mod:(Int, Int) -> Int = {a,b -> a % b}
println(mod(12, 5))
println(add(1,2))
}
// 运行结果
// 4
// 2
// 3