Java基礎(chǔ)知識(shí)精通各種運(yùn)算符
前言
本文章主要集中講解運(yùn)算符,篇幅較長(zhǎng),請(qǐng)耐心看完絕對(duì)通俗易懂。
一、算數(shù)運(yùn)算符
1.簡(jiǎn)介
再Java中,使用算術(shù)運(yùn)算符 +、-、*、/、%分別代表加減乘除,取模。
2.運(yùn)用
+
在java中+有三種:1、正常的運(yùn)算。2、作為正負(fù)來用。3、作為連接符(任意數(shù)據(jù)類型的數(shù)據(jù)與字符串相連接的時(shí)候,那個(gè)+號(hào)就是連接符)
實(shí)例:
package com;
public class liu {
public static void main(String[] args) {
//實(shí)例一:作為正常運(yùn)算
int c = 1;
int d = 2;
int e = c + d;
System.out.println(e) //最后結(jié)果為3;
//實(shí)例二:作為連接符
//已知有兩個(gè)變量a和b,值分別為1和2,在控制臺(tái)上輸出a + b = 3, 1 + 2 = 3
int a = 1;
int b = 2;
System.out.println(a + " + " + b + " = " + (a + b));
//控制臺(tái)顯示結(jié)果為:a + b = 3。
//注意此時(shí)的"+","="作為字符串,而(a + b)則進(jìn)行運(yùn)算。
}
}
-
在java中+有兩種:1、正常的運(yùn)算。2、作為正負(fù)來用。
實(shí)例:
package com;
public class liu {
public static void main(String[] args) {
int a = 1;
int b = 3;
int c = b-a;
System.out.println(c); //運(yùn)算結(jié)果:2。
}
}*
實(shí)例:
package com;
public class liu {
public static void main(String[] args) {
int i = 4;
int j = 2;
int a = i*j;
System.out.println(a);//8
}
}/
當(dāng)參與/運(yùn)算的兩個(gè)數(shù)都是整數(shù)的話,結(jié)果為整數(shù),反之為浮點(diǎn)數(shù)。
實(shí)例:
package com;
public class liu {
public static void main(String[] args) {
//實(shí)例1:作為整數(shù)運(yùn)算
int i = 4;
int j = 2;
int a = i / j;
System.out.println(a);//2
//實(shí)例2:作為浮點(diǎn)運(yùn)算
int i = 5;
double j = 2;
double a = i / j;
System.out.println(a);//2.5
}
}%
整數(shù)的取余操作(有時(shí)稱為取模)用%表示。
package com;
public class liu {
public static void main(String[] args) {
int i = 2;
int j = 3;
System.out.println(i % j); //0
int a = 4;
int b = 2;
System.out.println(a % b); //2
}
}二、自增自減運(yùn)算符
++
單獨(dú)使用:不管++在前還是在后,結(jié)果都是一樣,詳見實(shí)例1。
參與運(yùn)算:++在前:先自身加1,然后再參與運(yùn)算,詳見實(shí)例2;++在后:先參與運(yùn)算,然后再自身加1,詳見實(shí)例3。
實(shí)例:
package com;
public class liu {
public static void main(String[] args) {
//實(shí)例1:?jiǎn)为?dú)運(yùn)算。
int i = 1;
i++; // i = i + 1
++i;
System.out.println(i);//結(jié)果都等于2。
//實(shí)例2:++在前。
int i = 1;
int j = ++i;
System.out.println(j);//2
System.out.println(i);//2
//實(shí)例3:++在后。
int i = 1;
int j = i++;
System.out.println(j);//1
System.out.println(i);//2
}
}–
單獨(dú)使用:不管–在前還是在后,結(jié)果都是一樣,詳見實(shí)例1。
參與運(yùn)算:–在前:先自身減1,然后再參與運(yùn)算,詳見實(shí)例2;–在后:先參與運(yùn)算,然后再自身減1,詳見實(shí)例3。
package com;
public class liu {
public static void main(String[] args) {
//實(shí)例1:?jiǎn)为?dú)運(yùn)算。
int i = 2;
i--; // i = i - 1
--i;
System.out.println(i);//結(jié)果都等于1。
//實(shí)例2:--在前。
int i = 1;
int j = --i;
System.out.println(j);//1
System.out.println(i);//1
//實(shí)例3:--在后。
int i = 1;
int j = i--;
System.out.println(j);//2
System.out.println(i);//1
}
}
三、賦值運(yùn)算符
可以在賦值中使用二元運(yùn)算符,形式非常簡(jiǎn)便:x += 4 等價(jià)于 x = x + 4。
常見的賦值運(yùn)算符有:=、+=、-=、*=、/=、%=。
下面以+=為例:
package com;
public class liu {
public static void main(String[] args) {
int i = 1;
i += 2; // i = i + 2
System.out.println(i); //輸出結(jié)果3
byte b = 1;
b += 2; // b = (byte)(b + 2)
System.out.println(b);
}
}
四、關(guān)系運(yùn)算符
關(guān)系運(yùn)算符得出來的結(jié)果一定是boolean類型的數(shù)據(jù),也就是說要么是true,要么是false
常見的關(guān)系運(yùn)算符:>、<、>=、<=、!=、==。
實(shí)例:
package com;
public class liu {
public static void main(String[] args) {
int i = 3;
int j = 2;
System.out.println(i > j);//true
System.out.println(i < j);//false
System.out.println(i >= j);//true
System.out.println(i <= j);//false
System.out.println(i != j);//true
System.out.println(i == j);//false
// ==是比較兩邊的大小,=是賦值。
}
}
五、邏輯運(yùn)算符
左右兩邊的數(shù)據(jù)的數(shù)據(jù)類型都是boolean類型,結(jié)果都是boolean類型。
&(單與)
兩邊只要有一個(gè)是false,結(jié)果就為false
實(shí)例:
package com;
public class Demo12 {
public static void main(String[] args) {
System.out.println(true & true);
System.out.println(true & false); //false
System.out.println(false & false);
System.out.println(false & true); //false
}
}
| (單或)
兩邊只要有一個(gè)是true,結(jié)果就為true。
實(shí)例:
package com;
public class Demo12 {
public static void main(String[] args) {
System.out.println(true | true);
System.out.println(true | false);
System.out.println(false | false); //false
System.out.println(false | true);
}
}
^(異或)
兩邊相同為false,兩邊不同為true。
實(shí)例:
package com;
public class Demo12 {
public static void main(String[] args) {
System.out.println(true ^ true); //false
System.out.println(true ^ false);
System.out.println(false ^ false); //false
System.out.println(false ^ true);
}
}!(非)
直接就是取反。
實(shí)例:
package com;
public class Demo12 {
public static void main(String[] args) {
System.out.println(!true); //false
System.out.println(!false); //true
System.out.println(!!true); //true
System.out.println(!!!true); //false
}
}&&(雙與)
兩邊只要有一個(gè)是false,結(jié)果就為false。
實(shí)例:
package com;
public class Demo12 {
public static void main(String[] args) {
System.out.println(true && true);
System.out.println(true && false); //false
System.out.println(false && false); //false
System.out.println(false && true); //false
}
}&和&&的區(qū)別?
- &&:如果左邊為false,右邊就不再執(zhí)行了,結(jié)果就為false。
- &:如果左邊為false,右邊依然會(huì)執(zhí)行,結(jié)果就為false。
|| (雙或)
兩邊只要有一個(gè)是true,結(jié)果就為true。
實(shí)例:
package com;
public class Demo12 {
public static void main(String[] args) {
System.out.println(true || true); //true
System.out.println(true || false); //true
System.out.println(false || false); //false
System.out.println(false || true); //true
}
}|和||的區(qū)別?
- ||:如果左邊為true,右邊就不再執(zhí)行了,結(jié)果就為true。
- |:如果左邊為true,右邊依然會(huì)執(zhí)行,結(jié)果就為true。
六、位運(yùn)算符
兩邊的數(shù)據(jù)都是數(shù)字,結(jié)果也為數(shù)字。
常見的位運(yùn)算符:&(與位運(yùn)算)、|(或位運(yùn)算)、^(異或位運(yùn)算)、~(按位取反)、>>(右移位運(yùn)算)、<<(左移位運(yùn)算)、>>>(無符號(hào)右移)。
實(shí)例:
package com;
public class Demo01 {
public static void main(String[] args) {
System.out.println(3 & 2); //2
System.out.println(3 | 2); //3
System.out.println(3 ^ 2); //1
System.out.println(~3);//-4
System.out.println(3 >> 2);//0
System.out.println(3 << 2);//12
System.out.println(3 >>> 2);//0
System.out.println(-3 >> 2);//-1
System.out.println(-3 >>> 2);
}
}>>和>>>區(qū)別是什么?
>>:如果數(shù)據(jù)是負(fù)數(shù),最左邊的符號(hào)位是1,右移之后,左邊要補(bǔ)1。
如果數(shù)據(jù)是正數(shù),最左邊的符號(hào)位是0,右移之后,左邊要補(bǔ)0。
>>>:不管數(shù)據(jù)是正數(shù)還是負(fù)數(shù),右移之后,左邊都補(bǔ)0。
七、三元運(yùn)算符
格式:條件表達(dá)式 ? 表達(dá)式1 : 表達(dá)式2; 等同于 x > y ? x : y
條件表達(dá)式的結(jié)果一定是boolean類型
執(zhí)行流程:
如果條件表達(dá)式為true,就會(huì)執(zhí)行表達(dá)式1,不會(huì)執(zhí)行表達(dá)式2
如果條件表達(dá)式為false,就會(huì)執(zhí)行表達(dá)式2,不會(huì)執(zhí)行表達(dá)式1
實(shí)例:
package com;
public class Demo02 {
public static void main(String[] args) {
//獲取兩個(gè)數(shù)的較大值
int i = 2;
int j = 3;
//第一種:
int max = i > j ? i : j;
System.out.println(max); //3
//第二種:
System.out.println(i > j ? i : j);
//表達(dá)式1和表達(dá)式2既然會(huì)得到一個(gè)結(jié)果,如果傳遞給一個(gè)變量去接收,該變量的數(shù)據(jù)類型應(yīng)該和表達(dá)式1和表達(dá)式2的結(jié)果的數(shù)據(jù)類型匹配。
//浮點(diǎn)型:
double d = 3 > 2 ? 1 : 2;
System.out.println(d); //輸出:1.0
//字符型:
char c1 = 3 > 2 ? 97:98;
System.out.println(c1); //輸出:a
}
}到此這篇關(guān)于Java基礎(chǔ)知識(shí)精通各種運(yùn)算符的文章就介紹到這了,更多相關(guān)Java運(yùn)算符內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
IntelliJ IDEA中出現(xiàn)"PSI and index do not match"錯(cuò)誤的解決辦法
今天小編就為大家分享一篇關(guān)于IntelliJ IDEA中出現(xiàn)"PSI and index do not match"錯(cuò)誤的解決辦法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-10-10
Java利用MD5加鹽實(shí)現(xiàn)對(duì)密碼進(jìn)行加密處理
在開發(fā)的時(shí)候,有一些敏感信息是不能直接通過明白直接保存到數(shù)據(jù)庫的。最經(jīng)典的就是密碼了。如果直接把密碼以明文的形式入庫,不僅會(huì)泄露用戶的隱私,對(duì)系統(tǒng)也是極其的不厲。本文就來和大家介紹一下如何對(duì)密碼進(jìn)行加密處理,感興趣的可以了解一下2023-02-02
Java中的動(dòng)態(tài)代理和靜態(tài)代理詳細(xì)解析
這篇文章主要介紹了Java中的動(dòng)態(tài)代理和靜態(tài)代理詳細(xì)解析,Java中的代理可以幫助被代理者完成一些前期的準(zhǔn)備工作和后期的善后工作,但是核心的業(yè)務(wù)邏輯仍然是由被代理者完成,需要的朋友可以參考下2023-11-11
SpringBoot使用thymeleaf實(shí)現(xiàn)一個(gè)前端表格方法詳解
Thymeleaf是一個(gè)現(xiàn)代的服務(wù)器端 Java 模板引擎,適用于 Web 和獨(dú)立環(huán)境。Thymeleaf 的主要目標(biāo)是為您的開發(fā)工作流程帶來優(yōu)雅的自然模板,本文就來用它實(shí)現(xiàn)一個(gè)前端表格,感興趣的可以了解一下2022-10-10

