Java基礎:Java運算子

來源:互聯網
上載者:User

提示:如果你有足夠的精力,請記住運算子的優先順序!

1. 算術運算子
 +  -  *  /  %(求餘/求模運算子)  ++  --
 
 ++ -- 稍微有點麻煩,有個好辦法:自己寫個Demo測試一下,就可以搞定!
 
2. 關係運算子
 >  <  ==  !=  >=  <=
 
3. 邏輯運算子
 &  |  ^  !  &&  || 
 
 <1> &  |  ^ 既可以對邏輯表達時進行操作,也可以對一般資料類型進行操作
 int a = 1;//0x0001<br /> int b = 2;//0x0002<br /> System.out.println("對一般資料類型進行操作");<br /> System.out.println(a&b);//0,按位求餘<br /> System.out.println(a^b);//3,按位異或<br /> System.out.println(a|b);//3,按位求或</p><p> System.out.println("對邏輯表達時進行操作");<br /> System.out.println(a == 1 & b == 2);//true<br /> System.out.println(a == 1 | b == 2);//true<br /> /*兩者不一致時才為真*/<br /> System.out.println(a == 1 ^ b == 2);//true+true = false<br /> System.out.println(a == 12 ^ b == 2);//false+true = true<br /> //false+true = true<br /> System.out.println(a == 1 ^ b == 22);<br /> //true+true = false<br /> System.out.println(a == 12 ^ b == 22);<br />  

 <2> &&  || ! 只可以對邏輯表達時進行操作,不可以對一般資料類型進行操作
   //均會報錯<br /> System.out.println(a&&b);<br /> System.out.println(a||b);<br /> System.out.println(!a);<br />  

<3> 區別

      &:普通與 &&:短路與|:普通或 ||:短路或

   @1. 當在(a && b)條件下,當a為false時,不用再判斷b了,運算式已經為false;
      @2. 當在(a || b)條件下,當a為true時,不用再判斷b了,運算式已經為true;
      @3. 而 &  和 |  則需要兩邊都進行判斷 才行 !

4. 位元運算符
 &  |  ^  ~  >>  <<  >>>
 
 &  |  ^  ~  按位取與、取或、異或、取反
 >>  位右移,高位是1,右移n位就在左邊補n個1;高位是0,右移n位就在左邊補n個0  
 >>> 無符號位右移,不管高位是1還是0,均在左邊補0
 <<  位左移,右邊補0
 
5. 賦值運算子
 =
 
6. 擴充運算子,即複合運算子
   +=  -=  *=  /=  %=  等等
 
  int a = 7;<br /> //報錯:可能損失精度,因為int遇見float會先自動轉換為float再與<br /> //2.6相運算,但是計算結果是float不能自動轉換為int故報錯<br /> a = a + 2.6<br /> //使用複合運算子,就相當於強制轉換<br /> a += 2.6; <=> a = (int)(a + 2.6); = 9//強制轉化會損失精度 --> 省去小數點<br /> 所以,a += 2.6; //不與 a = a + 2.6等效<br />  
  
7. 字串串連符
 +
 
 在使用System.out.println語句列印時,會預設調用toString()方法,所以只要字串串連符+兩邊的運算元有一個是字串,
 系統就會自動的將另一個運算元轉換為string,然後再列印輸出。
 

  int a = 1;<br /> int b = 2;<br /> System.out.println("a+b= " + a + b);//a+b= 12<br /> System.out.println("a+b= " + (a + b));//a+b= 3,括弧的優先<br />//級最大,所以先計算a + b的值然後再將其轉換為string輸出。<br />以下類推。</p><p> System.out.println("------------------------------");</p><p> int i = 12;<br /> char ch = 24;<br /> System.out.println("i+ch = " + i + ch);//i+ch = 12一個字<br /> //符(24對應的字元)<br /> System.out.println("i+ch = " + (i + ch));//i+ch = 36

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.