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