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

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

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

    Java語法總結(jié) - 基本數(shù)據(jù)類型

    Java不是純的面向?qū)ο蟮恼Z言,不純的地方就是這些基本數(shù)據(jù)類型不是對象。當(dāng)然初期Java的運(yùn)行速度很慢,基本數(shù)據(jù)類型能在一定程度上改善性能。如果你想編寫純的面向?qū)ο蟮某绦颍冒b器類是取代基本數(shù)據(jù)類型就可以了。

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

    2、基本類型的存在導(dǎo)致了Java OOP的不純粹性。因?yàn)榛绢愋筒皇菍ο螅磺薪詫ο笫莻€(gè)小小的謊言。這是出于執(zhí)行效率的權(quán)衡。

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

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

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

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

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

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

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

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

    11、如果要求精確的答案,請不要使用float和double,因?yàn)樗鼈兪菫榱嗽趶V域數(shù)值范圍上提供較為精確的快速近似運(yùn)算而精心設(shè)計(jì)的。然而,它們沒有提供完全精確的結(jié)果。尤其是對貨幣計(jì)算尤為不適合,因?yàn)橐屢粋€(gè)float或double精確地表達(dá)0.1(或者10的任何)

    12、BigInteger支持任意精度的整數(shù)。BigDecimal支持任意精度的定點(diǎn)數(shù)。

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

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

    15、提升。各種基本數(shù)據(jù)類型進(jìn)行混合運(yùn)算,結(jié)果會(huì)是表達(dá)能力最強(qiáng)的那種。如:int和long運(yùn)算,結(jié)果是long,整型和浮點(diǎn)型運(yùn)算結(jié)果是浮點(diǎn)型。特殊的一點(diǎn)是:只要類型比int小(如char、byte、short),那么在運(yùn)算之前,這些值會(huì)自動(dòng)地轉(zhuǎn)換成int。例子:
    byte b1 = 12;
    byte b2 = b1 + 1; //在編譯時(shí)出錯(cuò)了!因?yàn)閎1+1已經(jīng)是int型了!切記!

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


    返回索引頁


    Feedback

    # re: Java語法總結(jié) - 基本數(shù)據(jù)類型  回復(fù)  更多評論   

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

    # re: Java語法總結(jié) - 基本數(shù)據(jù)類型  回復(fù)  更多評論   

    2013-06-14 17:36 by QQQ
    GOOD
    主站蜘蛛池模板: 四虎成人免费网站在线| 亚洲精品色在线网站| 大妹子影视剧在线观看全集免费| 岛国片在线免费观看| 亚洲卡一卡二卡乱码新区| ww在线观视频免费观看| 亚洲精品视频观看| 久久久久久精品免费免费自慰| 久久久婷婷五月亚洲97号色| 久久午夜羞羞影院免费观看| 久久综合亚洲色HEZYO社区| 精品一区二区三区无码免费视频| 777亚洲精品乱码久久久久久| 114级毛片免费观看| 亚洲av乱码一区二区三区香蕉 | 国产一精品一AV一免费孕妇| 亚洲中文无码永久免| 国产精品四虎在线观看免费| 日日躁狠狠躁狠狠爱免费视频| 亚洲免费日韩无码系列| 中文字幕成人免费高清在线 | 免费毛片a在线观看67194| 国产亚洲中文日本不卡二区| 无码国模国产在线观看免费| 一级毛片成人免费看a| 国产精品久久久亚洲| 亚洲成人在线免费观看| 中文字幕亚洲男人的天堂网络| 日韩免费观看的一级毛片| xxxxx做受大片在线观看免费| 亚洲av成人无码久久精品| AA免费观看的1000部电影| 免费看黄网站在线看| 亚洲av无码成h人动漫无遮挡 | 91免费精品国自产拍在线不卡| 亚洲成aⅴ人片久青草影院按摩| 91麻豆国产自产在线观看亚洲| 精品一区二区三区免费毛片爱| 国产精品亚洲一区二区在线观看| 老司机亚洲精品影视www| 中国人xxxxx69免费视频|