import junit.framework.TestCase/** * 运算符 */class Demo3 extends TestCase { def test_+ { var x = 10; var y = 101; //规则1 在算术运算符这边有些加减乘除取模的 运算符通过方法 获取值了,因为在scala中函数名称允许用特殊字符 //规则2 在算术运算符中没有自增,也没有自减,替换成了 x+=1;x-=1; //规则3 在关系运算符中 >,<,>=,<=,==,!= 都可以用,并且scala同时提供相同函数,作用类似 //规则4 在逻辑运算符中 &,|,!,&&,||,^ 都可以用,并且scala同时提供相同函数,作用类似 //规则5 在赋值运算符中 +=,-=,*=,/=,%= 都可以用,scala没有提供相同的函数 //规则5 位运算符中 &,|,^ 都可以用,并且scala同时提供相同函数,作用类似 //规则5 三元表达式在scala中取消了,被if else代替了 //算术运算符 +,-.*,/,%/* println("x+y=" + (x + y)) println("x%y=" + x.+(y)) println("x-y=" + (x - y)) println("x%y=" + x.-(y)) println("x*y=" + (x * y)) println("x%y=" + x.*(y)) println("x/y=" + (x / y)) println("x%y=" + x./(y)) println("x%y=" + (x % y)) println("x%y=" + (x.%(y))) * */ //赋值运算符 +=,-=,*=,/=,%= x+=y x-=y x*=y x/=y x%=y //关系运算符 >,<,>=,<=,==,!= var b = true; b = x>y b = x=y b = x<= y b = x==y b = x!=y //逻辑运算符 &,|,!,&&,||,^ val k1 = true val k2 = true val k3 = false val k4 = false println(k1&k2); println(k2&k3); println(k3&k4); println(k1|k2); println(k2|k3); println(k3|k4); println(!k1); println(!true); println(k1&&k2); println(k2&&k3); println(k3&&k4); println(k1||k2); println(k2||k3); println(k3||k4); println(k1^k2); println(k2^k3); println(k3^k4); //位运算符 &,|,^ val m1 = 100; val m2 = 200; println(m1&m2); println(m1|m2); println(m1^m2); }}