一文學(xué)會(huì)Java運(yùn)算符的使用
算術(shù)運(yùn)算符
運(yùn)算符 | 描述 |
---|---|
+ | 兩數(shù)相加 |
- | 兩數(shù)相減 |
* | 兩數(shù)相乘 |
/ | 兩數(shù)相除 |
% | 取模,返回兩數(shù)相除的余數(shù) |
++ | 自加一 |
- - | 自減一 |
public class User { public static void main(String[] args) { int a = 20; int b = 10; System.out.println(a + b); System.out.println(a - b); System.out.println(a * b); System.out.println(a / b); System.out.println(b % a); } }
輸出:
30
10
200
2
10
++,- -運(yùn)算符
當(dāng)++、- -出現(xiàn)在變量之前,先自加、自減1,再做賦值運(yùn)算
public class User { public static void main(String[] args) { int a = 10; int b = ++a; System.out.println(a);// 11 System.out.println(b);// 11 } }
當(dāng)++,- -出現(xiàn)在變量之后,先做賦值運(yùn)算,再自加、自減1
public class User { public static void main(String[] args) { int a = 10; int b = a++; System.out.println(b);// 10 System.out.println(a);// 11 } }
擴(kuò)展
+運(yùn)算符有兩個(gè)作用
①求和
public class User { public static void main(String[] args) { System.out.println(3 + 4);// 7 } }
②字符串拼接
public class User { public static void main(String[] args) { System.out.println("Hello" + "Java" + "World");// HelloJavaWorld } }
關(guān)系運(yùn)算符
運(yùn)算符 | 描述 | 結(jié)果 |
---|---|---|
== | 判斷值是否相等 | 是返回true,不是返回false |
!= | 判斷值是否不相等 | 是返回trut,不是返回false |
>= | 判斷左邊的值是否大于等于右邊 | 是返回true,不是返回false |
<= | 判斷左邊的值是否小于等于右邊 | 是返回true,不是返回false |
> | 判斷左邊的值是否大于右邊 | 是返回true,不是返回false |
< | 判斷左邊的值是否小于右邊 | 是返回true,不是返回false |
public class User { public static void main(String[] args) { int a = 20; int b = 10; System.out.println(a == b); System.out.println(a != b); System.out.println(a > b); System.out.println(a < b); System.out.println(a <= b); System.out.println(a >= b); } }
輸出:
false
true
true
false
false
true
邏輯運(yùn)算符
運(yùn)算符 | 描述 | 結(jié)果 |
---|---|---|
& | 與 | 兩邊都為True,結(jié)果才為True |
│ | 或 | 有一邊為True,結(jié)果就為True |
! | 非 | 真值變假,假值變真 |
&& | 邏輯與 | 兩邊都為True,結(jié)果才為True |
││ | 邏輯或 | 有一邊為True,結(jié)果就為True |
public class User { public static void main(String[] args) { boolean a1 = true; boolean a2 = false; System.out.println(a1 && a2); System.out.println(a1 || a2); System.out.println(!a1); } }
輸出:
false
true
false
與&和邏輯與&&
public class User { public static void main(String[] args) { // 與& int a = 0; int b = 1; // 當(dāng)左邊表達(dá)式為false,右邊的表達(dá)式依舊會(huì)執(zhí)行 System.out.println(a > b & b > a++);// false System.out.println(a); // 1 // 邏輯與&& int c = 0; int d = 1; // 當(dāng)左邊的表達(dá)式為false,右邊的表達(dá)式不執(zhí)行(短路現(xiàn)象) System.out.println(c > d && d > c++);// false System.out.println(c); // 0 } }
或|和邏輯或||
public class User { public static void main(String[] args) { // 或| int a = 0; int b = 1; // 當(dāng)左邊表達(dá)式為true,右邊的表達(dá)式依舊會(huì)執(zhí)行 System.out.println(a < b | b > a++);// true System.out.println(a); // 1 // 邏輯或|| int c = 0; int d = 1; // 當(dāng)左邊的表達(dá)式為true,右邊的表達(dá)式不執(zhí)行(短路現(xiàn)象) System.out.println(c < d || d > c++);// true System.out.println(c); // 0 } }
總結(jié)
與&和或|要對(duì)所有條件都進(jìn)行判斷(無(wú)論左邊是真假,右邊都會(huì)執(zhí)行)
邏輯與 &&當(dāng)左邊的表達(dá)式為false,右邊的表達(dá)式不執(zhí)行
邏輯或 || 當(dāng)左邊的表達(dá)式為true,右邊的表達(dá)式不執(zhí)行
什么時(shí)候使用&&,什么時(shí)候使用&
從效率方面來(lái)說(shuō),&&比&的效率高一些。
因?yàn)榕c&不管第一個(gè)表達(dá)式結(jié)果是什么,第二個(gè)表達(dá)式一定會(huì)執(zhí)行。
大部分情況下都建議使用短路與&&,只有當(dāng)既需要左邊表達(dá)式執(zhí)行,又需要右邊表達(dá)式執(zhí)行的時(shí)候,才會(huì)選擇與&。
賦值運(yùn)算符
運(yùn)算符 | 描述 |
---|---|
= | 直接賦值 |
+= | 加后賦值 |
-= | 減后賦值 |
*= | 乘后賦值 |
/= | 除后賦值 |
%= | 取模后賦值 |
public class User { public static void main(String[] args) { int a = 2; int b = 1; System.out.println(a += b);//a = a + b System.out.println(a -= b);//a = a - b System.out.println(a *= b);//a = a * b System.out.println(a /= b);//a = a / b System.out.println(a %= b);//a = a % b } }
輸出:
3
2
2
2
0
條件運(yùn)算符
表達(dá)式1?表達(dá)式2:表達(dá)式3
先判斷表達(dá)式1的值,若為真則將表達(dá)式2的值做為整個(gè)表達(dá)式的值;若為假則將表達(dá)式3的值做為整個(gè)表達(dá)式的值。
舉個(gè)栗子:判斷a和b的大小,a>b如果成立max=a的值,不成立則max=b的值
public class User { public static void main(String[] args) { int a = 1, b = 2; int max; max = a > b?a:b; System.out.println(max); } }
輸出:
2
運(yùn)算符優(yōu)先級(jí)
Java中用到的運(yùn)算符除了上面介紹的常用的賦值運(yùn)算符、算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符、條件運(yùn)算符以外,還有其他的運(yùn)算符。當(dāng)一個(gè)表達(dá)式出現(xiàn)多種運(yùn)算符符號(hào),會(huì)按照運(yùn)算符的優(yōu)先級(jí)來(lái)決定運(yùn)算順序,Java中運(yùn)算符優(yōu)先級(jí)見(jiàn)下表
運(yùn)算符 | 描述 | 優(yōu)先級(jí) |
---|---|---|
[] () . , ; | 分隔符 | 1 |
Instanceof ++ - - ! | 對(duì)象歸類、自增自減、非運(yùn)算 | 2 |
* / % | 算術(shù)乘除運(yùn)算 | 3 |
+ - | 算術(shù)加減運(yùn)算 | 4 |
>> << >>> | 移位運(yùn)算 | 5 |
< <= > >= | 大小關(guān)系運(yùn)算 | 6 |
== != | 相等關(guān)系運(yùn)算 | 7 |
& | 按位與運(yùn)算 | 8 |
^ | 按位異或運(yùn)算 | 9 |
│ | 按位或運(yùn)算 | 10 |
&& | 邏輯與運(yùn)算 | 11 |
││ | 邏輯或運(yùn)算 | 12 |
? : | 三目條件運(yùn)算 | 13 |
= += -= *= /= &= | 賦值運(yùn)算 | 14 |
到此這篇關(guān)于一文學(xué)會(huì)Java運(yùn)算符的使用的文章就介紹到這了,更多相關(guān)Java運(yùn)算符內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java web中圖片驗(yàn)證碼功能的簡(jiǎn)單實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇java web 驗(yàn)證碼的簡(jiǎn)單實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-06-06Java零基礎(chǔ)教程之Windows下安裝、啟動(dòng)Tomcat服務(wù)器方法圖解(免安裝版)
這篇文章主要介紹了Windows系統(tǒng)下安裝、啟動(dòng)、注冊(cè)服務(wù)、停止 Tomcat操作的所有方法,本文通過(guò)圖文并茂的方式給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2016-09-09java.lang.UnsatisfiedLinkError: %1 不是有效的Win32應(yīng)用程序錯(cuò)誤解決
這篇文章主要給大家介紹了關(guān)于java.lang.UnsatisfiedLinkError: %1 不是有效的Win32應(yīng)用程序錯(cuò)誤的解決方法,文中介紹的非常詳細(xì),需要的朋友們可以參考學(xué)習(xí),下面來(lái)一起看看吧。2017-03-03Spring @Bean vs @Service注解區(qū)別
本篇文章主要介紹了Spring @Bean vs @Service注解區(qū)別,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-12-12Springboot Thymeleaf實(shí)現(xiàn)HTML屬性設(shè)置
這篇文章主要介紹了Springboot Thymeleaf實(shí)現(xiàn)HTML屬性設(shè)置,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2007-11-11