美文网首页
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