算术运算符
val result1: Double = 10 / 3
println(result1) //3
val result2: Double = 10.0 / 3
println(result2.formatter("%5.2f"))// __3.33
println(-10 % 3) // -1 a % b = a - a / b * b
println(10 % -3) // 1 a % b = a - a / b * b
比较运算符
val s1: String = "hello"
val s2: String = new String("hello")
println(s1 == s2) //true 判断内容,不判断引用跟Java不同
println(s1.equals(s2))
println(s1.eq(s2)) //false 判断引用
需求 |
Scala |
Java |
比较引用值 |
== 或者 != |
equals方法 |
比较数据值 |
eq方法 |
==或者!= |
逻辑运算符
// 判断一个字符串是否为空
def isNotEmpty(str: String): Boolean = {
return (str != null && !("".equals(str.trim)))
}
位运算符
运算符 |
功能解释 |
& |
有0则0,都为1为1 |
| |
有1则1,都为0为0 |
^ |
相同为0,不同为1 |
~ |
取反 |
<< |
按位左移,相当于乘2 |
>> |
按位右移,相当于除2 |
// 交换两个变量的值
var a = 10
var b = 20
var temp = a ^ b // 10 ^ 20
a = a ^ temp // 10 ^ 10 ^ 20
b = b ^ temp // 20 ^ 10 ^ 20
// a=20 b=10