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

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

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

    Java語法總結 - 基本數據類型

    Posted on 2007-10-21 13:14 Raylong 閱讀(17740) 評論(2)  編輯  收藏 所屬分類: Java語法總結
    Java語法總結 - 基本數據類型

    Java不是純的面向對象的語言,不純的地方就是這些基本數據類型不是對象。當然初期Java的運行速度很慢,基本數據類型能在一定程度上改善性能。如果你想編寫純的面向對象的程序,用包裝器類是取代基本數據類型就可以了。

    1、基本類型的存儲空間。byte--8位,short--16位,int--32位,long--64位,float--32位,double--64位。這六種數字類型都是有符號的。固定的存儲空間正是Java可移植性、跨平臺的原因之一!

    2、基本類型的存在導致了Java OOP的不純粹性。因為基本類型不是對象,一切皆對象是個小小的謊言。這是出于執行效率的權衡。

    3、使用公式-2的(位數-1)次冪到2的(位數-1)次冪-1確定整數類型的范圍(byte、short、int、long)。

    4、char是16位Unicode字符或者說是16位無符號整數,范圍從0到65535。即便如此,可以強制轉換非法的數據,如:char c1 = (char) 10000;  char c2 = (char) -200;。可以從二進制存儲的角度理解這點。

    5、整數有八進制(以0開頭的整數)、十進制、十六進制(以0x或0X開頭的整數)表示。

    6、char可以用單引號表示單個字符,如:'良'。也可以用unicode值'"ucafe'(四位十六進制數)。

    7、布爾型boolean。布爾型只能是true或者false,并且測試它為真還是假。它不能進行任何其他的運算,或者轉化為其他類型。
    正例:boolean b1 = 1 > 2;    反例:int seen = button.isVisible();
    實踐:簡潔是美德,請不要這樣寫:if ( is == true && done == false ) ,只有新手才那么寫。
    對于任何程序員 if ( whether && !done ) 都不難理解吧。所以去掉所有的==fasle 和 ==true。

    8、默認的浮點類型是雙精度(double),要想要一個float必須在浮點數后面加F或者f。如:float pi = 3.14;是錯誤的。

    9、默認的整數類型是int型,要想使用長整型可在后面加“l”或“L”,如:1000L。(小寫l容易被誤認為1,不推薦用)

    10、float可以精確到7位有效數字,第8位的數字是第9位數字四舍五入上取得的;double可以精確到16位有效數字,第17位的數字是第18位數字四舍五入上取得的。蓋茨到底有多少錢?要用double表示,用float是裝不下的……

    11、如果要求精確的答案,請不要使用float和double,因為它們是為了在廣域數值范圍上提供較為精確的快速近似運算而精心設計的。然而,它們沒有提供完全精確的結果。尤其是對貨幣計算尤為不適合,因為要讓一個float或double精確地表達0.1(或者10的任何)

    12、BigInteger支持任意精度的整數。BigDecimal支持任意精度的定點數。

    13、初始化無論怎么強調都不過分!Java為所有的成員變量提供了默認初始化:byte、short、 int、long--0  float--0.0f double--0.0  boolean--false  char--'"u0000',特別地對象類型的引用全被初始化為null。(注意!除了數組之外的局部變量是得不到這種優待的,需要你自己初始化。另外,默認初始化的值是你想要的嗎?所以最好明確地對變量進行初始化,一般是在構造函數中。)

    14、基本類型之間的轉化。Java的類型檢查很嚴格,從低精度轉換到高精度是無須顯式轉換的,double d = 123;。但是反過來,進行窄化轉換,由高精度向低精度,或者一種類型到另一種類型,則必須使用強制類型轉化。Java提供了安全轉化機制,但是結果是否是期望的,你自己保證吧。
    double d = 12.5;
    float f = (int) d; //結果不是13,而是12!
    浮點型轉化為整型時,不進行四舍五入,直接截斷小數點后面的數。

    15、提升。各種基本數據類型進行混合運算,結果會是表達能力最強的那種。如:int和long運算,結果是long,整型和浮點型運算結果是浮點型。特殊的一點是:只要類型比int小(如char、byte、short),那么在運算之前,這些值會自動地轉換成int。例子:
    byte b1 = 12;
    byte b2 = b1 + 1; //在編譯時出錯了!因為b1+1已經是int型了!切記!

    16、浮點類型的科學表示法。在數學中e代表自然對數(Math.E給出了double值),而在Java中e代表10的冪次。浮點型的數可以這樣表示float f = 1e-27f; 代表1乘以10的負27次冪。


    返回索引頁


    Feedback

    # re: Java語法總結 - 基本數據類型  回復  更多評論   

    2013-04-07 14:32 by pqz
    良的unicode編碼,應該是0x826F

    # re: Java語法總結 - 基本數據類型  回復  更多評論   

    2013-06-14 17:36 by QQQ
    GOOD
    主站蜘蛛池模板: 亚洲国产a级视频| 亚洲欧洲日本在线| 国产裸体美女永久免费无遮挡| 两性色午夜免费视频| 国产免费av片在线看| 久久亚洲中文字幕精品有坂深雪| 一级毛片免费播放男男| 免费jjzz在在线播放国产| 日韩欧美亚洲中文乱码| 三年片在线观看免费大全| 亚洲图片激情小说| 国产大片免费网站不卡美女| 日韩精品一区二区亚洲AV观看 | xvideos亚洲永久网址| 亚洲国产成人久久精品app| **毛片免费观看久久精品| 亚洲理论片在线中文字幕| 人妻仑乱A级毛片免费看| 亚洲日韩在线观看| 欧美日韩亚洲精品| 免费va在线观看| 黄页网址大全免费观看12网站| 亚洲精品视频在线| a在线视频免费观看| 婷婷久久久亚洲欧洲日产国码AV | 日产乱码一卡二卡三免费| 激情小说亚洲图片| 亚洲综合最新无码专区| 99精品视频免费| 亚洲欧洲第一a在线观看| 免费v片在线观看视频网站| 亚洲一区二区女搞男| 青青草原1769久久免费播放| 亚洲黄色免费电影| 日韩电影免费在线观看网站| 亚洲综合成人网在线观看| 日韩在线免费视频| 亚洲av成人无码网站…| 久久亚洲高清综合| 一区二区三区观看免费中文视频在线播放| 亚洲手机中文字幕|