一、运算符
1)算数运算符:+,-,*,/,%,++,--
2)逻辑运算符:&&,&,||,|,!,^
3)赋值运算符:=
4)关系运算符:>,<,>=,<=,==,!=,
5)位运算符:&,|,^,~,<<,>>,>>>
6)条件运算符 ? :
7)扩展赋值运算符:+=,-=,*=,/=,%=
二、运算符介绍 1、算法运算符
public class Hello { public static void main(String[] args) { int a=10; int b=20; //通过加法运算符,对变量a和变量b进行相加 System.out.println(a+b);//所得结果为 30 }}
2)-:减法运算符
public class Hello { public static void main(String[] args) { int a=10; int b=20; //通过减法运算符,对变量a和变量b进行相减 System.out.println(a-b);//所得结果为 -10 }}
3)*:乘法运算符
public class Hello { public static void main(String[] args) { int a=10; int b=20; //通过乘法运算符,对变量a和变量b进行相乘 System.out.println(a*b);//所得结果为 200 }}
4)/:除法运算符
public class Hello { public static void main(String[] args) { int a=10; double b=2; //通过除法运算符,对变量a和变量b进行相除 //如果两个变量为整数类型,所得结果为整数,如果其中一个变量为浮点数, //所得结果为浮点数,除数不可为0,否则会引发异常。 System.out.println(a/b);//所得结果为5.0 都是整数类型所得结果为5 }}
5)%:求余运算符
public class Hello { public static void main(String[] args) { int a=101; int b=20; int age=a%b; //通过求余运算符,对变量a和变量b进行相除余 System.out.println(age);//所得结果为1 }}
6)++:自加运算符
public class Hello { public static void main(String[] args) { int a=10; int b=++a+1;//先增加在执行 System.out.println(b);//结果为12 int d=10; System.out.println(d);//结果为10 int c=d++ +1;//先执行在增加 System.out.println(c);//结果为11 }}
7)--:自减运算符
public class Hello { public static void main(String[] args) { int a=10; int b=--a-1;//先自减在执行 System.out.println(b);//结果为8 int d=10; System.out.println(d);//结果为10 int c=d-- -1;//先执行在自减 System.out.println(c);//结果为9 }}
2、逻辑运算符
短路运算:两个操作数进行操作的时候,int a=3(a=(a<2)&&a++<2)如果前面的如果错,后面的就不执行了
&&:与,操作的两个操作数都为true,则返回true,否则返回false
&:与&&所得结果相同,不短路
||:或,操作的两个操作数,其中一个为true,则返回true,负责为false
|:与||所得结果相同,不短路
!:非,如果所的为true,则返回false,如果为false,则返回为true。取反
^:两个操作数不同为true,相同则为flase
3、赋值运算符public class Hello { public static void main(String[] args) { //=:赋值运算符 int a=10;//通过=,吧10赋值给a }}
4、关系运算符public class Hello { public static void main(String[] args) { //关系运算符:>(大于),<(小于),>=(大于等于),<=(小于等于), //==(等于),!=(不等于) int a=10; int b=15; System.out.println(a!=b);//返回为true,a不等于b }}
5、位运算符先吧数据转换为二进制
&,|,^当俩边是数据就做位运算,俩边是布尔值就做逻辑运算
%:按“与”,两个操作数进行比较,相同返回1,不相同返回0
|:按“或”,两个操作数进行比较,其中一个相同就返回1
^:按“非”,两个操作数进行比较,取相反的数
~:按“异或”,两个操作数相同返回0,不相同返回1
<<:左移运算符
>>:右移运算符
>>>:无符号右运算符
public class Hello { public static void main(String[] args) { //条件运算符 ? : //进行表达式比较,按照条件,输出满足条件的双引号内的内容 String str = 9 < 4 ? "9大于4" : "9不大于4"; System.out.println(str); //输出9不大于4 }}
7、扩展赋值运算符public class Hello { public static void main(String[] args) { //扩展赋值运算符:+=,-=,*=,/=,%= int a=10; int b=20; //a+=b:等于a=a+b //a+=b; //a-=b:等于a=a-b //a-=b; //a*=b:等于a=a*b //a*=b; //a/=b:等于a=/+b //a/=b; //a%=b:等于a=a%b //a%=b; a%=b; System.out.println(a); }}
三、运算符优先级Java表达式中存在多个运算符,运算符之间也存在优先级关系,下面这个图中,1号内是优先级最高,14号是优先级最低的。运算符用顿号隔开。
优先级运算符结合性1()、[]、.从左到右2 !、+(正)、-(负)、~、++、--从右到左3*、/从左到右4+(加)、-(减)从左到右5<<、>>、>>>从左到右6<、<=、>、>=从左到右7==、!=从左到右8&从左到右9^从左到右10|从左到右11&&从左到右12||从左到右13?:从右到左14=、+=、-=、*=、/=、%=、&=、|=、^=、~=、<<=、>>=、>>>=从右到左