Scala运算符
运算符
算数运算符
运算符 | 运算 | 范例 | 结果 |
---|---|---|---|
+ | 正号 | +3 | 3 |
- | 负号 | b=4; -b | -4 |
+ | 加 | 5 + 5 | 10 |
- | 减 | 6 - 4 | 2 |
* | 乘 | 3 * 4 | 12 |
/ | 除 | 12 / 4 | 3 |
% | 取模(取余) | 7 % 5 | 2 |
+ | 字符串相加 | "He" + "llo" | "Hello" |
object Test01_Operator {
def main(args: Array[String]): Unit = {
// 算数运算符
val result1: Int = 10 / 3
println(result1) // 3
val result2: Double = 10 / 3
println(result2) // 3
val result3: Double = 10.0 / 3
println(result3) // 3.333
println(result3.formatted("%.2f"))
}
}
关系运算符
运算符 | 运算 | 范例 | 结果 |
---|---|---|---|
== | 相等于 | 4 == 3 | false |
!= | 不等于 | 4 != 3 | true |
< | 小于 | 4 < 3 | false |
> | 大于 | 4 > 3 | true |
<= | 小于等于 | 4 <= 3 | false |
>= | 大于等于 | 4 >= 3 | true |
package chapter03
object Test01_Operator {
def main(args: Array[String]): Unit = {
// 比较运算符
val s1: String = "hello"
val s2: String = new String("hello")
// 在scala中使用==比较字符串已经就是比较内容了,而不是内存
println(s1 == s2)
// 判断s1和s2的引用地址
println(s1.eq(s2))
}
}
逻辑运算符
用于连接多个条件(一般来讲就是关系表达式),最终的结果也是一个Boolean值。
运算符 | 描述 | 实例 |
---|---|---|
&& | 逻辑与 | A&&B |
|| | 逻辑或 | A||B |
! | 逻辑非 | !A |
具有短路特性
package chapter03
object Test01_Operator {
def main(args: Array[String]): Unit = {
// 逻辑运算符
// 判断一个字符串是否为空
def isNotEmpty(str: String): Boolean = {
return str != null && str.trim == ""
}
println(isNotEmpty(null))
}
}
赋值运算符
赋值运算符就是将某个运算后的值,赋给指定的变量。
运算符 | 描述 | 实例 |
---|---|---|
= | 简单的赋值运算符,将一个表达式的值赋给一个左值 | C = A + B |
+= | 相加后再赋值 | C += A => C = C + A |
-= | 相减后再赋值 | C -= A => C = C - A |
*= | 相乘后再赋值 | C *= A => C = C * A |
/= | 相除后再赋值 | C /= A => C = C / A |
%= | 求余后再赋值 | C %= A => C = C % A |
<<= | 左移后赋值 | C <<= 2 => C = C << 2 |
>>= | 右移后赋值 | C >>= 2 => C = C >> 2 |
&= | 按位与后赋值 | C &= 2 => C = C & 2 |
^= | 按位异或后赋值 | C ^= 2 => C = C ^ 2 |
|= | 按位或后赋值 | C |= 2 => C = C | 2 |
Scala中没有++, --这样的自增自减操作
package chapter03
object Test01_Operator {
def main(args: Array[String]): Unit = {
// 赋值运算符
var a: Byte = 10
var b: Int = 12
// a += 1 // error
b += 1
println(b)
// b++ // error
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南