- Kotlin环境设置(命令行)
- Kotlin Hello World程序(命令行)
- Kotlin程序概念解释
- Kotlin开发环境设置(IDE)
- Kotlin第一个程序(IDE)
- Kotlin变量
- Kotlin数据类型
- Kotlin类型转换
- Kotlin运算符
- Kotlin表达式、语句和块
- Kotlin标准输入/输出
- Kotlin注释
- 控制流程
- 函数
- 数组
- 字符串
- 异常处理
- 空安全
- 集合
- 注解
- 反射
- Kotlin OOP
- 范围
- Java互操作性
- 正则表达式
Kotlin运算符
运算符是对操作数(值或变量)执行操作的特殊字符,Kotlin中有各种类型运算符。它们如下所示 -
- 算术运算符
- 关系运算符
- 赋值运算符
- 一元运算符
- 按位运算
- 逻辑运算符
1. 算术运算符
算术运算符用于执行基本的数学运算,如加法(+
),减法(-
),乘法(*
),除法(/
)等。
运算符 | 描述 | 表达式 | 转换为 |
---|---|---|---|
+ |
加法 | a+b |
a.plus(b) |
- |
减法 | a-b |
a.minus(b) |
* |
乘法 | a*b |
a.times(b) |
/ |
除法 | a/b |
a.div(b) |
% |
模除 | a%b |
a.rem(b) |
算术运算符的例子
fun main(args : Array<String>) { var a=10; var b=5; println(a+b); println(a-b); println(a*b); println(a/b); println(a%b); }
执行上面示例代码,得到以下结果 -
15 5 50 2 0
2. 关系运算符
关系运算符显示操作数之间的关系和比较。以下是几种常见的关系运算符:
运算符 | 描述 | 表达式 | 转换为 |
---|---|---|---|
> |
大于 | a>b |
a.compateTo(b)>0 |
< |
小于 | a<b |
a.compateTo(b)<0 |
>= |
大于或等于 | a>=b |
a.compateTo(b)>=0 |
<= |
小于或等于 | a<=b |
a?.equals(b)?:(b===null) |
== |
等于 | a==b |
a?.equals(b)?:(b===null) |
!= |
不等于 | a!=b |
!(a?.equals(b)?:(b===null)) |
关系运算符的示例
fun main(args : Array<String>) { val a = 5 val b = 10 val max = if (a > b) { println("a is greater than b.") a } else{ println("b is greater than a.") b } println("max = $max") }
执行上面示例代码,得到以下结果 -
b is greater than a. max = 10
3. 赋值运算符
赋值运算符(=
)用于将值赋给另一个变量。值的分配从右到左。
运算符 | 描述 | 表达式 | 转换为 |
---|---|---|---|
+= |
相加和赋值 | a+=b |
a.plusAssign(b) |
-= |
相减和赋值 | a-=b |
a.minusAssign(b) |
*= |
相乘和赋值 | a*=b |
a.timesAssign(b) |
/= |
相除和赋值 | a/=b |
a.divAssign(b) |
%= |
模除和赋值 | a%=b |
a.remAssign(b) |
赋值运算符的示例
fun main(args : Array<String>) { var a =20;var b=5 a+=b println("a+=b :"+ a) a-=b println("a-=b :"+ a) a*=b println("a*=b :"+ a) a/=b println("a/=b :"+ a) a%=b println("a%=b :"+ a) }
执行上面示例代码,得到以下结果 -
a+=b :25 a-=b :20 a*=b :100 a/=b :20 a%=b :0
4. 一元运算符
一元运算符仅与单个操作数一起使用。 以下是一些常用一元运算符。
运算符 | 描述 | 表达式 | 转换为 |
---|---|---|---|
+ |
一元加 | +a |
a.unaryPlus() |
- |
一元减 | -a |
a.unaryMinus() |
++ |
递增1 | ++a |
a.inc() |
-- |
递减1 | --a |
a.dec() |
! |
非 | !a |
a.not() |
一元运算符的示例
fun main(args: Array<String>){ var a=10 var b=5 var flag = true println("+a :"+ +a) println("-b :"+ -b) println("++a :"+ ++a) println("--b :"+ --b) println("!flag :"+ !flag) }
执行上面示例代码,得到以下结果 -
+a :10 -b :-5 ++a :11 --b :4 !flag :false
5. 逻辑运算符
逻辑运算符用于检查操作数之间的条件。逻辑运算符列表如下 -
运算符 | 描述 | 表达式 | 转换为 |
---|---|---|---|
&& |
如果所有表达式都为true ,则返回true |
(a>b) && (a>c) | (a>b) and (a>c) |
ΙΙ | 如果任何表达式为true ,则返回true |
(a>b) ΙΙ (a>c) | (a>b) or(a>c) |
! |
返回表达的补充 | !a |
a.not() |
逻辑运算符的示例
fun main(args: Array<String>){ var a=10 var b=5 var c=15 var flag = false var result: Boolean result = (a>b) && (a>c) println("(a>b) && (a>c) :"+ result) result = (a>b) || (a>c) println("(a>b) || (a>c) :"+ result) result = !flag println("!flag :"+ result) }
执行上面示例代码,得到以下结果 -
(a>b) && (a>c) :false (a>b) || (a>c) :true !flag :true
6. 按位运算
在Kotlin中,没有任何特殊的按位运算符。都是使用命名函数完成按位运算。
运算符 | 描述 | 表达式 |
---|---|---|
shl(bits) |
符号左移 | a.shl(b) |
shr(bits) |
符号右移 | a.shr(b) |
ushr(bits) |
无符号右移 | a.ushr(b) |
and(bits) |
按位与 | a.and(b) |
or(bits) |
按位或 | a.or(b) |
xor(bits) |
按位异或 | a.xor(b) |
inv() |
按位反转 | a.inv() |
7. 按位运算的示例
fun main(args: Array<String>){ var a=10 var b=2 println("a.shl(b): "+a.shl(b)) println("a.shr(b): "+a.shr(b)) println("a.ushr(b:) "+a.ushr(b)) println("a.and(b): "+a.and(b)) println("a.or(b): "+a.or(b)) println("a.xor(b): "+a.xor(b)) println("a.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
上一篇:Kotlin类型转换
下一篇:Kotlin表达式、语句和块
扫描二维码
程序员编程王