溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

【小白必看】運算符和表達式詳解

發(fā)布時間:2020-06-14 06:25:55 來源:網(wǎng)絡(luò) 閱讀:144 作者:qq5dda6ecead5a8 欄目:編程語言

運算符和表達式

  1. 算數(shù)運算
    1.1. 使用%運算符
    Java算術(shù)運算符除了通常的加(+)、減(-)、乘()、除(\)之外,還包括取模運算(%)和自增(++)及自減(--)運算。+,-,,/ 比較簡單,實驗一下即可。
    取模運算(%)意為取余數(shù),只能適用于整數(shù)及char類型。示例代碼如下所示:
    1.// 輸出255除以8所得的余數(shù)。
    2.int n = 225;
    3.System.out.println(n % 8); //結(jié)果為1
    1.2. 使用“++”和“--”運算符
    Java的自增運算符(++)和自減運算符(--)繼承自C++,可以使變量的值加1或減1,但其寫在變量前和變量后有不同的效果:
    1.如果寫在變量前,表示在使用這個變量之前加1或減1
    2.如果寫在變量后,表示這個變量使用完之后再加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
  2. 關(guān)系運算
    2.1. 使用關(guān)系運算符
    Java中的關(guān)系運算符用于判斷數(shù)據(jù)之間的大小關(guān)系,包括大于(>)、小于(<)、大于等于(>=)、小于等于(<=)、等于(==)、不等于(!=) 六個運算符。
    在實際應(yīng)用中常常使用,假設(shè)現(xiàn)在想實現(xiàn)轉(zhuǎn)帳功能,輸入轉(zhuǎn)帳的金額,需要判斷所轉(zhuǎn)帳的金額是否大于當(dāng)前帳戶的金額,那結(jié)果只有兩個,大于或不大于,在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
  3. 邏輯運算
    3.1. 邏輯運算
    前面的關(guān)系運算符是用于比較兩個數(shù)值之間的大小關(guān)系的, 而邏輯運算符是用來進行邏輯運算的,它是建立在關(guān)系運算的基礎(chǔ)之上的。當(dāng)兩個關(guān)系運算需要兼顧考慮時,可以使用邏輯運算符。
    邏輯運算符包括:與(&&)、或(||)和非(!)。參與邏輯運算的變量或表達式都是boolean類型,運算結(jié)果也為boolean類型。
    3.2. 使用“&&”運算符
    兩個boolean變量參與“&&”運算時,只有當(dāng)兩個變量均為true的時,運算結(jié)果才為true,否則結(jié)果為false。示例代碼如下所示:
    1.int score = 80;
    2.boolean b = score >= 60 && score < 90;
    3.System.out.println(b);
    4.// 結(jié)果為true,因為score的值同時滿足大于等于60和小于90這兩個條件,邏輯表達式“score >= 60”和“score < 90”的結(jié)果均為true,所以&&運算的結(jié)果即為true。
    3.3. 使用“||”運算符
    兩個boolean變量參與“||”運算時,當(dāng)兩個變量有一個為true時,結(jié)果即為true,只有當(dāng)兩個變量均為false時結(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,上面這段代碼中,表達式“flag || (n >= 0 && n < 100)”的含義是:當(dāng)flag為true或者n在0到100之間(n大于等于0且小于100)時,結(jié)果為true,否則為false。根據(jù)flag和n的值,最后的運算結(jié)果為true。
    3.4. 使用“!”運算符
    “!”運算相對簡單,只有一個boolean變量參與運算,運算的值與該變量相反,變量為true時結(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,上面這段代碼中,表達式“!flag || (n >= 0 && n < 100)”的含義是:當(dāng)flag為false或者n在0到100之間(n大于等于0且小于100)時,結(jié)果為true,否則為false。根據(jù)flag和n的值,最后的運算結(jié)果為false。
    3.5. 關(guān)于“短路邏輯”的問題
    Java邏輯運算中的&&和||有短路的特性,當(dāng)?shù)谝粋€關(guān)系表達式就可以判斷出整個表達式的結(jié)果時,就不會再去判斷后面的第二個表達式。
    1.對于“&&”,當(dāng)?shù)谝粋€操作數(shù)為false時,將不會判斷第二個操作數(shù),因為此時無論第二個操作數(shù)是什么最后的結(jié)果一定是false;
    2.對于“||”,當(dāng)?shù)谝粋€操作數(shù)為true時,將不會判斷第二個操作數(shù),因為此時無論第二個操作數(shù)為何,最后的運算結(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++不會被執(zhí)行
    5.boolean b2 = i > 0 || j++ > 200;
    6.System.out.println(b2); // 結(jié)果為:true
    7.System.out.println(j); // 結(jié)果為:200,發(fā)生短路,j++不會被執(zhí)行

想要更多面試題和學(xué)習(xí)資料的可以私聊聯(lián)系我,大家一起交流學(xué)習(xí)!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI