运算符是对操作数(值或变量)执行操作的特殊字符,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) {
var a=10;
var b=5;
println(a+b);
println(a-b);
println(a*b);
println(a/b);
println(a%b);
}
Kotlin
执行上面示例代码,得到以下结果 -
15
5
50
2
0
2. 关系运算符
关系运算符显示操作数之间的关系和比较。以下是几种常见的关系运算符:
运算符 | 描述 | 表达式 | 转换为 |
---|---|---|---|
> |
大于 | a>b |
a.compateTo(b)>0 |
=0 |
|||
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){
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)
}
Kotlin
执行上面示例代码,得到以下结果 -
(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){
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())
}
Kotlin
执行上面示例代码,得到以下结果 -
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
//原文出自【易百教程】,商业转载请联系作者获得授权,非商业转载请保留原文链接:https://www.yiibai.com/kotlin/kotlin-operator.html