scala基本运算

81 阅读4分钟

1.算数运算符

什么是运算符?

运算符就一个特殊的符号,使用运算符可以将一个或多个操作数连成可执行的语句,用于实现不同的功能。

运算符的分类

按照对数据操作的功能不同,我们可以把Scala运算符分为以下五大类。

· 算术运算符:只能用来做加、减、乘、除等算术运算。

· 关系运算符:用来对数值进行比较,比如>、<=、>=等。

· 逻辑运算符:包含逻辑与、逻辑或、逻辑非三种运算符,也是用于比较的。

· 位运算符:用于对二进制数的位进行左移、右移、取反等操作。

· 赋值运算符:用于将一个值进行赋值,例如=、+=、-=等。

代码如下图所示:

scala
 体验AI代码助手
 代码解读
复制代码

  //算数运算符
  
  //数据类型  7:Int
  //         4:Int
  //         7/4的结果是Int
  println(7/4)
  println(7%4)
  println(7-4)
  println(7+4)
  println(7*4)
}

图片如下图所示:

Snipaste_2025-09-16_09-15-21.png

2.Scala的关系运算符

关系运算符会得到Bool值。scala中的关系运算符如下:

关系运算符会得到Bool值。scala中的关系运算符如下:

== 等于

!= 不等于

大于

< 小于

= 大于等于

<= 小于等于

代码如下:

scala
 体验AI代码助手
 代码解读
复制代码

println(a)
println(7==4)//false
println(7>4)//true
println(7!=4)//true
println(7<4)//false
println(7>=4)//true
println(7<=4)//false

图片如下图所示:

Snipaste_2025-09-16_09-33-17.png

3.Scala的逻辑运算符

 Scala中的逻辑运算跟Java中一样,也是与、或、非三种情况,具体如下。

· 与:&& 运算表达式有一个为假,则整个表达式为假false。

· 或:|| 运算表达式有一个为真,则整个表达式为真true。

· 非:! 就是取反的意思,与参与表达式相反。

实例: 本例子为计算是否为闰年的实例:

scala
 体验AI代码助手
 代码解读
复制代码
object base09 {
  def main(args: Array[String]): Unit = {
    //判断闰年
    /*
    1.让用户输入一个整数,表示年份
    2.判断这个年份是否是闰年
    3.输出结果
    */
    print(" 请输入年份:" )
    val year:Int = scala.io.StdIn.readInt()
    //2000 ===> 是
    //2024 ===> 是
    //2025 ===> 不是
    //1900 ===> 不是
    var result:Boolean = (year % 400 == 0) || (year % 100 != 0 && year % 4 == 0)

    if(result) {
      println(s"$year 是闰年")
    } else {
    println(s"$year 不是闰年")
    }

  }

}

图片如图所示:

Snipaste_2025-09-16_10-29-31.png

4.Scala的赋值运算符

= 简单的赋值运算,指定将右边操作数赋值给左边的操作数

+= 相加后再赋值,将左右两边的操作数相加后再赋值给左边的操作数

-= 相减后再赋值,将左右两边的操作数相减后再赋值给左边的操作数

*= 相乘后再赋值,将左右两边的操作数相乘后再赋值给左边的操作数

/= 相除后再赋值,将左右两边的操作数相除后再赋值给左边的操作数

%= 求余后再赋值,将左右两边的操作数进行求余操作后再赋值给左边的操作数

代码如下:

scala
 体验AI代码助手
 代码解读
复制代码
object base10 {
  def main(args: Array[String]): Unit = {
    //赋值运算符

    var a = 1 // 把右边的计算结果保存到左边的变量

    a += 2  // a += 2 等价于 a = a + 2  a=3
    println(a)

    var b = 1
    b -= 3  // b -= 3 等价于 b = b - 3  b=-2
    println(b)

    var c = 1
    c *= 3  // c *= 3 等价于 c = c * 3  c=3
    println(c)

    var d:Double = 1
    d /= 4  // d /= 4 等价于 d = d / 4  d=0.25
    println(d)
  }
}

注意: 代码中的变量容易搞混,所以要区分开来,且有的计算结果不是整数,所以要确定好数据类型。

图片如下图所示:

Snipaste_2025-09-16_10-47-12.png

5.scala的位运算

Snipaste_2025-09-16_11-15-12.png

常用的位运算符如下:

1. & 按位与运算符。0&1 = 0,  1&0= 0 , 0&0 = 0, 1&1 = 1

2. | 按位或运算符。0|1 = 1,  1|0= 1 , 0|0 = 0, 1|1 = 1

3. ^ 按位异或运算符。0^1 = 1,  1^1= 0, 0^0 = 0

4. ~ 按位取反运算符

5. << 左移运算符。右边补零,放大。

6. >> 右移运算符。左边补零,缩小。

代码如下:

scala
 体验AI代码助手
 代码解读
复制代码
object base11 {
  def main(args: Array[String]): Unit = {
    //位运算
    println(5 & 4)//4
    println(5 | 4)//5



    println(4<<2)//16
    println(4>>2)//1
  }
}

图片如下:

Snipaste_2025-09-16_11-37-01.png

6.scala的运算优先级

scala
 体验AI代码助手
 代码解读
复制代码
val result = 10 - 2 + 3 * 4 / 2  
println(result) // 问题1

val a = true  
val b = false  
val c = false  
println(a || b && c) // 问题2

晕算结果如图所示:

Snipaste_2025-09-16_11-40-43.png

基本规则:

1. 乘(*)除(/)模(%) > 加(+)减(-)

2. 算术(+-*/%) > 关系(><>=!=) > 赋值(=)

3. && >

作者:学习通转掘金 链接:juejin.cn/post/755024…
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。