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

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

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

    Flyingis

    Talking and thinking freely !
    Flying in the world of GIS !
    隨筆 - 156, 文章 - 16, 評(píng)論 - 589, 引用 - 0
    數(shù)據(jù)加載中……

    [Java Puzzlers]表達(dá)式隨想

    ????作者:Flyingis

    ??? 前段時(shí)間到書(shū)店抱了幾本書(shū)回來(lái),雖說(shuō)網(wǎng)上有很多電子版的資料,但有時(shí)候覺(jué)得一些比較經(jīng)典、自己比較喜歡的書(shū)籍還是有必要捧在手上細(xì)讀的,《Java Puzzlers》就是其中之一,沒(méi)事的時(shí)候就喜歡拿出來(lái)翻翻,怕自己像看新聞報(bào)紙一樣看過(guò)就淡忘了,還是略作筆記讓自己多份思考。

    ??? 軟件開(kāi)發(fā)人員無(wú)論最初是從哪種語(yǔ)言開(kāi)始學(xué)習(xí)的,首先都要掌握該語(yǔ)言的編程基礎(chǔ),例如語(yǔ)句、表達(dá)式、變量、數(shù)據(jù)類型、運(yùn)算符、字符串等等,這些基礎(chǔ)性的知識(shí)簡(jiǎn)單,但細(xì)節(jié)卻比較繁瑣,不同的編譯器也會(huì)有不同的編譯規(guī)則。以前寢室有同學(xué)考過(guò)的全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言的試題中,語(yǔ)言的礎(chǔ)規(guī)則是出題者最熱衷的題形之一,曾經(jīng)也覺(jué)得出題者無(wú)聊,只重理論不看實(shí)際,畢竟一些表達(dá)方法和書(shū)寫(xiě)格式可以通過(guò)規(guī)范來(lái)約束簡(jiǎn)化,但是作為一名程序員,一個(gè)專業(yè)的開(kāi)發(fā)人員,應(yīng)該了解自己所使用語(yǔ)言的基礎(chǔ)規(guī)則,有時(shí)候一些程序的BUG就是存在于這些不起眼,或是自己認(rèn)為應(yīng)該沒(méi)有問(wèn)題的地方。

    ??? Java語(yǔ)言的表達(dá)式和C/C++比較相近,但也存在一些差異,這些差異不僅僅是那些看得見(jiàn)的差異,還有隱性的,例如相同的表達(dá)式,編譯的規(guī)則不同。因此,我們需要理解Java表達(dá)式的一些基礎(chǔ)性知識(shí),加深認(rèn)識(shí)。

    1.? 要精確表達(dá)一個(gè)浮點(diǎn)型變量,應(yīng)該使用BigDecimal對(duì)象來(lái)構(gòu)造這個(gè)實(shí)例,使用float或double在一般情況下只是提供了在一定精度范圍下的一種近似,不能產(chǎn)生精確的結(jié)果。常用的數(shù)據(jù)庫(kù)中都有與BigDecimal相對(duì)應(yīng)的數(shù)據(jù)類型,有的更為詳細(xì)。
    2.? 對(duì)于 long value = 30 * 300 * 3000 * 3000; 來(lái)說(shuō),long類型可以完整保存右邊表達(dá)式計(jì)算的結(jié)果,但是右邊表達(dá)式的計(jì)算是按照int類型進(jìn)行的,只有當(dāng)右邊表達(dá)式計(jì)算完成后才會(huì)轉(zhuǎn)換為long類型,在計(jì)算過(guò)程中,右邊表達(dá)式的值就已經(jīng)超出int范圍,因此會(huì)出現(xiàn)計(jì)算溢出。
    3.? 通常我們使用最多的是十進(jìn)制計(jì)算,和十進(jìn)制不同的是,當(dāng)十六進(jìn)制或八進(jìn)制常量的最高位被置位時(shí),該常量是負(fù)值。
    4.? 注意數(shù)據(jù)類型之間的相互轉(zhuǎn)換(特別是char類型和其他類型間的轉(zhuǎn)換),以及三目運(yùn)算符的第二和第三操作數(shù)類型不一致的情況處理。
    5.? 在C/C++中,操作符的操作數(shù)是從右向左計(jì)算,Java中相反。
    6.? 復(fù)合賦值操作和簡(jiǎn)單賦值操作在一般情況下是相同的,例如 x *= y 和 x = x * y ,但是當(dāng)x和y類型不同時(shí)情況有所變化,例如當(dāng)x為short類型,y為double類型時(shí),x *= y的結(jié)果雖然和想象的有些出入,至少可以編譯通過(guò),但后者賦值卻是非法的。

    ??? 大家可以繼續(xù)補(bǔ)充……

    posted on 2006-03-30 23:47 Flyingis 閱讀(1113) 評(píng)論(1)  編輯  收藏 所屬分類: JavaSE

    評(píng)論

    # re: [Java Puzzlers]表達(dá)式隨想[未登錄](méi)  回復(fù)  更多評(píng)論   

    總結(jié)的很好,學(xué)習(xí)了,謝謝.
    2008-10-26 02:21 | JAVA愛(ài)好者
    主站蜘蛛池模板: 亚洲av区一区二区三| 亚洲日本中文字幕一区二区三区| 日韩亚洲国产二区| 亚洲精品视频在线| 亚洲偷自拍另类图片二区| kk4kk免费视频毛片| 精品免费久久久久久久| 日韩精品亚洲专区在线观看| 亚洲熟妇av一区| 深夜久久AAAAA级毛片免费看| 亚洲高清视频免费| 亚洲国产高清精品线久久| 亚洲妓女综合网99| caoporn成人免费公开| 毛片免费在线观看网址| 亚洲VA成无码人在线观看天堂| 亚洲另类无码专区首页| 精品国产一区二区三区免费| 国产美女无遮挡免费网站| 无码乱人伦一区二区亚洲一| 国产精品亚洲va在线观看| 永久在线免费观看| 不卡精品国产_亚洲人成在线| 在线观看亚洲AV日韩AV| 女人体1963午夜免费视频| 国产高清免费的视频| 亚洲日韩中文字幕| 中国国产高清免费av片| 日本一道综合久久aⅴ免费| 911精品国产亚洲日本美国韩国| 一级毛片在线播放免费| 成人免费无码大片A毛片抽搐| 亚洲男人第一av网站| eeuss影院免费92242部| 国产高清在线精品免费软件| 亚洲乱码在线播放| 久久午夜夜伦鲁鲁片免费无码| 亚洲成?Ⅴ人在线观看无码| 亚洲美国产亚洲AV| 99久久国产热无码精品免费| 亚洲av日韩av激情亚洲|