- Kotlin 教程
- Kotlin - 首页
- Kotlin - 概述
- Kotlin - 环境设置
- Kotlin - 架构
- Kotlin - 基本语法
- Kotlin - 注释
- Kotlin - 关键字
- Kotlin - 变量
- Kotlin - 数据类型
- Kotlin - 运算符
- Kotlin - 布尔值
- Kotlin - 字符串
- Kotlin - 数组
- Kotlin - 范围
- Kotlin - 函数
- Kotlin 控制流
- Kotlin - 控制流
- Kotlin - if...else 表达式
- Kotlin - when 表达式
- Kotlin - for 循环
- Kotlin - while 循环
- Kotlin - break 和 continue
- Kotlin 集合
- Kotlin - 集合
- Kotlin - 列表
- Kotlin - 集合
- Kotlin - 映射
- Kotlin 对象和类
- Kotlin - 类和对象
- Kotlin - 构造函数
- Kotlin - 继承
- Kotlin - 抽象类
- Kotlin - 接口
- Kotlin - 可见性控制
- Kotlin - 扩展
- Kotlin - 数据类
- Kotlin - 密封类
- Kotlin - 泛型
- Kotlin - 委托
- Kotlin - 解构声明
- Kotlin - 异常处理
- Kotlin 有用资源
- Kotlin - 快速指南
- Kotlin - 有用资源
- Kotlin - 讨论
Kotlin - 运算符
运算符是告诉编译器执行特定数学或逻辑运算的符号。Kotlin 拥有丰富的内置运算符,并提供以下类型的运算符:
算术运算符
关系运算符
赋值运算符
一元运算符
逻辑运算符
位运算
现在让我们逐一了解这些 Kotlin 运算符。
(a) Kotlin 算术运算符
Kotlin 算术运算符用于执行基本的数学运算,例如加法、减法、乘法和除法等。
运算符 | 名称 | 描述 | 示例 |
---|---|---|---|
+ | 加法 | 将两个值相加 | x + y |
- | 减法 | 从一个值中减去另一个值 | x - y |
* | 乘法 | 将两个值相乘 | x * y |
/ | 除法 | 将一个值除以另一个值 | x / y |
% | 取模 | 返回除法的余数 | x % y |
示例
以下示例演示了使用 Kotlin 算术运算符进行的不同计算
fun main(args: Array<String>) { val x: Int = 40 val y: Int = 20 println("x + y = " + (x + y)) println("x - y = " + (x - y)) println("x / y = " + (x / y)) println("x * y = " + (x * y)) println("x % y = " + (x % y)) }
运行上述 Kotlin 程序时,将生成以下输出
x + y = 60 x - y = 20 x / y = 2 x * y = 800 x % y = 0
(b) Kotlin 关系运算符
Kotlin 关系(比较)运算符用于比较两个值,并返回一个 **布尔** 值:**true** 或 **false**。
运算符 | 名称 | 示例 |
---|---|---|
> | 大于 | x > y |
< | 小于 | x < y |
>= | 大于或等于 | x >= y |
<= | 小于或等于 | x <= y |
== | 等于 | x == y |
!= | 不等于 | x != y |
示例
以下示例演示了使用 Kotlin 关系运算符进行的不同计算
fun main(args: Array<String>) { val x: Int = 40 val y: Int = 20 println("x > y = " + (x > y)) println("x < y = " + (x < y)) println("x >= y = " + (x >= y)) println("x <= y = " + (x <= y)) println("x == y = " + (x == y)) println("x != y = " + (x != y)) }
运行上述 Kotlin 程序时,将生成以下输出
x > y = true x < y = false x >= y = true x <= y = false x == y = false x != y = true
(c) Kotlin 赋值运算符
Kotlin 赋值运算符用于为变量赋值。
以下是一个示例,其中我们使用赋值运算符 **=** 将值赋给两个变量
fun main(args: Array<String>) { val x: Int = 40 val y: Int = 20 println("x = " + x) println("y = " + y) }
运行上述 Kotlin 程序时,将生成以下输出
x = 40 y = 20
以下是一个更复杂的例子,我们使用赋值运算符 **+=** 将自身变量的值相加,然后将其重新赋值给同一个变量
fun main(args: Array<String>) { var x: Int = 40 x += 10 println("x = " + x) }
运行上述 Kotlin 程序时,将生成以下输出
x = 50
以下是所有赋值运算符的列表
运算符 | 示例 | 展开形式 |
---|---|---|
= | x = 10 | x = 10 |
+= | x += 10 | x = x - 10 |
-= | x -= 10 | x = x - 10 |
*= | x *= 10 | x = x * 10 |
/= | x /= 10 | x = x / 10 |
%= | x %= 10 | x = x % 10 |
示例
以下示例演示了使用 Kotlin 赋值运算符进行的不同计算
fun main(args: Array<String>) { var x: Int = 40 x += 5 println("x += 5 = " + x ) x = 40; x -= 5 println("x -= 5 = " + x) x = 40 x *= 5 println("x *= 5 = " + x) x = 40 x /= 5 println("x /= 5 = " + x) x = 43 x %= 5 println("x %= 5 = " + x) }
运行上述 Kotlin 程序时,将生成以下输出
x += 5 = 45 x -= 5 = 35 x *= 5 = 200 x /= 5 = 8 x %= 5 = 3
(d) Kotlin 一元运算符
一元运算符只需要一个操作数;它们执行各种操作,例如将值加 1/减 1、否定表达式或反转布尔值。
以下是 Kotlin 一元运算符的列表
运算符 | 名称 | 示例 |
---|---|---|
+ | 一元加 | +x |
- | 一元减 | -x |
++ | 加 1 | ++x |
-- | 减 1 | --x |
! | 反转布尔值 | !x |
示例
以下示例演示了使用 Kotlin 一元运算符进行的不同计算
fun main(args: Array<String>) { var x: Int = 40 var b:Boolean = true println("+x = " + (+x)) println("-x = " + (-x)) println("++x = " + (++x)) println("--x = " + (--x)) println("!b = " + (!b)) }
运行上述 Kotlin 程序时,将生成以下输出
+x = 40 -x = -40 ++x = 41 --x = 40 !b = false
这里,增量 (++) 和减量 (--) 运算符可以用作前缀,如 ++x 或 --x,也可以用作后缀,如 x++ 或 x--。这两种形式的唯一区别在于,如果我们将其用作前缀,则运算符将在表达式执行之前应用,但如果将其用作后缀,则运算符将在表达式执行之后应用。
(e) Kotlin 逻辑运算符
Kotlin 逻辑运算符用于确定两个变量或值之间的逻辑关系。
以下是 Kotlin 逻辑运算符的列表
运算符 | 名称 | 描述 | 示例 |
---|---|---|---|
&& | 逻辑与 | 如果两个操作数都为真,则返回真 | x && y |
|| | 逻辑或 | 如果任一操作数为真,则返回真 | x || y |
! | 逻辑非 | 反转结果,如果操作数为真,则返回假 | !x |
示例
以下示例演示了使用 Kotlin 逻辑运算符进行的不同计算
fun main(args: Array<String>) { var x: Boolean = true var y:Boolean = false println("x && y = " + (x && y)) println("x || y = " + (x || y)) println("!y = " + (!y)) }
运行上述 Kotlin 程序时,将生成以下输出
x && y = false x || y = true !y = true
(e) Kotlin 位运算
Kotlin 没有位运算符,但 Kotlin 提供了一系列辅助函数来执行位运算。
以下是 Kotlin 位运算函数的列表
函数 | 描述 | 示例 |
---|---|---|
shl (bits) | 有符号左移 | x.shl(y) |
shr (bits) | 有符号右移 | x.shr(y) |
ushr (bits) | 无符号右移 | x.ushr(y) |
and (bits) | 按位与 | x.and(y) |
or (bits) | 按位或 | x.or(y) |
xor (bits) | 按位异或 | x.xor(y) |
inv() | 按位非 | x.inv() |
示例
以下示例演示了使用 Kotlin 位运算函数进行的不同计算
fun main(args: Array<String>) { var x:Int = 60 // 60 = 0011 1100 var y:Int = 13 // 13 = 0000 1101 var z:Int z = x.shl(2) // 240 = 1111 0000 println("x.shl(2) = " + z) z = x.shr(2) // 15 = 0000 1111 println("x.shr(2) = " + z) z = x.and(y) // 12 = 0000 1100 println("x.and(y) = " + z) z = x.or(y) // 61 = 0011 1101 println("x.or(y) = " + z) z = x.xor(y) // 49 = 0011 0001 println("x.xor(y) = " + z) z = x.inv() // -61 = 1100 0011 println("x.inv() = " + z) }
运行上述 Kotlin 程序时,将生成以下输出
x.shl(2) = 240 x.shr(2) = 15 x.and(y) = 12 x.or(y) = 61 x.xor(y) = 49 x.inv() = -61
测验时间 (面试与考试准备)
题 1 - Kotlin 运算符 % 有什么作用?
答案:D
解释
给定的运算符 % 称为算术模运算符,返回一个数除以另一个数后的余数。
答案:C
解释
给定的运算符 ++ 在 Kotlin 中称为一元增量运算符
答案:B
解释
函数 x.shr(y) 用于将给定 x 操作数的位向右移动 y 次。
题 6 - 以下 Kotlin 代码的输出是什么?
fun main(args: Array<String>) { var x: Int = 40 x += 10 println(x) }
答案:C
解释
这里给定的运算符 **+=** 是加法赋值运算符,这意味着它等效于 x = x + 10,这将产生 50 的值。