Scala 运算符
1、运算符简介
运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。
- 算术运算符
- 赋值运算符
- 比较运算符(关系运算符)
- 逻辑运算符
- 位运算符
2、算术运算符
2.1、算术运算符介绍
算术运算符(arithmetic)是对数值类型的变量进行运算的,在Scala程序中使用的非常多
2.2、算术运算符的一览图

2.3、案例演示
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | object Demo 01 { def main(args : Array[String]) : Unit = { // 使用 / var r 1 : Int = 10 / 3 println(s "r1 = $r1" ) var r 2 : Double = 10 / 3 println(s "r2 = $r2" ) var r 3 : Double = 10.0 / 3 println( "r3=" + r 3 .formatted( "%.2f" )) //%的使用 //说明 % 计算规则是 a%b = a - a/b * b println( 10 % 3 ) //1 println(- 10 % 3 ) // -1 //-10%3=-10 -(-10)/3 * 3 =-10 -(-3)*3= -10 -(-9)=-1 println(- 10 % - 3 ) ////-1 // -10-(-10/-3)*(-3 )= -10 -3*(-3)=-10+9=-1 println( 10 % - 3 ) //= 10 - 10/-3 * (-3) = 10-(-3) *(-3) =10-9 =1 //++ -- var n = 10 println(n - = 1 ) println(n + = 1 ) } } |
结果
r1 = 3 r2 = 3.0 r3=3.33 1 -1 -1 1 () ()
3、关系运算符(比较运算符)
3.1、基本介绍
- 关系运算符的结果都是boolean型,也就是要么是true,要么是false
- 关系表达式经常用在if结构的条件中或循环结构的条件中
- 关系运算符的使用和java一样
3.2、关系运算符的一览图
3.3、案例演示
1 2 3 4 5 6 7 | var a = 9 var b = 5 println(a > b) // true println(a > = b) // true println(a < = b) // false println(a == b) // false println(a ! = b) // true |
结果
true true false false true
3.4、说明
- 关系运算符的结果都是Boolean型,也就是要么是true,要么是false。
- 关系运算符组成的表达式,我们称为关系表达式。a>b
- 比较运算符“==”不能误写成“=”
- 使用陷阱:如果两个浮点数进行比较,应当保证数据类型一致
4、逻辑运算符
4.1、介绍
用于连接多个条件(一般来讲就是关系表达式),最终的结果也是一个Boolean值
4.2、逻辑运算符的一览图
4.3、案例
1 2 3 4 | println(q && w) println(q || w) println(!w) println(!q) |
结果
false true true false
5、赋值运算符
5.1、介绍
赋值运算符就是将某个运算后的值,赋给指定的变量。
5.2、赋值运算符的分类
5.3、案例演示
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | var num = 2 num << = 2 println(num) num >> 3 println(num) //scala 中代码块是有返回值的 var res 1 = { if (num > = 1 ) "hello wdh01" else 100 } println(res 1 ) //有两个变量,a和b,要求将其进行交换,但是不允许使用中间变量,最终打印结果 var e = 3 var r = 2 a = a + b b = a - b a = a - b |
结果
8
8
hello wdh01
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!