java语言支持如下运算符
算术运算符:+,-,*,/,%(模),++,--
赋值运算符 =
//二元运算符
//ctrl + D
int a=10;
int b=20;
int c=40;
int d=50;
System.out.println(a+b);//30
System.out.println(b-c);//-20
System.out.println(c*d);//2000
System.out.println(d/a);//5
long a=23874585792L;
int b=123;
short c=10;
byte d=8;
System.out.println(a+b+c+d);//23874585933
System.out.println(b+c+d);//141
System.out.println(c+d);//18
关系运算符:>,<,>=,<=,==,!=,instanceof(nstanceof是Java中的二元运算符,左边是对象,右边是类;当对象是右边类或子类所创建对象时,返回true;否则,返回false)
int a=10;
int b=20;
int c=21;
?
System.out.println(c%a);//取余
System.out.println(a>b);//false
System.out.println(a<b);//true
System.out.println(a==b);//false
System.out.println(a!=b);//true
逻辑运算符:&&(与),||(或),!(非)
//逻辑运算符 与(and) 或(or) 非(取反)
boolean a=true;
boolean b=false;
System.out.println("a && b "+(a&&b));//逻辑与运算,两个变量都为真,结果才为true
System.out.println("a || b "+(a||b));//逻辑或运算,有一个为真,结果就为true
System.out.println("!(a && b) "+!(a&&b));//真变假 假变真
?
//短路运算 与逻辑判断第一个为假时就不会执行第二个
int c=5;
boolean d=(c<4)&&(c++<4);
System.out.println(d);//false
System.out.println(c);//5
位运算符:&,|,^,~,>>,<<,>>>(了解)
//位运算符
A= 0011 1100
B= 0000 1101
?
A&B = 0000 1100
A|B = 0011 1101
A^(相同为0,不同为1)B =0011 0001
~B = 1111 0010
//效率高
<<(左移) *2
>>(右移) /2
>>>(右移补零操作符) 左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。
0000 0010 2
0000 0100 4
0000 1000 8
0010 0000 16
System.out.println(2<<3);//16
System.out.println(16>>3);//2
条件运算符:? :(三元运算符)
//三元运算符
//x ? y : z
//如果x==true,则结果为y,否则为z
int score=80;
String type=score<60?"不及格":"及格";
System.out.println(type);//及格
扩展赋值运算符:+=,-=,*=,/=,
int a=10;
int b=20;
a-=b;//a=a-b
System.out.println(a);//-10
?
int a=10;
int b=20;
a+=b;//a=a-b
System.out.println(a);//30
?
int a=10;
int b=20;
a*=b;//a=a-b
System.out.println(a);//200
?
int a=10;
int b=20;
a/=b;//a=a-b
System.out.println(a);//0
?
//字符串连接符 当+号链接字符串时其它的也变成字符串,字符串要在前面
System.out.println(""+a+b);//3020
System.out.println(a+b+"");//50
优先级
原文:https://www.cnblogs.com/bronya187/p/14701124.html