中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

Java運算符優(yōu)先級詳解

本篇內(nèi)容介紹了“Java運算符優(yōu)先級詳解”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

站在用戶的角度思考問題,與客戶深入溝通,找到洛南網(wǎng)站設計與洛南網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設計與互聯(lián)網(wǎng)技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站設計、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名與空間、虛擬主機、企業(yè)郵箱。業(yè)務覆蓋洛南地區(qū)。

1.Java運算符優(yōu)先級詳解

優(yōu)先級是指同一式子中多個運算符被執(zhí)行和次序,同一級里的操作符具有相同的優(yōu)先級,相同優(yōu)先級得操作符號相遇是,根據(jù)結合性決定運算次序,下面從高到低的優(yōu)先級列出了運算符。同一行中的運算符優(yōu)先級相同。


.  []  ()   結合性從左到右
++  --  !  ~   結合性從左到右
*  /  %   結合性從左到右
+  -   結合性從左到右
<<  >>  >>>   結合性從左到右
<  >  <=>=   結合性從左到右
==  !=   結合性從左到右
&   結合性從左到右
^   結合性從左到右
&&   結合性從左到右
||   結合性從左到右
?:   結合性從右到左
=   結合性從右到左

例如對于表達式:a=b+c*d/(c^d),因為括號優(yōu)先級最高,所以先計算c^d,接著是c*d,然后除以c^d,最后,把上述結果與b的和存儲到變量a中。

2:整型運算符

整型運算符按操作數(shù)的多少可分為一元和二元兩類,一元運算符一次對一個變量進行操作,二元運算符一次對兩個變量進行操作。對于運算來說,如果有一個變量或操作數(shù)是長整型的,那么結果就肯定是長整型的,否則即使操作數(shù)還沒有確定是字節(jié)型、短整型或字符型,運算結果都是整型,下表是一元運算符。

運算符 實際操作 例子
-   改變整型數(shù)符號   -i
~   位運算:非   ~i
++   加1   i++
--   減1   i--

注:一元取反運算符(-)用來改變整數(shù)的正負號,逐位求反把所變量所有是1的位變成0,是0的位變成1,加加和減減(++,--)把變量的值加1或減1。
以下是一個具體例子:

int i=0;
int j=1;
for (i=1;i<10;i++)
{
j--;
System.out.println(i+""+j+"");
}

一元運算符執(zhí)行的方式是改變它們所作用的變量的值,對一元取反和逐位求反來說,變量的值并不改變,而對加和減運算(++,--)來說,就量的值被改變了,例如:

  int i=10,j=10,k=10,l=10;
  System.out.println(i+""+j+""+k+""+l+"");
  j++;
  i--;
  ~k;
  -l;
  System.out.println(i+""+j+""+k+""+l+"");

注意:j和i被改變并打印出它們的新值,可是k和l仍然為原來的數(shù)值,當在復合表達式中使用一元取反和逐位求余運算時,你實際上是在用一個臨時存貯操作數(shù)的新值。

++和--既是前置運算符也是后置運算符,這就是說,它們既可以放在操作數(shù)前面(++x),也可以放在后面(x++),如果它們被用在復合語句中如:

  i=x++; 或 i=++x;
那么第一個語句中x把值賦給i以后再加1,而第二個語句先把x加1,再把新的x值賦給i。
整型運算符的第二種類型是二元運算符,這種運算并不改變操作數(shù)的值,而是返回一個必須賦給變量的值,下表列出了二元運算符。

運算符 實際操作 例子
+   加運算   a+b
-   減運算   a-b
*   乘運算   a*b
/   除運算   a/b
%   取模運算   a%b
&   與運算   a&b
|   或運算   a|b
^   異或運算   a^b
<<   左移   a<   >>   右移   a>>b
>>>   右移   a>>>b


注意:>>與>>>的基本功能都是右移,但>>是用符號位來填充右移后所留下的空位,而>>>則是用零來填充右移后所留下的空位。

還有一類運算,它們形如:j-=i,這里-=是二元運算-和賦值運算=的復合運算,它等價于j=j-i,這種復合方式適用于所有的二元運算符。

這里有幾點關于整型運算進一步說明,首先,整數(shù)除法向靠近0的方向取整;其次,如果你除以0或者對0取模,程序就會在運行時被強行中止,如果你的運算結果超出最小極限,或者說是下溢,結果將為0,如果超出了最大極限,就將會導致結果的回繞。

3:布爾運算符

另外還有一些運算符能產(chǎn)生布爾類型的結果,我們把它們稱為布爾運算符,下表列出了這些運算符。

運算符 實際操作 例子
< 小于 a > 大于 a>b
<= 小于等于 a<=b
> 大于等于 a>=b
== 等于 a==b
!= 不等于 a!=b

在這里要指出的是相等運算符==可能會給你帶來許多麻煩,很多人在比較兩個值時往往錯用了等號=,以致于變成了賦值操作,所以在編程中一定要注意你在比較數(shù)值時用的是==。布爾類型本身還有幾個邏輯運算符,它們可以對布爾類型的數(shù)據(jù)進行運算:!,&&,//

其實如果你把布爾類型的值true等效地看成1,false看成0,那么對于相同的運算符,整型運算的法則對布爾類型也是適用的。

布爾運算符中還有一種三元運算符,它的格式如下:

Operand ? Statement1:Statement2
在這個式子中,先計算Operand的真假,若為真,則執(zhí)行Statement1,若為假,則執(zhí)行Statement2。下面的代碼給出了這種運算的一個例子:

(a>b)?a:b;
這個表達式將返回a和b中較大的那個數(shù)值。

4:浮點型運算符

傳統(tǒng)的浮點型二元運算除了賦值運算符(+=,-=.*=./)取模(%)和取模賦值(%=0)使浮點數(shù)值等價于整數(shù)除法,同樣,++和--使變量的值增加或減小1。

同整型變量相似,結果被放在最大長度的類型里,如果運算包括兩個浮點類型,結果也是個浮點類型,如果有一個或幾個是雙精度浮點型,結果就是雙精度浮點型,當你使用關系運算符:>、<、>=、<=、==和!=時,注意浮點變量與整型的不同,只有a==b成立并不能說明 ab不成立,這是因為浮點類型數(shù)值次序同整型不同,當你寫程序,對浮點型數(shù)值進行假設時要小心,浮點型數(shù)值也包括inf,代表無窮大,溢出產(chǎn)生無窮大inf,下溢產(chǎn)生0。

5:字符串運算符

+運算符可以把字符串并置起來,如果哪一個操作數(shù)不是字符串,在并置之前它會被轉換成字符串,另外,+=運算符把兩個字符串并置的結果放進第一個字符串里,在前面的例子里,當你想把幾項打印在同一行里時使用的是+運算符,試著在解釋器里用System.out.println和+運算符來造成不同的組合輸出。

undefined

“Java運算符優(yōu)先級詳解”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質量的實用文章!

網(wǎng)站名稱:Java運算符優(yōu)先級詳解
文章地址:http://www.rwnh.cn/article40/gopceo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站動態(tài)網(wǎng)站、手機網(wǎng)站建設服務器托管、外貿(mào)建站、App設計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設
凤凰县| 义马市| 凤城市| 鄂托克前旗| 湟源县| 汾西县| 曲松县| 伊吾县| 枝江市| 宾川县| 大方县| 云南省| 搜索| 靖远县| 黄冈市| 凤凰县| 民和| 阿拉善左旗| 内丘县| 柘荣县| 清丰县| 喀什市| 沁阳市| 铅山县| 新泰市| 九江市| 河津市| 安陆市| 福鼎市| 桐城市| 搜索| 阿克苏市| 名山县| 秀山| 泾阳县| 昭平县| 汶上县| 博乐市| 句容市| 临江市| 通化县|