Kotlin 运算符

2024 年 8 月 29 日 | 阅读 3 分钟

运算符是用于对操作数(值或变量)执行操作的特殊字符。Kotlin 中有各种各样的运算符。

  • 算术运算符
  • 关系运算符
  • 赋值运算符
  • 一元运算符
  • 位运算
  • 逻辑运算符

算术运算符

算术运算符用于执行基本的数学运算,例如加法 (+),减法 (-),乘法 (*),除法 (/) 等。

运算符描述表达翻译为
+加法a+ba.plus(b)
-减法a-ba.minus(b)
*乘以a*ba.times(b)
/除法a/ba.div(b)
%取模a%ba.rem(b)

算术运算符示例

输出

15
5
50
2
0

关系运算符

关系运算符显示操作数之间的关系并进行比较。以下是不同的关系运算符

运算符描述表达翻译为
>大于a>ba.compateTo(b)>0
<小于a<ba.compateTo(b)<0
>=大于或等于a>=ba.compateTo(b)>=0
<=小于或等于a<=ba?.equals(b)?:(b===null)
==等于a==ba?.equals(b)?:(b===null)
!=不等于a!=b!(a?.equals(b)?:(b===null))

关系运算符示例

输出

b is greater than a.
max = 10

赋值运算符

赋值运算符 "=" 用于将值分配给另一个变量。值的赋值从右到左进行。

运算符描述表达转换为
+=加和赋值a+=ba.plusAssign(b)
-=减和赋值a-=ba.minusAssign(b)
*=乘和赋值a*=ba.timesAssign(b)
/=除和赋值a/=ba.divAssign(b)
%=取模和赋值a%=ba.remAssign(b)

赋值运算符示例

输出

a+=b :25
a-=b :20
a*=b :100
a/=b :20
a%=b :0

一元运算符

一元运算符仅与单个操作数一起使用。以下是一些下面给出的一元运算符。

运算符描述表达转换为
+一元加号+aa.unaryPlus()
-一元减号-aa.unaryMinus()
++递增 1++aa.inc()
--递减 1--aa.dec()
!not!aa.not()

一元运算符示例

输出

+a :10
-b :-5
++a :11
--b :4
!flag :false

逻辑运算符

逻辑运算符用于检查操作数之间的条件。下面给出了逻辑运算符的列表。

运算符描述表达转换为
&&如果所有表达式都为真,则返回 true(a>b) && (a>c)(a>b) and (a>c)
||如果任何表达式为真,则返回 true(a>b) || (a>c)(a>b) or(a>c)
!返回表达式的补码!aa.not()

逻辑运算符示例

输出

(a>b) && (a>c) :false
(a>b) || (a>c) :true
!flag :true

位运算

在 Kotlin 中,没有任何特殊的位运算符。位运算使用命名函数完成。

命名函数描述表达
shl (位)有符号左移a.shl(b)
shr (位)有符号右移a.shr(b)
ushr (位)无符号右移a.ushr(b)
and (位)按位与a.and(b)
or (位)按位或a.or(b)
xor (位)按位异或a.xor(b)
inv()按位取反a.inv()

位运算示例

输出

a.shl(b): 40
a.shr(b): 2
a.ushr(b:) 2
a.and(b): 2
a.or(b): 10
a.xor(b): 8
a.inv(): -11