本文主要是介绍Java基础-运算符,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
算术运算符
运算符 | 含义 | 例子 | 结果 |
---|
+ | 加法 | 9+4 | 13 |
- | 减法 | 9-4 | 5 |
* | 乘法 | 9*4 | 36 |
/ | 除法(当两边为整数时,取整数部分,舍余数。当其中一边为浮点型时,按正常规则相除) | 9/4 | 2 |
% | 取余(0不能做除数,否则报错) | 9%4 | 1 |
++ | 自增(++在后,先赋值再运算) | a=3 ; c=a++ | 先赋值运算c=a=3 ; 再算术运算a=a+1=4 |
++ | 自增(++在前,先运算在赋值) | a=3 ; c=++a | 先算术运算a=a+1=4 ; 再赋值运算c=a=4 |
-- | 自减(--在后,先赋值再运算) | a=3 ; c=a-- | 先赋值运算c=a=3 ; 再算术运算a=a-1=2 |
-- | 自减(--在前,先运算在赋值) | a=3 ; c=--a | 先算术运算a=a-1=2 ; 再赋值运算c=a=2 |
赋值运算符
运算符 | 含义 | 例子 | 结果 |
---|
= | 将运算符右边的值赋给左边的变量<br/>(左边只允许是变量,不能是表达式或其他形式) | int a ; a=4 | 将4赋值给变量a ,a的值由未知变为4, a=4 |
+= | 将该运算符左边的数值加上右边的数值, 其结果赋值给左边变量本身 | int a=4 ; a+=4 | a=a+4=4+4=8 |
-= | 将该运算符左边的数值减去右边的数值, 其结果赋值给左边变量本身 | int a=4 ; a-=4 | a=a-4=4-4=0 |
*= | 将该运算符左边的数值乘以右边的数值, 其结果赋值给左边变量本身 | int a=4 ; a*=4 | a=a*4=4*4=16 |
/= | 将该运算符左边的数值整除右边的数值, 其结果赋值给左边变量本身 | int a=4 ; a/=4 | a=a/4=4/4=1 |
%= | 将该运算符左边的数值除以右边的数值后取余,其结果赋值给左边变量本身 | int a=4 ; a%=4 | a=a%4=4%4=0 |
比较(关系)运算符
- (运算结果都是
boolean
型 [ true
(真) , false
(假) ])
运算符 | 含义 | 例子 | 结果 |
---|
> | 大于 | 4>6 | false |
< | 小于 | 4<6 | true |
\>= | 大于或等于 | 4>6 | false |
<= | 小于或等于 | 4<=6 | true |
== | 两边是否相等(比较对象地址) | String a="abc"; String b="abc"; System.out.println(a==b); System.out.println(a.equals(b)); | a==b //内存空间相同 true a.equals(b) //值相同 true |
equals | 是否相等(比较对象内容) | String a="abc"; String b=new String("abc"); System.out.println(a==b); System.out.println(a.equals(b)); | a==b //内存空间不同 false a.equals(b) //值相同 true |
!= | 两边是否不等 | 4!=6 | true |
逻辑运算符
- 特点是操作
boolean
值 - 运算符左右两边必须是
boolean
值 (将两边的结果进行连接,判断真或假 true || false
) - 其中
&
|
^
这三个也是位运算符,能操作数字 &
|
^
这三个运算符 当两侧操作符是boolean
时作为逻辑运算符,两侧操作符是整数类型,则作为位运算符或,或-短路
,论坛MD会转义,用文字代替
运算符 | 含义 | 例子 | 结果 |
---|
& | and(与) <只有两边结果都为true,结果才为true ; 只要有一边结果为false,结果为false> | false&true; true&true | false ; true |
或 | or(或) <只有两边结果都为false,结果才为false; 只要有一边结果为true,结果为true> | false或true; false或false | true ; false |
^ | xor(异或) <两边结果为true,结果为false ; 其余的情况与 (或) 相同 > | false^true ; false^false ; true^true | true ; false ; false |
! | not(非) <输出相反的情况 > | !true | false |
&& | and(短路) < 运算结果与&一致,运算方法不同; 左边的一旦为false,右边的就不再参与计算,直接输出结果为false> | false&&true ; true&&true | false;true |
或-短路 | or(短路)<运算结果与(或)一致,运算方法不同; <br/>左边的一旦为true,右边的就不再计算,直接输出结果为true> | false 或-短路 true ; false 或-短路 false | true ; false |
位运算符(非重点, 但是一些加密算法经常用到)
- 对二进制直接进行运算
&
|
^
这三个运算符 当两侧操作符是boolean
时作为逻辑运算符,两侧操作符是整数类型,则作为位运算符
运算符 | 含义 | 运算细节 | 例子 | 结果 |
---|
<< | 左移(左移几位就是该数据乘以2的几次方) | 空位补0 ,被移除的高位丢弃 | 3<<2=12 | 3*2*2=12 |
>> | 右移(右移几位就是该数据除以2的几次方) | 被移除的高位是0就补0 ,是1就补1 | 6>>2=1 | 6/2(2)=1 |
>>> | 无符号右移 | 被移除的高位无论是0还是1 ,空位都补0 | 3>>>1 | 3/2=1 |
& | 与 | 只有1&1时是1 ; 否则是0 | 6&3 | 2 |
或 | 或 | 只有0或0时是0 ; 否则是1 | 6或3 | 7 |
^ | 异或 | (相同二进制位进行^运算,结果是0 {1^1=0 ;0^0=0} 不同 , 结果是1 .{1^0=1 ; 0^1=1}) | 6^3 | 5 |
~ | 反码 | 对二进位按位求反(1变0 ; 0变1) | ~6 | -7 |
三元运算符
运算符 | 含义 | 例子 | 结果 |
---|
? : [条件语句]? [表达式1]:[表达式2] | 如果?左边的条件语句为真 ,执行表达式1 ; 如果?左边的条件语句为假 ,执行表达式2 | int a=1,b=2,c; c=a>b?100:200; | c=200 |
运算符之间的优先级
优先级 | 运算符 | 类 |
---|
1 | () | 括号运算符 |
2 | ! , +(正号) , -(负号) | 一元运算符 |
2 | ~ | 位逻辑运算符 |
2 | ++ , -- | 递增与递减运算符 |
3 | * , / , % | 算术运算符 |
4 | + , - | 算术运算符 |
5 | << , >> | 位左移,右移运算符 |
6 | > , >= , < , <= | 关系运算符 |
7 | == , != | 关系运算符 |
8 | & | 位运算符,逻辑运算符 |
9 | ^ | 位运算符,逻辑运算符 |
10 | 或 | 位运算符,逻辑运算符 |
11 | && | 逻辑运算符 |
12 | 或-短路 | 逻辑运算符 |
13 | ?: | 条件运算符 |
14 | = ,+= , -= , *= , /= , %= | 赋值运算符,扩展运算符 |
加端端老师免费领取更多Java资料
这篇关于Java基础-运算符的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!