欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

Java运算符和优先级

时间:2023-06-19

一、运算符

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

<<:左移运算符

>>:右移运算符

>>>:无符号右运算符


  

6、条件运算符

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=、+=、-=、*=、/=、%=、&=、|=、^=、~=、<<=、>>=、>>>=从右到左

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。