运算符的优先级(从高到低)
优先级 | 描述 | 运算符 |
1 | 括号 | ( ) 、 [ ] |
2 | 正负号 | +、- |
3 | 自增自减,非 | ++、--、! |
4 | 乘除,取余 | *、/、% |
5 | 加减 | +、- |
6 | 移位运算 | <<、>> |
7 | 比较关系 | >、>=、<、<= |
8 | 等价关系 | ==、!= |
9 | 按位与 | & |
10 | 按位异或 | ^ |
11 | 按位或 | | |
12 | 逻辑与 | && |
13 | 逻辑或 | || |
14 | 条件运算 | ? : |
15 | 赋值运算 | =、+=、-=、*=、/=、%= |
16 | 位赋值运算 | &=、|=、<<=、>>= |
接下来讲解一下java中常用的运算符
-
算数运算符
+(加)、-(减)、 *(乘) 、/(除)、%(取余)
System.out.println("1+1="+(1+1));//输出结果为1+1=2
System.out.println("1-1="+(1-1));//输出结果为1-1=0
System.out.println("2*4="+(2*4));//输出结果为2*4=8
System.out.println("6/5="+(6/5));//输出结果为6/5=1
System.out.println("6%4="+(6%4));//输出结果为6%4=2
注:"1+1="+(1+1)含义为,“1+1=“会原样输出,中间的加号表示将前后式子连接,(1+1)表示运算结果
2.比较运算符
>(大于)、>=(大于等于)、<(小于)、<=(小于等于)
System.out.println("5 > 4 ="+(5 > 4 ));//true
System.out.println("5 > 4 ="+(5 > 4 ));//true
System.out.println("5 > 4 ="+(5 > 4 ));//true
System.out.println("5 > 4 ="+(5 > 4 ));//true
-
逻辑运算符
&&(与)、||(或)、!(非)
//逻辑与
System.out.println("true && true="+(true && true));//true
System.out.println("true && false="+(true && false));//false
System.out.println("false && false="+(false && false));//false
//逻辑或
System.out.println("true || true="+(true || true));//true
System.out.println("true || false="+(true || false));//true
System.out.println("false || false="+(false || false));//false
//逻辑非
System.out.println("!false ="+(!false ));//true
System.out.println("!true ="+(!true ));//false
-
等价关系
==(等于)、!=(不等于)
System.out.println(2==2);//true
System.out.println(2!=3);//true
System.out.println(2==3);//false
System.out.println(2!=2);//false
-
自增自减
自增(减)分为先自增(减)和后自增(减)
a.后自增:先取值,在进行值增加
int x = 1;
x++;
System.out.println(x);
x=1先取值,其值为1,再进行值增加运算,得到最终结果为2.
b.后自减:先取值,再进行减减
//继上段代码,x值为2
x--;
System.out.println(x);
x先取值2,进行减减操作,最终得到结果为1.
c.先自增:先进行值增加,再取值
//继上段代码,x值为1
++x;
System.out.println(x);
x值为1,先进行值增加为2,再取其值2即为最终结果
d.先自减:先进行值递减,再取值
//继上段代码,x值为2
--x;
System.out.println(x);
x值为2,先进行值递减为1,再取其值1即为最终结果
-
赋值运算
int x = 5;
System.out.println(x+=1);//6
x+=1相当于x=x+1,根据运算符的优先顺序,先将行加法操作5+1等于6,在进行“=”赋值操作,即x的值为6.
-=、*=、/=、%= 等运算同理
-
条件运算(三目运算)
A ? B : C 当A表达式为True的时候执行B表达式,否则执行C表达式
int a = 5,b = 6;
System.out.println(a > b ? a : b);//6
5>6的值为假,所以执行“:”后的表达式,得到结果为6