表達式之謎
》奇數性
當取余操作返回一個非0的結果。他與左操作數具有相同的正負符號。
》找零謎題
在需要精確答案的地方,要避免使用float和double。對於貨幣運算。要使用int,long,或BigDEcimal。
》長整除
當你在造作很大的數字時候,千萬要提放溢出-他可是一個緘默的殺手。
當你拿不准的時候,就是用long運算來執行整個計算。
》初級問題
在long類型的字面長量中,一定要用大寫的L;
》多重轉型
如果最初的數值類型是有符號的,那麼就執行符號擴展。如果他是char,那麼不管他將要轉換為什麼類型,都執行0擴展。請不要將復合賦值操作符用於byte,short,或,char。
字符之謎
》要想將一個char數組轉換為一個字符串,要調用String.valueOf(char[])方法。
》在使用字符串連接操作符的時候,總是將不平凡的操作符用括號括起來。(+操作符的優先級大於==)
》除非是必須的,否則就不要使用Unicode轉義字符。
循環之謎
》不要在單個表達式中對相同的變量賦值超過一次。
異常之謎
》千萬不要用return break等來退出finally語句塊。
》對於任何在finally語句塊中可能拋出的錯誤都要進行處理,而不是任其傳播。
》不要使用異常控制循環。應該只為異常條件而使用異常。
類之謎
》每一個靜態域在聲明他的類及其所有子類中共享一份單一的拷貝。
》千萬不要用一個表達式來標識一個靜態方法。千萬不要隱藏靜態方法。
》instanceof造作符被定義在為其左操作數為null時返回false。
》在使用一個變量對實例的創建進行
其他謎
》千萬不要在一個整數字面常量的前面加上一個0,這會使他變為一個八進制。