一、Kotlin
-
Kotlin 由 JetBrains 开发,是一种在 JVM(Java 虚拟机)上运行的静态类型编程语言
-
Kotlin 旨在提高开发者的编码效率和安全性,同时保持与 Java 的高度互操作性
-
Kotlin 是 Android 应用开发的首选语言,也可以与 Java 一样用于服务器端开发
二、Kotlin 极简小抄
1、插值表达式
kotlin
// 插值
var a: Byte = 10
var b: Short = 20
var c: Int = 30
var d: Long = 40L
println("Hello, $a") // Hello, 10
println("Hello, $b") // Hello, 20
println("Hello, $c") // Hello, 30
println("Hello, $d") // Hello, 40
kotlin
// 插表达式
var num = 10
println("result: ${num * num}") // result: 100
2、运算符
kotlin
// 算术运算符:加法、减法、乘法、除法、求余
var a: Int = 5
var b: Int = 3
var result1 = a + b
var result2 = a - b
var result3 = a * b
var result4 = a / b
var result5 = a % b
println(result1) // 8
println(result2) // 2
println(result3) // 15
println(result4) // 1
println(result5) // 2
kotlin
// 关系运算符:大于、小于、等于、不等于、大于等于、小于等于
var x = 10
var y = 20
println(x > y) // false
println(x < y) // true
println(x == y) // false
println(x != y) // true
println(x >= y) // false
println(x <= y) // true
kotlin
// 逻辑运算符:逻辑与、逻辑或、逻辑非
var a = true
var b = false
println(a && b) // false
println(a || b) // true
println(!a) // false
kotlin
// 赋值运算符
var a = 5
println(a) // 5
a += 3 // 等同于 a = a + 3
println(a) // 8
a -= 2 // 等同于 a = a - 2
println(a) // 6
a *= 2 // 等同于 a = a * 2
println(a) // 12
a /= 4 // 等同于 a = a / 4
println(a) // 3
a %= 2 // 等同于 a = a % 2
println(a) // 1
kotlin
// 位运算符:位与、位或、位异或、位非、左移、右移
var a = 60 // 0011 1100
var b = 13 // 0000 1101
println("a & b = ${a and b}") // 12(0000 1100)
println("a | b = ${a or b}") // 61(0011 1101)
println("a ^ b = ${a xor b}") // 49(0011 0001)
println("a << 2 = ${a shl 2}") // 240(0011 0001)
println("a >> 2 = ${a shr 2}") // 15(0000 1111)
3、递增递减
kotlin
var a: Int = 5
var b: Int = 3
// 相当于 a += 1
var result1 = a.inc()
println(result1)
// 相当于 a -= 1
var result2 = b.dec()
println(result2)
kotlin
var a: Int = 5
var b: Int = 3
a++
println(a)
b--
println(b)
4、选择结构赋值
kotlin
// if-else 条件赋值
val num = 10
val result = if (num > 0) true else false
println(result) // true
kotlin
// when 条件赋值
var level = 2;
val result = when (level) {
1 -> "休闲难度"
2 -> "普通难度"
3 -> "老兵难度"
4 -> "不可能难度"
else -> "未知难度"
}
println(result) // 普通难度