个人复习Day2
五、运算符
1.算术运算符(+、-、*、/、%)
取余的符号和被除数有关
int x=3;
int y=-2;
int r=x/y;
int r2=x%y;
System.out.println(r);
System.out.println(r2);
System.out.println(" ");
System.out.println(9.0/0);
System.out.println(0.0/0);
System.out.println(0.0/0.0);
System.out.println(0/0.0);
//System.out.println(0/0);
//System.out.println(9/0);
结果:
-1
1
Infinity
NaN
NaN
NaN
典型案例:
byte b=10;
byte b1=1;
//运算法则:有变量参与的算术运算,表达式的最小为int类型
b=(byte)(b+10);//b+10成为int类型
b+=10;//b=b+10;
b+=10;系统自动进行类型转换。
2.连接符:+
System.out.println(3+5+"");// 8
System.out.println(""+3+5); //35
System.out.println(3+5+""+3+5); //835
//字符串在后面,紧连着的是连接符,前面的都是运算符
//字符串在前面,后面的都是连接符
3.赋值运算符:=
4.自增自减运算符:++、- -
5.比较运算符:> >= < <= == !=
6.逻辑运算符:! && ||
7.二进制运算符:& | ^ ~
&全1则1,有0则0
| 有1则1,全0为0
^相同为0,不同为1
~先取反,再加1
8.两个数交换的解决方案(a=1,b=2;a=2,b=1)
1.b+=a;a=b-a;b=b-a;
2.b=b^ a;a=a ^ b ;b=a^b;
3.int c;c=a;a=b;b=c;
9.三目运算符(c=A?a:b)
c的数据类型与a,b类型有关,a,b不统一时,c可以用Object类型
Object c=true?1:true