⑴ java三目運算符
額、有這么麻煩么?
直接抄
switch(Integer.valueOf(ptype12==null?"-1":ptype12)){
case -1;return ptype;break;
.. .. . .. . .
}
如果非要用三目運算符
得這么寫
return "9".equals(ptype12)?ptype12:(其它表達式);
三目運算符是這個樣子滴
布爾值?F1:F2
如果布爾值為真,執行F1,否則F2
還涉及到運算符優先順序的問題
如果後面太長最好括起來
另外三目運算符不能單獨使用,不能完全代替if else
可能會這么出現
value = boolean?v1:v2;
StringBuffer.append(boolean?v1:v2);
return boolean?v1:v2;
反正就是不能直接拿出來用了
以上回答你滿意么?
⑵ java 三目運算符
首先,對於a?b:c的運算符,當a為true時,運算結果為b,當a為false時,運算結果為c;
然後,上述題回目的解釋:
運算時,必須答是處於同一種數據類型進行運算的,所以,true?x:1111111110中,由於x是char型,1111111110是int型,而int型大於char型,所以運算時x將被自動轉換成int型數據進行運算,'b'轉換成int後的值等於98,所以,輸出98;
同理,false?i:x中,i為int型、x為char型,所以也一律轉換成int型進行運算,即x被轉換成了98,由於?左側的值為false,所以輸出x的值,即98.
還是不明白的話可以問我^_^
⑶ java 三目運算。。。
z=a>b?a:(a>b?a:b);
第一步:a>b tue返回a false返回(a>b?a:b)
得(a>b?a:b)
第二部同樣返回一個b
所以z=2
⑷ java中三目運算符
先學java的叫它,三元運算符;先學c的叫它三目運算符
即( ?: )
如名字表示的三元運版算符需要三個操作數。權
語法為:條件表達式?表達式1:表達式2。
說明:問號前面的位置是判斷的條件,判斷結果為bool型,為true時調用表達式1,為false時調用表達式2。
其邏輯為:「如果為真執行第一個,否則執行第二個。」
⑸ JAVA 三目運算符
額、有這么麻煩么?
直接
switch(Integer.valueOf(ptype12==null?"-1":ptype12)){
case -1;return ptype;break;
.. .. . .. . .
}
如果非要用三目運算符
得這么寫
return "9".equals(ptype12)?ptype12:(其它表達式);
三目運算符是這個樣子版滴
布爾權值?F1:F2
如果布爾值為真,執行F1,否則F2
還涉及到運算符優先順序的問題
如果後面太長最好括起來
另外三目運算符不能單獨使用,不能完全代替if else
可能會這么出現
value = boolean?v1:v2;
StringBuffer.append(boolean?v1:v2);
return boolean?v1:v2;
反正就是不能直接拿出來用了
⑹ JAVA三目運算符問題
1、三目運復算符 (表達制式1)?(表達式2):(表達式3),計算方法是這樣的:表達式1是一個邏輯表達式,如果其值為true,則整個表達式的值為表達式2的值,否則為表達式3的值
2、例子:int i = (5 > 3) ? (5 + 3) : (5 - 3);結果為i = 8.因為5 > 3為true,所以i = 5 + 3.
3、根據三目運算符的從右到左的結合性,我是這樣劃分的
year > a.year ? 1 : (year < a.year ? -1 : (month > a.month ? 1 : (month < a.month ? -1 : (day > a.day ? 1 : (day < a.day ? -1 : 0)))));
所以應該從最右邊的那個表達式開始計算,結果應該是1、0、-1中的一個值。
以上純屬個人理解。沒搞清楚你這個演算法到底是什麼意義。。。。還有你的compare()方法不能聲明為靜態。
⑺ java中三目運算符
System.out.println(true ? x : 0);
System.out.println(false ? 10 : x);
這2個的來寫法沒有區源別 是一樣的結果
System.out.println(true ? x : 0);
System.out.println(true ? 10 : x);
就不是一樣的了
你沒有進行比較與別的運算
是真的 就是你要的結果
⑻ java三目運算符
1、三目運算符 (表達式1)?(表達式2):(表達式3),計算方法是這樣的:表達式1是一個邏輯表達式,版如果其值為true,則整個權表達式的值為表達式2的值,否則為表達式3的值
2、例子:int i = (5 > 3) ? (5 + 3) : (5 - 3);結果為i = 8.因為5 > 3為true,所以i = 5 + 3.
3、根據三目運算符的從右到左的結合性,我是這樣劃分的
year > a.year ? 1 : (year < a.year ? -1 : (month > a.month ? 1 : (month < a.month ? -1 : (day > a.day ? 1 : (day < a.day ? -1 : 0)))));
所以應該從最右邊的那個表達式開始計算,結果應該是1、0、-1中的一個值。
以上純屬個人理解。沒搞清楚你這個演算法到底是什麼意義。。。。還有你的compare()方法不能聲明為靜態。
⑼ java三目運算符
三目運算符a
>
b
?
a
:
b運算規則是:如果?前面的等式為true,即a>b,則執行返回a,否則返回b;
先判斷變數year是否大於對象內a的year值,如容果大於就返回1,小於就繼續判斷year是否小於對象a的year值,如果小於就返回-1;此後就是year==a.year的情況,依次判斷月份和日
⑽ 關於java 三目運算符
什麼都可以來.?前面是自判斷條件,後面:兩邊是輸出值.
public class Three{
public static void main(String[] args){
System.out.println(1==1?'y':'n');
}
}
這個簡單地例子輸出是y