運(yùn)算符和表達(dá)式

10年積累的網(wǎng)站設(shè)計(jì)、做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有蕪湖縣免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
- 算數(shù)運(yùn)算
1.1. 使用%運(yùn)算符
Java算術(shù)運(yùn)算符除了通常的加(+)、減(-)、乘()、除(\)之外,還包括取模運(yùn)算(%)和自增(++)及自減(--)運(yùn)算。+,-,,/ 比較簡(jiǎn)單,實(shí)驗(yàn)一下即可。
取模運(yùn)算(%)意為取余數(shù),只能適用于整數(shù)及char類型。示例代碼如下所示:
1.// 輸出255除以8所得的余數(shù)。
2.int n = 225;
3.System.out.println(n % 8); //結(jié)果為1
1.2. 使用“++”和“--”運(yùn)算符
Java的自增運(yùn)算符(++)和自減運(yùn)算符(--)繼承自C++,可以使變量的值加1或減1,但其寫在變量前和變量后有不同的效果:
1.如果寫在變量前,表示在使用這個(gè)變量之前加1或減1
2.如果寫在變量后,表示這個(gè)變量使用完之后再加1或減1
示例代碼如下所示:
1.int a = 10, b = 20;
2.int c1 = a++; // 先將a的值賦給c1,然后a再自加
3.int c2 = ++b; // 先將b的值自加,然后再賦給c2
4.System.out.println("a=" + a + ", b=" + b + ", c1=" + c1 + ", c2=" + c2);
5.// 輸出的結(jié)果為: a=11, b=21, c1=10, c2=21 - 關(guān)系運(yùn)算
2.1. 使用關(guān)系運(yùn)算符
Java中的關(guān)系運(yùn)算符用于判斷數(shù)據(jù)之間的大小關(guān)系,包括大于(>)、小于(<)、大于等于(>=)、小于等于(<=)、等于(==)、不等于(!=) 六個(gè)運(yùn)算符。
在實(shí)際應(yīng)用中常常使用,假設(shè)現(xiàn)在想實(shí)現(xiàn)轉(zhuǎn)帳功能,輸入轉(zhuǎn)帳的金額,需要判斷所轉(zhuǎn)帳的金額是否大于當(dāng)前帳戶的金額,那結(jié)果只有兩個(gè),大于或不大于,在java語言中,使用boolean類型來表示這種是否的狀態(tài),如果關(guān)系成立為true,否則為false。示例代碼如下所示:
1.int max = 10;
2.int num = 9;
3.boolean b1 = max > 15;
4.boolean b2 = num%2 == 1;
5.System.out.println(b1); // 結(jié)果為false
6.System.out.println(b2); // 結(jié)果為true - 邏輯運(yùn)算
3.1. 邏輯運(yùn)算
前面的關(guān)系運(yùn)算符是用于比較兩個(gè)數(shù)值之間的大小關(guān)系的, 而邏輯運(yùn)算符是用來進(jìn)行邏輯運(yùn)算的,它是建立在關(guān)系運(yùn)算的基礎(chǔ)之上的。當(dāng)兩個(gè)關(guān)系運(yùn)算需要兼顧考慮時(shí),可以使用邏輯運(yùn)算符。
邏輯運(yùn)算符包括:與(&&)、或(||)和非(!)。參與邏輯運(yùn)算的變量或表達(dá)式都是boolean類型,運(yùn)算結(jié)果也為boolean類型。
3.2. 使用“&&”運(yùn)算符
兩個(gè)boolean變量參與“&&”運(yùn)算時(shí),只有當(dāng)兩個(gè)變量均為true的時(shí),運(yùn)算結(jié)果才為true,否則結(jié)果為false。示例代碼如下所示:
1.int score = 80;
2.boolean b = score >= 60 && score < 90;
3.System.out.println(b);
4.// 結(jié)果為true,因?yàn)閟core的值同時(shí)滿足大于等于60和小于90這兩個(gè)條件,邏輯表達(dá)式“score >= 60”和“score < 90”的結(jié)果均為true,所以&&運(yùn)算的結(jié)果即為true。
3.3. 使用“||”運(yùn)算符
兩個(gè)boolean變量參與“||”運(yùn)算時(shí),當(dāng)兩個(gè)變量有一個(gè)為true時(shí),結(jié)果即為true,只有當(dāng)兩個(gè)變量均為false時(shí)結(jié)果為false。示例代碼如下所示:
1.boolean flag = true;
2.int n = 200;
3.boolean b1 = flag || (n >= 0 && n < 100);
4.System.out.println(b1);
5.// 結(jié)果為true,上面這段代碼中,表達(dá)式“flag || (n >= 0 && n < 100)”的含義是:當(dāng)flag為true或者n在0到100之間(n大于等于0且小于100)時(shí),結(jié)果為true,否則為false。根據(jù)flag和n的值,最后的運(yùn)算結(jié)果為true。
3.4. 使用“!”運(yùn)算符
“!”運(yùn)算相對(duì)簡(jiǎn)單,只有一個(gè)boolean變量參與運(yùn)算,運(yùn)算的值與該變量相反,變量為true時(shí)結(jié)果為false,變量為false是結(jié)果為true。示例代碼如下所示:
1.boolean flag = true;
2.int n = 200;
3.boolean b = !flag || (n >= 0 && n < 100);
4.System.out.println(b);
5.// 結(jié)果為false,上面這段代碼中,表達(dá)式“!flag || (n >= 0 && n < 100)”的含義是:當(dāng)flag為false或者n在0到100之間(n大于等于0且小于100)時(shí),結(jié)果為true,否則為false。根據(jù)flag和n的值,最后的運(yùn)算結(jié)果為false。
3.5. 關(guān)于“短路邏輯”的問題
Java邏輯運(yùn)算中的&&和||有短路的特性,當(dāng)?shù)谝粋€(gè)關(guān)系表達(dá)式就可以判斷出整個(gè)表達(dá)式的結(jié)果時(shí),就不會(huì)再去判斷后面的第二個(gè)表達(dá)式。
1.對(duì)于“&&”,當(dāng)?shù)谝粋€(gè)操作數(shù)為false時(shí),將不會(huì)判斷第二個(gè)操作數(shù),因?yàn)榇藭r(shí)無論第二個(gè)操作數(shù)是什么最后的結(jié)果一定是false;
2.對(duì)于“||”,當(dāng)?shù)谝粋€(gè)操作數(shù)為true時(shí),將不會(huì)判斷第二個(gè)操作數(shù),因?yàn)榇藭r(shí)無論第二個(gè)操作數(shù)為何,最后的運(yùn)算結(jié)果一定是true。
示例代碼如下所示:
1.int i = 100, j = 200;
2.boolean b1 = (i > j) && (i++ > 100);
3.System.out.println(b1); // 結(jié)果為:false
4.System.out.println(i); // 結(jié)果為:100,發(fā)生短路,i++不會(huì)被執(zhí)行
5.boolean b2 = i > 0 || j++ > 200;
6.System.out.println(b2); // 結(jié)果為:true
7.System.out.println(j); // 結(jié)果為:200,發(fā)生短路,j++不會(huì)被執(zhí)行
想要更多面試題和學(xué)習(xí)資料的可以私聊聯(lián)系我,大家一起交流學(xué)習(xí)!
文章名稱:【小白必看】運(yùn)算符和表達(dá)式詳解
分享鏈接:http://chinadenli.net/article34/ihoope.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、搜索引擎優(yōu)化、外貿(mào)建站、網(wǎng)站內(nèi)鏈、網(wǎng)站設(shè)計(jì)公司、面包屑導(dǎo)航
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源:
創(chuàng)新互聯(lián)