Jafe Lee

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            49 隨筆 :: 0 文章 :: 24 評論 :: 0 Trackbacks
          Puzzle 1:

          當求余運算(remainder operation)符 % 返回一個非零余數時,余數的符號位和左邊操作數的符號位相同。例如
          ????????System.out.println((-53)%9);?//?-8
          ????????System.out.println(53%(-9));?//8
          ????????System.out.println((-53)%(-9));?//-8

          Puzzle 2:

          Change.java

          關于浮點數的二進制表示~~
          (1)二進制浮點數并不能精確表示所有的小數
          (2)對計算精度要求比較準確(例如金融計算)時,不要使用float和double,盡量使用int, long,BigDecimal.
          (3)推薦閱讀文章:What Every Computer Scientist Should Know About Floating-Point Arithmetic
          網上很多地方都有的。另一本牛書 Computer Systems A Programmers's Perspective上也有講浮點數
          (4)JLS 3.10.1由規范可知 0.1, .1, 1. 都是合法的浮點數。需要注意的是在java中,浮點數有兩種原生類型float,double,當浮點數的后綴是F或者f時,該浮點數為float類型,沒有后綴或者后綴是D或者d時,該浮點數是double類型的。注意下面的例子
          FloatPoint.java

          結果:
          結果

          Puzzle 3:
          需要注意java是如何處理整數溢出的,看下面的例子就一目了然了,別忘了long是 8 bytes,int是 4 bytes的~~
          LongDividion.java

          Puzzle 4:
          添加long型整數的后綴時要使用L避免用l,同樣不要單獨使用小寫字母l作為變量名,理由是顯而易見的:l和1在大多數字體中太難區分。
          Puzzle 5:
          (1)和十進制數不同,當十六進制、八進制數的最高位是1時,表示它是一個負數(在十進制數中,表示一個負數要顯式使用符號-)
          (2)盡量避免混合類型運算,例如本例中的 long型和int型的加法,在java中,一個整數如果沒有后綴L或l,則它是一個int型而不是long型。
          JoyOfHex.java
          Puzzle 6:
          The rule "Sign extension is performed if the type of the original value is signed; zero extension if it is a char, regardless of the type to which it is being converted" describes the sign extension behavior when converting from narrower integral types to wider.

          Multicast.java
          Puzzle 6:
          JLS 15.7 Evaluation Order
          CleverSwap.java

          posted on 2007-08-11 13:46 Jafe Lee 閱讀(329) 評論(0)  編輯  收藏 所屬分類: Book Notes-- Java Puzzlers

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


          網站導航:
           
          主站蜘蛛池模板: 霞浦县| 平昌县| 曲周县| 绥宁县| 绵阳市| 元江| 门源| 白玉县| 湖口县| 北碚区| 郸城县| 瓦房店市| 且末县| 灌阳县| 洛川县| 云和县| 湖州市| 资阳市| 边坝县| 卓资县| 萍乡市| 沙坪坝区| 安康市| 邵阳市| 崇左市| 浪卡子县| 松江区| 维西| 靖州| 岳阳县| 遂平县| 健康| 高碑店市| 盐山县| 土默特右旗| 沈阳市| 改则县| 平谷区| 绍兴市| 沂水县| 从江县|