java基礎–運算子(operator)

來源:互聯網
上載者:User

       java運算子分為4類:算術運算子,關係運算子,邏輯運算子,位元運算符。

       1. 算術運算子

       java的算術運算子分為一元運算子和二元運算子。算術運算子的運算元必須是數實值型別。

          (1) 一元運算子

               一元運算子只有1個運算元,一元運算子有:正(+),負(-),加1(++)和減1(--)4個。

               變數的自加(++),在變數的後面

int a = 3;int b = a++;System.out.println(a); //4System.out.println(b); //3

              以上過程,其實分為2步:

int a = 3int b = a; //3a = a + 1; //4

              變數的自加(++),在變數的前面

int a = 3;int b = ++a;System.out.println(a); //4System.out.println(b); //4

              以上過程,其實分為2步:

int a = 3;a = a + 1; //a = 4int b = a; // b = 4

           
 自減(--)和自加(++)一樣,其實只要看運算子在變數的前後位置,在前面變數先加上1,再使用該變數;如果在變數後面,那麼先使用該變數,然後該變數再加上1.
          (2) 二元運算子

             二元運算子有2個運算元,二元運算子有:加(+),減(-),乘(*),除(/)和模數(%)。

             注意點,當有若干個變數進行運算時,結果類型取決於這些變數中範圍最大的那個變數的類型。

int a = 3;int b = 2;double c = a / b; // c=1.0

             模數(%)樣本

int a = 4;int b = 3;int c = a % b;System.out.println(c);  //c = 1

             上面例子a為正數,b為正數,c為正數

int a = -4;int b = 3;int c = a % b;System.out.println(c); // c = -1

             上面例子a為負數,b為正數,c為負數

int a = 4;int b = -3;int c = a % b;System.out.println(c); // c = 1

             上面例子a為正數,b為正數,c為正數

             由此可以得出一個規律:模數的結果符號與被除數相同。

       2. 關係運算子

      java的關係運算子用於比較兩個數值之間的大小,其運算的結果是個boolean值。關係運算子有6種:大於(>),小於(<),等於(=),不等於(!=),大於等於(>=),小於等於(<=)。這邊就不再贅述。

       3. 邏輯運算子      java的邏輯運算子要求運算元的資料類型為boolean型,其運算結果也為boolean型的。邏輯運算子有邏輯與(&&和&),邏輯或(||和|),邏輯非(!),邏輯異或(^)。      其中:邏輯與&&和&,邏輯或||和|,運算規則基本上相同,其區別是:&和|運算是把邏輯運算式全部計算完;&&和||運算具有短路功能。      邏輯運算子的短路特性         (1) 邏輯與: 若第一個運算元為false,那麼結果肯定就是false,那麼將不會執行運算子後面的運算了。
int a = 10;int b = 11;int c = 12;int d = 13; boolean e = (a > b) && ((b = c) < d);System.out.println(e); // e = falseSystem.out.println(b); // b = 11

         但是如果第一個為true,那麼就是會正常執行到運算子後面的運算了,舉例(這個只是驗證短路特性的)

int a = 10;int b = 11;int c = 12;int d = 13; boolean e = (a < b) && ((b = c) > d);System.out.println(e); // e = falseSystem.out.println(b); // b = 12

        (2) 邏輯或: 若第一個運算元為true,那麼結果肯定就是true,那麼將不會執行運算子後面的運算了。例子與邏輯與的類似,這邊不再贅述。
      4. 位元運算符

      java的位元運算符是以二進位為單位進行運算的,其運算元和運算結果都是整型。位元運算符共有7個: 位與(&),位或(|),位非(~),位異或(^),右移(>>),左移(<<),0填充的右移(>>>)。     
位元運算的位與(&)、位或(|)、位非(~)、位異或(^)與邏輯運算的相應操作的真值表完全相同,其差別只是位元運算操作的運算元和運算結果都是二進位整數,而邏輯運算相應操作的運算元和運算結果都是邏輯值。      這邊就不舉例了,對有電腦基礎的同學來說完全沒有問題的。有個經典筆試題:

/** java中用什麼辦法實現2×8效率最高 */   System.out.println(2 << 3);  // 16

     
下一回,複習java基礎--流程式控制制語句。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.