欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
java三元運算符

由?:符號表示的,具體的含義其實(shí)就和if-else結構的含義差不多,這種運算符會(huì )將某個(gè)條件作兩種處理,如果滿(mǎn)足條件的話(huà)就執行第一個(gè)結果,如果不滿(mǎn)足的話(huà)就執行另外一個(gè)結果,例如: 
Int A,B,C; 
A=2; 
B=3; 
C=A>B ? 100 :200; 
這條語(yǔ)句的意思是,如果A>B的話(huà),就將100賦給C,否則就將200賦給C;

 

一、比較運算符

又叫關(guān)系運算符,用于判斷兩個(gè)被操作數的大小及是否相等的關(guān)系。使用比較運算符其返回結果一定為布爾值。

 

運算符

運算規則

范例

結果

==

相等于

4==3

false

!=

不等于

4!=3

true

<

小于

4<3

false

>

大于

4>3

true

<=

小于等于

4<=3

false

>=

大于等于

4>=3

true

 

 

        二、邏輯運算符

 

用于計算兩個(gè)布爾值經(jīng)過(guò)指定邏輯后的運算結果,每個(gè)邏輯運算符都是一種邏輯運算規則。邏輯是在中學(xué)數學(xué)中學(xué)習的概念,是判斷是非關(guān)系的運算。所以邏輯運算符操作的均為布爾值:true與false

 

運算符

運算規則

范例

結果

&

false&true

false

|

false|true

true

^

異或

true^flase

true

!

!true

flase

&&

短路與

false&&true

false

||

短路或

false||true

true

 

 

 

邏輯運算符通常連接兩個(gè)其他表達式計算后的布爾值結果

&&和&以及||和|的區別:當使用短路與或者短路或時(shí),只要能判斷出結果則后邊的部分就不再判斷。

        三、三元運算符

用來(lái)完成簡(jiǎn)單的選擇邏輯,即根據條件判斷,從兩個(gè)選擇中選擇一種執行。

使用格式:

(條件表達式)?表達式1:表達式2;

運算規則:

a) 判斷條件表達式,結果為一個(gè)布爾值。

b) true,運算結果為表達式1

c) false,運算結果為表達式2

如:

int a = 10;  int b = 20;

a==b?10:20; 結果為20

 

 

首先看一下三元運算符的格式

  [條件語(yǔ)句] ? [表達式1] : [表達式2]

其中如條件語(yǔ)句為真執行表達式1,否則執行表達式2.簡(jiǎn)單的例子就不舉了,來(lái)點(diǎn)其它的。在JDK1.5以前的版本中,表達式1和表達式2都要求是相同的類(lèi)型,比如都是String或者char之類(lèi)的,在JDK1.5以后,有了自動(dòng)拆箱和裝箱的原因,兩者只要其中一種或者兩者都能被拆箱即可,比如表達式1為Integer,而表達式2為int類(lèi)型的,比如如下

1 int a = 1;2 Integer b = 2;3 boolean c = ture;4 int d = c ? b : a;

還有個(gè)需要注意的是,如果表達式1和表達式2的類(lèi)型不相同,那么他們需要對交集類(lèi)型的自動(dòng)參考轉換。例如如下這段代碼

 

1 String str = "abc";2 StringBuilder strbu = new StringBuilder("def");3 boolean boo = true;4 CharSequence cs = boo ? str : strbu;

因為String和StringBuilder都實(shí)現了CharSequence這個(gè)接口。

確定條件表達式結果類(lèi)型的規則的核心是以下3點(diǎn):

  1 如果表達式1和表達式2操作數具有相同的類(lèi)型,那么它就是條件表達式的類(lèi)型。

  2 如果一個(gè)表達式的類(lèi)型是byte、short、char類(lèi)型的,而另外一個(gè)是int類(lèi)型的常量表達式,且它的值可以用類(lèi)型byte、short、char三者之一表示的,那么條件表達式的類(lèi)型就是三者之一

  3 否則,將對操作數類(lèi)型進(jìn)行二進(jìn)制數字提升,而條件表達式的類(lèi)型就是第二個(gè)和第三個(gè)操作數被提升之后的類(lèi)型

以上的三點(diǎn)可以用如下的代碼來(lái)幫助理解:

 

1 char ch = 'a';2 int num = 0 ;3 boolean bool = true;4 System.out.print( bool ? ch : 0);  //這里不是 bool ? ch : num ,那樣會(huì )打印兩個(gè)975 System.out.print( !bool ? num : ch);

這段代碼打印的是 a97 。很顯然,第二點(diǎn)的規則應用到第一個(gè)打印上了,返回的是char,第三點(diǎn)的規則應用到第二個(gè)打印上了,返回的是int 。但是誰(shuí)會(huì )在乎這個(gè)順序導致的打印結果,所以為了避免不必要的麻煩,很顯然顯式強制類(lèi)型轉換是個(gè)很不錯的選擇 -_-

 

1 char ch = 'a';2 int num = 0 ;3 boolean bool = true;4 System.out.print( bool ? (char)ch : (char)0);5 System.out.print( !bool ? (int)num : (int)ch);

 

還有值得注意的是 表達式1 和 表達式2 不一定非得是數據類(lèi)型,還可以是自己定義的方法,只要方法有返回值就行。例如

 1 static int test1(int i) { 2         i += 1; 3         return i; 4  5     }    6  7     static int test2(int i) { 8         i += 2; 9         return i;10     }11 12     public static void ternary() {13         boolean boo = false;14         int c = boo ? test1(1) : test2(2);15     }

以上就是個(gè)人的一點(diǎn)小心得~~有些內容可以參考條件表達式規范[JLS 15.25]

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
C#運算符
day05_運算符入門(mén)
Java------數據和表達式
RealPython 基礎教程:Python 運算符和表達式
利用堆棧解析算術(shù)表達式一:基本過(guò)程
第十一課 棧的應用
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久