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
  }
}

位运算符

posted @ 2022-01-02 20:32  Gazikel  阅读(70)  评论(0编辑  收藏  举报