Kotlin运算符

55cda0b06f604f3094bbab912a589a71.png

Kotlin运算符思维导图

目录

一元运算符

二元运算符

算术运算符

逻辑运算符 

比较运算符

位运算符

复合运算符

区间运算符

索引运算符


Kotlin中大多运算符均可重载,&&、||、===、!==不可重载

Kotlin文档介绍运算符

一元运算符

   +,- 作为一元运算符是表示数的正负

   其重载函数为 unaryPlus() 和unaryMinus()

   ++,-- 为递增运算符,和其他语言类似,有前置和后置的区别

   其重载函数为inc() 和dec()

var a=123
println(+a)//123
println(-a)//-123
println(++a)//124
println(--a) //124
println(a++)//124 a现在是125
println(a--)//125 a现在是124

二元运算符

算术运算符

  +:加法 也可用作字符串的拼接,重载函数为plus(operate_num)

  - :减法 重载函数为 minus(operate_num)

  * :乘法 重载函数为 times(operate_num)

  / :除法 重载函数为 div(operate_num) 当操作数均为整数,则商也为整数,若有操作数为浮点数,则商为浮点数

 %:取余 重载函数为 mod(operate_num)或rem(operate_num)

    var a=123
    var b=456
    println(a+b)//579
    println(a-b)//-333
    println(a*b)//56088
    println(a/b)//0
    println(a%b)//123
    println(a/246.0)//0.5

逻辑运算符 

   &&:与运算,当两操作数表达式均为真true时,值为true,不能重载

   ||:或运算,当两操作数表达式均为假false时,值为false,不能重载

   !:非运算,当操作数表达式为真true时,值为false,重载函数为not()

比较运算符

   >: 大于运算 a>b , a.compareTo(b)>0,重载compareTo()函数

   <: 小于运算 a<b,a.compareTo(b)<0,重载compareTo()函数

   >=: a>=b,a.compareTo(b)>=0,重载compareTo()函数

   <=:a<=b,a.compareTo(b)<=0,重载compareTo()函数

   ==:a==b,a?.equals(b) ?: (b === null),重载 equals()函数

   !=:a!=b, !(a?.equals(b)?:(b === null)),重载 equals()函数

   ===:a===b 比较的是a和b的内存地址,不能重载

   !==:a!==b 也比较的是a和b的内存地址,不能重载

   in:a in b b是一个序列化的对象,若a在b中,则返回真,重载contains()函数

   !in:a !in b 重载contains()函数

位运算符

 右移 shr() ,操作数.shr(位数)

 左移 shl(),操作数.shl(位数)

 逻辑右移 ushr(),操作数.ushr(位数)

 或 or(),操作数.or(操作数)

 与 and() 操作数.and(操作数)

 异或 xor(),操作数.xor(操作数)

 取反 inv(),操作数.inv()

var a=3
println(a.shr(2))//011->2 0
println(a.shl(2))//011<-2 12
println(a.ushr(2))//011->2 0
println(a.and(2))//011 & 010 2
println(a.or(2))//011 | 010 3
println(a.xor(2))//011 ^ 010 1
println(a.inv())//-4

复合运算符

+= 重载函数 plusAssign()

-=  重载函数 minusAssign()

*=  重载函数 timesAssign()

/=  重载函数 divAssign()

%= 重载函数 remAssign()

区间运算符

 .. A..B 闭区间[A,B] 重载函数 rangeTo()

索引运算符

 

get函数 相对应的一系列[]取值

set函数 相对应的一系列[]修改值 

f964005fcea1491cb9ac5c8c11365f8e.png

具体实例

 

 

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值