<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)航:
     
    主站蜘蛛池模板: 亚洲av无码成h人动漫无遮挡| 国产精品麻豆免费版| 亚洲精品美女久久777777| 日本黄页网址在线看免费不卡| 无码人妻一区二区三区免费手机| 亚洲午夜久久久精品影院| 99久久99久久免费精品小说| 亚洲福利视频一区| **实干一级毛片aa免费| 亚洲国产成人久久综合一| 免费A级毛片无码A∨中文字幕下载| 久久精品国产精品亚洲艾| 国产精品区免费视频| 日韩亚洲AV无码一区二区不卡| 99视频在线精品免费| 亚洲女人影院想要爱| 国产成人免费网站| 亚洲aⅴ天堂av天堂无码麻豆| 免费一级黄色毛片| baoyu116.永久免费视频| 久久久久久a亚洲欧洲AV| 免费视频爱爱太爽了| 亚洲熟女www一区二区三区| 免费国产成人午夜私人影视| 精品一区二区三区免费观看| 亚洲国产精品嫩草影院在线观看| 91麻豆国产免费观看| 亚洲日韩国产AV无码无码精品| 亚洲国产日韩在线观频| 久久精品国产大片免费观看| 亚洲人成网网址在线看| 亚洲精品成人区在线观看| 免费女人高潮流视频在线观看| 日本亚洲免费无线码| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 亚洲的天堂av无码| 日韩视频免费一区二区三区| 男女一边桶一边摸一边脱视频免费 | 亚洲成a人片在线播放| 久久福利青草精品资源站免费| 亚洲jjzzjjzz在线播放|