- 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 - 中断并继续
- 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 |
例子
以下示例展示了使用 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
下面是另一个例子,我们使用赋值运算符+=来添加 self 变量的值并将其分配回同一个变量:
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、对表达式求反或反转布尔值。
以下是 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 逻辑运算符列表:
操作员 | 姓名 | 描述 | 例子 |
---|---|---|---|
&& | 逻辑和 | 如果两个操作数都为 true,则返回 true | x && y |
|| | 逻辑或 | 如果任一操作数为 true,则返回 true | x|| y |
! | 逻辑非 | 将结果取反,如果操作数为 true,则返回 false | !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(位) | 有符号左移 | x.shl(y) |
shr(位) | 有符号右移 | x.shr(y) |
乌什尔(位) | 无符号右移 | x.ushr(y) |
和(位) | 按位和 | x 和 (y) |
或(位) | 按位或 | x.or(y) |
异或(位) | 按位异或 | x.xor(y) |
反演() | 按位取反 | 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。