- 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。