-
算术运算符:+,-,*,/,%(模运算:取余数),++,--
-
赋值运算符 :=
-
关系运算符:>, <, >=, <= ,== ,!= instanceof
-
逻辑运算符:&&,||, !
-
位运算符:&,|,^, ~ , >> , << , >>>(了解)
-
条件运算符 ? :
-
扩展赋值运算符:+= ,-=,*= ,/=
//二元运算符
int a = 10;
int b = 20;
int c = 35;
int d = 40;
System.out.println(a+b);//30
System.out.println(a-b);//-10
System.out.println(a*b);//200
System.out.println(a/b);//0 结果是小数需要转下类型
System.out.println(a/(double)b);//0.5
long a = 1111123213123123L;
int b = 123;
short c = 12;
byte d = 8;
double e = 33.3;
System.out.println(a+b+c+d);//类型:Long 有Long类型结果类型就为Long,没有就是Int类型
System.out.println(b+c+d);//类型:Int
System.out.println(b+c+d);//类型:Int
System.out.println(b+c+d+e);//类型:Double 有Double类型就是Double
// ++a a++的区别
//++ -- 自增 自减 一元运算符
int a = 3;
int b = a++;//执行这行代码后,先给b赋值,再自增
//a++ a = a+1
System.out.println(b);//3
System.out.println(a);//4
int c = ++a;//执行这行代码前,先自增,再给b赋值
System.out.println(c);//5
System.out.println(a);//5
//幂运算 2^3 = 2*2*2 = 8 很多运算,一般会使用一些工具类来操作
double pow = Math.pow(2, 3);
System.out.println(pow);//8.0
逻辑运算符
// 与 and 或 or 非(取反)
boolean a = true;
boolean b = false;
//逻辑与运算:两个变量都为真,结果才为true
System.out.println("a&&b: "+(a&&b));//a&&b: false
//逻辑或运算:两个变量有一个为真,结果才为true
System.out.println("a||b: "+(a||b));//a||b: true
//如果是假结果是真,真则是假
System.out.println("!(a&&b): "+!(a&&b));//!(a&&b): true
//短路运算
int c = 5;
boolean d = (c<4)&&(c++<4);
//c<4 5<4明显是false
System.out.println(d);//false
//当条件出现结果后,后面的运算不执行,所以c还是5
System.out.println(c);//5
位运算符
System.out.println(2<<3);//16 赋值运算符
int a = 10;
int b = 20;
a+=b; //a = a+b
a-=b; //a = a-b
//字符串连接符 + ,String
System.out.println("—"+a+b);//—1020 如果字符在左边就是拼接
System.out.println(a+b+"-");//30- 在右边先运算再拼接
System.out.println("—"+(a+b));//—30 可以加括号
条件运算符 ? :
//三元运算符 //x ? y : z //如果x==true,结果为y,否则结果为z int score = 50; String type = score < 60 ? "不及格":"及格"; System.out.println(type);//不及格 String type1 = score < 50 ? "不及格":"及格"; System.out.println(type1);//及格



