Scala 运算符


Scala 运算符

Scala 是一种强类型的编程语言,它提供了丰富的运算符用来进行各种运算操作。这篇文章会介绍 Scala 中的各种运算符,包括算术运算符、比较运算符、逻辑运算符、位运算符等。

算术运算符

Scala 中的算术运算符包括加、减、乘、除、取余等。

  • 加号 + :用于两数相加,也可以用于字符串连接。

    val a = 10
    val b = 20
    val c = a + b // c = 30
    
    val str1 = "Hello"
    val str2 = "Scala"
    val str3 = str1 + str2 // str3 = "HelloScala"
    
  • 减号 - :用于两数相减。

    val a = 10
    val b = 20
    val c = a - b // c = -10
    
  • 乘号 * :用于两数相乘。

    val a = 10
    val b = 20
    val c = a * b // c = 200
    
  • 除号 / :用于两数相除。

    val a = 10
    val b = 20
    val c = b / a // c = 2
    
  • 取余 % :用于获取两数相除的余数。

    val a = 10
    val b = 20
    val c = b % a // c = 0
    

比较运算符

Scala 中的比较运算符主要用于进行数值的大小比较,包括等于、不等于、大于、小于、大于等于、小于等于等。

  • 等于 == :用于比较两个值是否相等。

    val a = 10
    val b = 20
    val c = a == b // c = false
    
  • 不等于 != :用于比较两个值是否不相等。

    val a = 10
    val b = 20
    val c = a != b // c = true
    
  • 大于 > :用于比较两个值的大小,判断左边的值是否大于右边的值。

    val a = 10
    val b = 20
    val c = b > a // c = true
    
  • 小于 < :用于比较两个值的大小,判断左边的值是否小于右边的值。

    val a = 10
    val b = 20
    val c = a < b // c = true
    
  • 大于等于 >= :用于比较两个值的大小,判断左边的值是否大于等于右边的值。

    val a = 10
    val b = 20
    val c = b >= a // c = true
    
  • 小于等于 <= :用于比较两个值的大小,判断左边的值是否小于等于右边的值。

    val a = 10
    val b = 20
    val c = a <= b // c = true
    

逻辑运算符

Scala 中的逻辑运算符主要用于对布尔值进行运算。包括逻辑与、逻辑或、逻辑非等。

  • 逻辑与 && :用于判断两个布尔值是否都为真。

    val a = true
    val b = false
    val c = a && b // c = false
    
  • 逻辑或 || :用于判断两个布尔值是否有一个为真。

    val a = true
    val b = false
    val c = a || b // c = true
    
  • 逻辑非 ! :用于对一个布尔值进行取反。

    val a = true
    val b = !a // b = false
    

位运算符

Scala 中的位运算符主要用于对二进制数进行操作,包括按位与、按位或、按位异或、按位取反等。

  • 按位与 & :用于将两个二进制数对应位同时为1时得到的结果。

    val a = 60 // 二进制为 111100
    val b = 13 // 二进制为 1101
    val c = a & b // 12,二进制为 1100
    
  • 按位或 | :用于将两个二进制数对应位有一个为1时得到的结果。

    val a = 60 // 二进制为 111100
    val b = 13 // 二进制为 1101
    val c = a | b // 61,二进制为 111101
    
  • 按位异或 ^ :用于将两个二进制数对应位不同得到的结果。

    val a = 60 // 二进制为 111100
    val b = 13 // 二进制为 1101
    val c = a ^ b // 49,二进制为 110001
    
  • 按位取反 ~ :用于将一个二进制数的每一位取反。

    val a = 60 // 二进制为 111100
    val b = ~a // -61,二进制为 11111111111111111111111111000011
    

其他运算符

除了上述运算符,Scala 中还有其他运算符,包括空值合并、类型转换、赋值等。

  • 空值合并 ?? :用于判断一个值是否为 null,如果是则返回默认值。

    val a: String = null
    val b = a ?? "default" // b = "default"
    
  • 类型转换 asInstanceOf :用于将一个类型转换为另一个类型。

    val a: Any = "Hello"
    val b = a.asInstanceOf[String] // b = "Hello"
    
  • 赋值 = :用于将一个值赋给变量。

    var a = 10
    a = 20
    
  • 复合赋值 +=、-=、*=、/=、%=、&=、|=、^= : 用于进行加、减、乘、除、取余、按位与、按位或、按位异或等操作,并将操作的结果赋给变量。

    var a = 10
    a += 5 // a = 15
    a -= 5 // a = 10
    a *= 2 // a = 20
    a /= 5 // a = 4
    a %= 3 // a = 1
    a &= 1 // a = 0
    a |= 1 // a = 1
    a ^= 1 // a = 0
    

总结

本篇文章介绍了 Scala 中的各种运算符,包括算术运算符、比较运算符、逻辑运算符、位运算符等。在实际编程中,可以根据需要灵活使用这些运算符来完成相应的运算操作。