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

2020-02-12  本文已影响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
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
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
}
上一篇 下一篇

猜你喜欢

热点阅读