2-1-单目运算符
前缀运算符
运算符 | 对应的方法 |
---|---|
+a | a.unaryPlus() |
-a | a.unaryMinus() |
!a | a.not() |
例子
fun main() {
val x = -5
println(+x) // 调用 x.unaryPlus(),结果是 -5
println(-x) // 调用 x.unaryMinus(),结果是 5
val b = true
println(!b) // 调用 b.not(),结果是 false
}
Content copied to clipboard
自加自减运算符
运算符 | 对应的方法 |
---|---|
a++ | a.inc() |
a-- | a.dec() |
++/--在变量的前后缀是有区别的,因此inc()和dec()并不完全等价于++和--
当++/--在前时:
先执行inc() dec()方法, 并将方法的返回值赋值给变量
自加或自减表达式返回变量的新值
当++/--在后时:
先用一个临时变量缓存变量的值
对变量调用inc()、dec()方法,并将方法返回值赋值给变量
自加或自减表达式返回临时变量的值 示例
fun main() {
var x = 5
println("初始值: $x")
// 前缀 ++
val pre = ++x // 相当于 x = x.inc(); 返回 x 的新值
println("前缀++: pre=$pre, x=$x")
x = 5 // 重新赋值
// 后缀 ++
val post = x++ // 相当于 val temp = x; x = x.inc(); 返回 temp
println("后缀++: post=$post, x=$x")
}
Content copied to clipboard