java基礎 運算子

來源:互聯網
上載者:User

標籤:數值   正數   false   結果   static   fas   else   隱式   等於   

算數運算子

加號:在運算元值、字元、字串時其結果是不同的,當兩個字元相加得到的是ASCII碼錶值, 當兩個字串相加時表示將兩個字串串連在一起,從而組成新的字串。

除號:整數在使用除號操作時,得到的結果仍為整數(小數部分忽略),當整數除以0的時候,會引發算術異常。

       正無窮大(Infinity):當一個正浮點類型數除以0時,或者正整數除以0.0時;

      負無窮大(-Infinity):當一個負浮點類型數除以0時,或者負整數除以0.0時;

       NaN(Not a Number):當0.0除以0.0時;

模數(求餘數):模數的符號忽略不計,結果的正負取決於被模數.

注意:無窮大和NaN都屬於double浮點類型,但是所有正無窮大都是相等的,所有負無窮大也是相等的,NaN永遠不相等,也不等於自己.

++和--詳解:

都只能操作變數,不能操作常量.

++: 表示當前操作變數自己累加1.

--: 表示當前操作變數自己減去1

自增:++,遞增操作符,使變數值增加1,有前置和後置之分,只能操作變數。

自減: -- ,遞減操作符,使變數值減去1,有前置和後置之分,只能操作變數。

自增和自減具體操作是一樣的,僅僅是一個是加1,一個是減1而已,

現在單講++: 代碼 result ++和 ++result,都將使result變數的值加1。 唯一的區別是: 前置(++result): 表示對result加1之後的結果進行運算, 後置(result++): 表示對result變數加1之前的值(原始值)進行運算。 如果僅僅執行簡單的遞增操作(唯寫result++或++result),那麼選用任意一個都可以。

int a1 = 5;a1 = a1 + 1;//6int temp = a1;int b1 = temp;//6--------------------------int a1 = 5;int temp = a1;//5a1 = a1 + 1;//6int b1 = temp;//5

賦值運算子

注意Java支援同時給多個變數賦值,好比支援同時聲明多個變數一樣,但因影響代碼可讀性,故也不推薦。

 加等於:x  +=  5; 相當於 x  =  x  +  5,但還包括隱式類型轉換。

public class Hello{  public static void main(String[] args){  int a, b, c;   //不推薦 a = b = c = 5; //不推薦 short s = 5; //s = s + 3;//編譯出錯,需要強轉  s = (short)(s + 3);  s += 3;//編譯OK,隱式類型轉換 }}

 

 

比較子

comparison operator

用於比較兩個變數或常量之間的關係,比較子的結果是boolean類型,其操作格式為: boolean result = 運算式A 比較子 運算式B;

==:等於,若比較的是兩個運算元都是數實值型別,即使他們的類型不同,只要值相同就返回true。 當然==也可以比較引用資料類型,比較的是地址

三元運算子

三元運算子,表示有三個元素參與的運算式,所以又稱為三目運算子,其語義表示if-else.

文法格式:X ? Y :Z,

其 中x為boolean類型運算式,先計算X的值,若X結果為true則整個三目運算運算式的結果是Y,否則就是Z。三目運算子結果的類型由Y和Z決定。

 

 

邏輯運算子

 

 

用於操作兩個boolean類型的變數或常量,結果類型也是boolean。 文法格式為:boolean result = 運算式A 邏輯運算子 運算式B;

 

&:表示並且,當運算元A和B都為true結果才為true,否則結果result 是false。

&&:和&結果相同,具有短路效果,如果左邊運算元A是false,result 一定為false,且不運行B的運算。

|:表示或者,A和B都為false結果result為false,只要有A或B是true,結果就是true。

||:和|結果相同,具有短路效果,如果左邊運算元A是true,result一定為true,且不運行B的運算。

^:判斷A和B是否不同,不同則為true,相同則為false。

!:取反,!true結果是false,!fasle結果是true。

 

 位元運算符

位操作是程式設計中對位元模式按位或位元的一元和二元操作。

 

boolean的true和false,在底層使用一位的1和0來表示. true: 1 false:0

遵循規則:

&:參與運算的兩個數,若相應位元的值都為1,則該位結果值是1,否則是0。

|:參與運算的兩個數相應位中只要有一個1,結果就是1。

^:參與運算的兩個數相應位相同則結果為0,否則為1。

~ :表示把每個二進位位的“1”換成“0”,把“0”換成“1”。

<<:將運算元的二進位碼整體左移指定位元,左移之後的空使用“0”來補充。

>>:將運算元的二進位碼整體右移指定位元,右移之後的空使用“符號位”來補充: 若是正數使用“0”補充; 若是負數使用“1”補充;(操作負數:取反,求補,操作,取反,求補)

>>>:將運算元的二進位碼整體右移指定位元,右移之後的空位使用“0”來補充。

  運算子操作的優先順序

 

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.