scala基本运算
2025-09-1511阅读2分钟
运算符
运算符就一个特殊的符号,使用运算符可以将一个或多个操作数连成可执行的语句,用于实现不同的功能。
1.算数运算符
Scala中的算术运算符: + - * / %
· %相当于调用对应类型的%方法
2.关系运算符
关系运算符会得到Bool值。scala中的关系运算符如下:
"==" 等于
"!=" 不等于
">" 大于
"<" 小于
">=" 大于等于
"<=" 小于等于
3.逻辑运算符
3.1 逻辑与(&&)
当两个操作数都为 true 时,结果才为 true,否则为 false。
具有短路特性:如果第一个操作数为 false,则不会计算第二个操作数。
3.2逻辑或(||)
当两个操作数中至少有一个为 true 时,结果为 true,否则为 false。
具有短路特性:如果第一个操作数为 true,则不会计算第二个操作数
3.3逻辑非(!)
对操作数取反:如果操作数为 true,结果为 false;如果操作数为 false,结果为 true。
3.4短路
在 Scala 中,短路(Short-circuiting) 是逻辑运算符(&& 和 ||)的重要特性,指的是当运算符左侧的表达式已经能够确定整个逻辑表达式的结果时,右侧的表达式将不再被执行。这种机制可以提高效率,还能避免不必要的计算或潜在错误。
3.4.1逻辑与(&&)的短路特性
- 规则:当左侧表达式为
false时,无论右侧表达式结果如何,整个表达式的结果一定是false,因此右侧表达式不会被执行。
3.4.2 逻辑或(||)的短路特性
- 规则:当左侧表达式为
true时,无论右侧表达式结果如何,整个表达式的结果一定是true,因此右侧表达式不会被执行。
3.4.3 短路特性的实际应用
短路特性最常见的用途是避免空指针异常或前置条件检查
4.赋值运算符
= 简单的赋值运算,指定将右边操作数赋值给左边的操作
+= 相加后再赋值,将左右两边的操作数相加后再赋值给左边的操作数
-= 相减后再赋值,将左右两边的操作数相减后再赋值给左边的操作数
*= 相乘后再赋值,将左右两边的操作数相乘后再赋值给左边的操作数
/= 相除后再赋值,将左右两边的操作数相除后再赋值给左边的操作数
%= 求余后再赋值,将左右两边的操作数进行求余操作后再赋值给左边的操作数