<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Jafe Lee

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      49 隨筆 :: 0 文章 :: 24 評論 :: 0 Trackbacks
    Puzzle 8:
    DosEquiz.java

    這個(gè)謎題是關(guān)于 Conditional Operator ? :[JLS 15.25]。
    1、Conditional Operator 有三個(gè)運(yùn)算符表達(dá)式,第一個(gè)必須是 boolean或 Boolean型的,否則引發(fā)一個(gè)compile-time error 。
    2、一個(gè) Conditional Expression的類型T是由第二個(gè)表達(dá)式 T2和第三個(gè)表達(dá)式T3的類型來決定的。具體規(guī)則如下:
    • rule 1:? 如果T2 == T3(包括T2 == T3 == null的情況),那么 T = T2(T3)。
    • rule 2:? 如果 T2與T3這兩個(gè)之中有一個(gè)是boolean型,另外一個(gè)是Boolean型,那么 T = boolean。
    • rule 3:? 如果T2與T3之中有一個(gè)是null類型,而另外一個(gè)是一個(gè)引用類型(reference type) RT,那么T = RT
    • 如果T2與T3是可以轉(zhuǎn)化成數(shù)值類型的,那么結(jié)果有以下幾種情況:
      1. rule 4:? 如果T2與T3有一個(gè)是byte或者Byte,另一個(gè)是short或者Short,那么T = short
      2. rule 5:? 如果T2與T3中有一個(gè)是 GT 型,這里 GT 泛指byte, short, char中的任何一個(gè), 而且另一個(gè)是一個(gè)int型的常量表達(dá)式(注意,必須是一個(gè) int型的constant expression),而且 該常量表達(dá)式可以用GT表示(即不會(huì)產(chǎn)生精度損失的情況,個(gè)人的理解^_^),則T=GT。
      3. rule 6: 如果T2和T3有一個(gè)是Byte型,另一個(gè)是可以用byte型表示的int型常量表達(dá)式,那么T=byte
      4. rule 7: 如果T2和T3有一個(gè)是Short型,另一個(gè)是可以用byte型表示的int型常量表達(dá)式,那么T=short
      5. rule 8: 如果T2和T3有一個(gè)是Character型,另一個(gè)是可以用char型表示的int型常量表達(dá)式,那么T=char
      6. rule 9:? Otherwise, binary numeric promotion (JLS 5.6.2) is applied to the operand types, and the type of the conditional expression is the promoted type of the second and third operands. Note that binary numeric promotion performs unboxing conversion (JLS 5.1.8) and value set conversion (JLS 5.1.13).(這個(gè)很多詞語都不知該怎么翻譯,就直接copy過了。。。)
    • rule 10:? Otherwise, the second and third operands are of types S1 and S2 respectively. Let T1 be the type that results from applying boxing conversion to S1, and let T2 be the type that results from applying boxing conversion to S2. The type of the conditional expression is the result of applying capture conversion (JLS 5.1.10) to lub(T1, T2) (JLS 15.12.2.7).


    Puzzle 9:
    Tweedledum.java
    關(guān)于Compound Assignment Operators,參見JLS 15.26.2.
    Puzzle 10:
    Tweedledee.java

    posted on 2007-08-23 17:56 Jafe Lee 閱讀(183) 評論(0)  編輯  收藏 所屬分類: Book Notes-- Java Puzzlers

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 国产成人免费福利网站| 免费人成视频在线观看不卡| 免费播放特黄特色毛片| 亚洲国产精品福利片在线观看| 亚洲国产日韩在线人成下载| 欧洲美女大片免费播放器视频| 999久久久免费精品播放| 国产免费拔擦拔擦8x| 亚洲精品综合一二三区在线| 国产精品亚洲片在线花蝴蝶 | 日韩国产欧美亚洲v片 | 看全色黄大色大片免费久久| 亚洲国产精品乱码一区二区| 亚洲精华国产精华精华液网站| 免费在线中文日本| 国产精品国产免费无码专区不卡| 亚洲人成网站影音先锋播放| 春意影院午夜爽爽爽免费| 97热久久免费频精品99| 亚洲精品乱码久久久久久蜜桃不卡 | 亚洲成aⅴ人在线观看| yellow免费网站| 男男AV纯肉无码免费播放无码| 亚洲综合国产一区二区三区 | 亚洲国产日韩精品| 国产免费一区二区视频| 男人的天堂亚洲一区二区三区 | 亚洲娇小性xxxx色| a国产成人免费视频| 免费无遮挡无码永久在线观看视频| 91亚洲国产成人精品下载| 一级一级毛片免费播放| 免费看的一级毛片| 亚洲视频国产视频| 最近免费中文字幕MV在线视频3| 国产国产人免费人成免费视频| 亚洲中文无码a∨在线观看| 免费黄网站在线观看| 国产专区一va亚洲v天堂| 日本亚洲高清乱码中文在线观看| 免费精品国产自产拍在|