Scala的运算符:
算术运算符:只能用来做加、减、乘、除等算术运算。
关系运算符:用来对数值进行比较,如>、<=、>=等。
逻辑运算符:包含逻辑与、逻辑或、逻辑非三种运算符,也是用于比较的。
位运算符:用于对二进制数的位进行左移、右移、取反等操作。
赋值运算符:用于将一个值进行赋值,如=、+=、-=等。
Scala的算数运算符:
下面来举个例子:
编辑一个Test1.scala的文本文件,内容如下:
编译并运行Test1.scala,结果如下:
Scala中算术运算符的本质:
+相当于调用对应类型的+方法
-相当于调用对应类型的-方法
*相当于调用对应类型的*方法
/相当于调用对应类型的/方法
%相当于调用对应类型的%方法
Scala的关系运算符:
下面来举个例子:
编辑一个Test2.scala的文本文件,内容如下:
编译并运行Test2.scala文件,结果如下:
Scala的逻辑运算符:假定变量A=1,B=0
下面来举个例子:
编辑一个Test3.scala的文本文件,内容如下:
编译并运行Test3.scala文件,结果如下:
Scala的位运算符:
位运算符用来对二进制位进行操作,位运算符包括:按位与&,按位或|,按位非~,按位异或^四种。
下面来举个例子:
编辑一个Test4.scala的文本文件,内容如下:
编译并运行Test4.scala文件,结果如下:
Scala的赋值运算符:
下面来举个例子:
编辑一个Test5.scala的文本文件,内容如下:
object Test5 {
def main(args: Array[String]) {
var a = 10;
var b = 20;
var c = 0;
c = a + b;
println("c = a + b = " + c ); c += a ;
println("c += a = " + c ); c -= a ;
println("c -= a = " + c ); c *= a ;
println("c *= a = " + c ); a = 10; c = 15; c /= a ;
println("c /= a = " + c ); a = 10; c = 15; c %= a ;
println("c %= a = " + c ); c <<= 2 ;
println("c <<= 2 = " + c ); c >>= 2 ;
println("c >>= 2 = " + c ); c >>= 2 ;
println("c >>= a = " + c ); c &= a ;
println("c &= 2 = " + c ); c ^= a ;
println("c ^= a = " + c ); c |= a ;
println("c |= a = " + c );
} }
编译并运行Test5.scala文件,结果如下:
运算符优先级取决于所属的运算符组,它会影响算式的的计算。例如: x = 7 + 3 * 2; 这里, x 计算结果为 13, 而不是 20,因为乘法() 高于加法(+), 所以它先计算 32 再加上 7。查看以下表格,优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。