您好,登錄后才能下訂單哦!
今天小編給大家分享一下Java三目運算符是什么及怎么使用的相關(guān)知識點,內(nèi)容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
Java提供了一個特別的三元運算符(也叫三目運算符)經(jīng)常用于取代某個類型的if-then-else語句。條件運算符的符號表示為“?:”,使用該運算符時需要有三個操作數(shù),因此稱其為三目運算符。使用條件運算符的一般語法結(jié)構(gòu)為:
result=
其中,expression是一個布爾表達式。當expression為真時,執(zhí)行statement1,否則就執(zhí)行statement3。此三元運算符要求返回一個結(jié)果,因此要實現(xiàn)簡單的二分支程序,即可使用該條件運算符。
intx,y,z;
x=6,y=2;
z=x>y?x-y:x+y;
在這里要計算z的值,首先要判斷x>y表達的值,如果為true,z的值為x-y;否則z的值為x+y。很明顯x>y表達式結(jié)果為true,所以z的值為4。
技巧:可以將條件運算符理解為if-else語句的簡化形式,在使用較為簡單的表達式時,使用該運算符能夠簡化程序代碼,使程序更加易讀。
例如下面的表達式:
x>y?x-=y:x+=y;
在編譯時會出現(xiàn)語法錯誤,因為條件運算符優(yōu)先于賦值運算符,上面的語句實際等價于:
(x>y?x-=y:x)+=y;
而運算符“+=”是賦值運算符,該運算符要求左操作數(shù)應(yīng)該是一個變量,因此出現(xiàn)錯誤。為了避免這類錯誤,可以使用括號“0”來加以區(qū)分。例如,下面是正確的表達式。
(x>y)?(x-=y):(x+=y);
例1
在程序中聲明3個變量x、y、z,并由用戶從鍵盤輸入x的值,然后使用條件運算符向變量y和變量z賦值。實現(xiàn)代碼如下:
publicclassTest9{
publicstaticvoidmain(String[]args){
intx,y,z;//聲明三個變量
System.out.print("請輸入一個數(shù):");
Scannerinput=newScanner(System.in);
x=input.nextInt();//由用戶輸入x的值
//判斷x的值是否大于5,如果是y=x,否則y=-x
y=x>5?x:-x;
//判斷y的值是否大于x,如果是z=y,否則z=5
z=y>x?y:5;
System.out.printf("x=%d\n",x);
System.out.printf("y=%d\n",y);
System.out.printf("z=%d\n",z);
}
}
在該程序中,首先輸入x的值為58,然后判斷x的值是否大于5,顯然條件是成立,則y的值為x,即y=58。接著判斷y的值是否大于x,因為y的值和x的值都為58,所以該條件是不成立的,則z=5。再次輸入x的值為4,然后判斷x的值是否大于5,不成立,則y=-4;接著判斷y的值是否大于x,不成立,則z=5。
以上就是“Java三目運算符是什么及怎么使用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學(xué)習(xí)更多的知識,請關(guān)注億速云行業(yè)資訊頻道。
免責聲明:本站發(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)容。