算术运算符

  1. val result1: Double = 10 / 3
  2. println(result1) //3
  3. val result2: Double = 10.0 / 3
  4. println(result2.formatter("%5.2f"))// __3.33
  5. println(-10 % 3) // -1 a % b = a - a / b * b
  6. println(10 % -3) // 1 a % b = a - a / b * b

比较运算符

  1. val s1: String = "hello"
  2. val s2: String = new String("hello")
  3. println(s1 == s2) //true 判断内容,不判断引用跟Java不同
  4. println(s1.equals(s2))
  5. println(s1.eq(s2)) //false 判断引用
需求 Scala Java
比较引用值 == 或者 != equals方法
比较数据值 eq方法 ==或者!=

逻辑运算符

  1. // 判断一个字符串是否为空
  2. def isNotEmpty(str: String): Boolean = {
  3. return (str != null && !("".equals(str.trim)))
  4. }

位运算符

image.png

运算符 功能解释
& 有0则0,都为1为1
有1则1,都为0为0
^ 相同为0,不同为1
~ 取反
<< 按位左移,相当于乘2
>> 按位右移,相当于除2
  1. // 交换两个变量的值
  2. var a = 10
  3. var b = 20
  4. var temp = a ^ b // 10 ^ 20
  5. a = a ^ temp // 10 ^ 10 ^ 20
  6. b = b ^ temp // 20 ^ 10 ^ 20
  7. // a=20 b=10