Kotlin运算符和表达式

kotlin语言提供了一系列功能丰富的运算符,这些运算符包括所有的算术运算符,还包括比较运算符、逻辑运算符、区间运算符和位运算符。kotlin基本支持java的全部运算符(可能在写法上有不同),kotlin不支持三目运算符(因为kotlin可用if表达式来代替三目运算符)
kotlin的很多运算符其实等价于operator修饰的、特定函数名的函数。同时也可以作用于自定义的类,只要提供operator修饰的、特定函数名的函数即可

public operator fun plus(other: Any?): String
# 这个是+号。使用operator修饰

与java相同的运算符

  • java支持的运算符包括算术运算符、赋值运算符、扩展后的赋值运算符、比较运算符、逻辑运算符,kotlin也完全支持这些运算符
  • kotlin不支持三目运算符,kotlin使用if表达式来代替三目运算符
  • kotlin的位运算与java的位运算也略有区别
  • 注意:kotlin的运算符都是以方法形式来实现的,这些运算符都具有特定的符号(如+或者-)和固定的优先级
单目前缀运算符
  • 单目前缀运算符有3个,+、-、!
运算符 对应的方法
+a a.unaryPlus()
-a a.unaryMinus()
!a a.not()
fun unaryOperator(){
    val a: Int = 20
    val b = +a
    val b1 = a.unaryPlus()
    println("b: $b --> $a, b1: $b1 --> $a")
    val c = -a
    val c1 = a.unaryMinus()
    println("c: $c --> $a, c1: $c1 --> $a")
    val bool: Boolean = false
    val bool1 = !false
    val bool2 = bool.not()
    println("bool1: $bool1, bool2: $bool2")
}
# b: 20 --> 20, b1: 20 --> 20
# c: -20 --> 20, c1: -20 --> 20
# bool1: true, bool2: true
自加和自减运算符
  • 自加(++) 自减(–)、
运算符 对应的方法
a++ a.inc()
a– a.dec()
fun selfAddAndDec(){
    var a: Int = 10
    println(a++)
    println(a)

    println(++a)
    println(a)

    println(a--)
    println(a)

    println(--a)
    println(a)
}
# 10
# 11
# 12
# 12
# 12
# 11
# 10
# 10
  • (++a或者–a),这种是先进行自增或自减,然后赋值
  • (a++或者a–),这种是先赋值,然后自增或自减
双目运算符
表达式 对应方法
a + b a.plus(b)
a - b
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值