美文网首页
Kotlin二:运算符和表达式 归纳总结

Kotlin二:运算符和表达式 归纳总结

作者: 大川的川 | 来源:发表于2020-02-12 16:13 被阅读0次
你瞅啥?

Kotlin支持Java的算术运算符、赋值运算符、扩展后的赋值运算符、比较运算符、逻辑运算符。
Kotlin不支持Java的三元运算符,但是我们上篇提到了一个Elvis运算中的?:运算符,此运算符跟Java三元运算符功能类似

  var a = 20
  var b = -a  // 使用运算符
  var c = a.unaryMinus() // 调用方法
  println("a:${a},b:${b},c:${c}")// 输出a:20,b:-20,c:-20
  var flag = true
  var notFlag = !flag // 使用运算符
  var notFlag2 = flag.not() // 使用运算符
  println("notFlag:${notFlag},notFlag2:${notFlag2}")// 输出notFlag:false,notFlag2:false
  • 自加和自减运算符
    1.当++、--放在变量前面时,返回的是计算后的结果。执行过程如下:
    -- 1.1先对变量调用inc()、dec()方法,并将方法返回值赋值给变量
    -- 1.2自加或自减表达式返回变量的新值
    2.当++、--放在变量后面时,返回的是临时变量的值,也就是原始值。执行过程如下:
    -- 2.1先用一个临时变量缓存变量的值
    -- 2.2对变量调用inc()、dec()方法,并将方法返回值赋给变量
    -- 2.3自加或自减表达式返回临时变量的值
var a = 20
a = a++ // ++在变量后,返回值是缓存变量中的原始值
println("a = a++:${a}") // 输出20
a++ // ++在变量后,对变量调用inc()、dec()方法,并将方法返回值赋给变量
println("a++:${a}") // 输出21
a = a.inc() // 对变量调用inc()、dec()方法,并将方法返回值赋给变量
println("a.inc():${a}") // 输出22
a = ++a // 当++、--放在变量前面时,返回的是计算后的结果
println("a = ++a:${a}") // 输出23
++a // ++在变量前,对变量调用inc()、dec()方法,并将方法返回值赋给变量
println("++a:${a}") // 输出24
  • in和!in运算符
    运算符a in b 对应的方法 b.contains(a)
    运算符a !in b 对应的方法 !b.minus(a)
var str = "fkjavas.org"
println("java" in str)
val array = arrayof(24,45,100,-3)
println(100 in array)
data class Point(val x: Int, val y: Int) {
    operator fun minus(target: Point): Double {
        return Math.hypot((this.x - target.x).toDouble(), (this.y - target.y).toDouble())
    }
}

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    var p1 = Point(4, 10)
    var p2 = Point(5, 15)
    var distance = p1 - p2
    println("p1与p2的距离为:${distance}") // 输出:p1与p2的距离为:5.0990195135927845
}

相关文章

网友评论

      本文标题:Kotlin二:运算符和表达式 归纳总结

      本文链接:https://www.haomeiwen.com/subject/qwrcfhtx.html