1. 程式人生 > >Java-筆記2復習

Java-筆記2復習

這樣的 end 數據類型 ring 精度 ddr 常量 駝峰 bit

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

代碼整潔之道
整理人:尚矽谷 - 宋紅康

第2章 有意義的命名
2.1 介紹
軟件中隨處可見命名。我們給變量、函數、參數、類和包命名。我們給源代碼及源代碼所在目錄命名。
這麽多命名要做,不妨做好它。下文列出了取個好名字的幾條簡單規則。

2.2 名副其實,見名知意
     變量名太隨意,haha、list1、ok、theList 這些都沒啥意義

2.3 避免誤導
     包含List、import、java等類名、關鍵字或特殊字;
     字母o與數字0,字母l與數字1等
     提防使用不同之處較小的名稱。比如:XYZControllerForEfficientHandlingOfStrings與XYZControllerForEfficientStorageOfStrings

2.4 做有意義的區分 反面教材,變量名:a1、a2、a3 避免冗余,不要出現Variable、表字段中避免出現table、字符串避免出現nameString,直接name就行,知道是字符串類型 再比如:定義了兩個類:Customer類和CustomerObject類,如何區分? 定義了三個方法:getActiveAccount()、getActiveAccounts()、getActiveAccountInfo(),如何區分? 2.5 使用讀得出來的名稱 不要使用自己拼湊出來的單詞,比如:xsxm(學生姓名);genymdhms(生成日期,年、月、日、時、分、秒) 所謂的駝峰命名法,盡量使用完整的單詞
2.6 使用可搜索的名稱 一些常量,最好不直接使用數字,而指定一個變量名,這個變量名可以便於搜索到. 比如:找MAX_CLASSES_PER_STUDENT很容易,但想找數字7就麻煩了。 2.7 避免使用編碼 2.7.1 匈牙利語標記法 即變量名表明該變量數據類型的小寫字母開始。例如,szCmdLine的前綴sz表示“以零結束的字符串”。 2.7.2 成員前綴 避免使用前綴,但是Android中一個比較好的喜歡用m表示私有等,個人感覺比較好 2.7.3 接口和實現 作者不喜歡把接口使用I來開頭,實現也希望只是在後面添加Imp
2.8 避免思維映射 比如傳統上慣用單字母名稱做循環計數器。所以就不要給一些非計數器的變量命名為:i、j、k等 2.9 類名 類名與對象名應該是名詞與名詞短語。如Customer、WikiPage、Account和AddressParser。避免使用Data或Info這樣的類名。 不能使動詞。比如:Manage、Process 2.10 方法名 方法名應當是動詞或者動詞短語。如postPayment、deletePage或save 2.11 別扮可愛 有的變量名叫haha、banana 別用eatMyShorts()表示abort() 2.12 每個概念對應一個詞 項目中同時出現controllers與managers,為什麽不統一使用其中一種? 對於那些會用到你代碼的程序員,一以貫之的命名法簡直就是天降福音。 2.13 別用雙關語 有時可能使用add並不合適,比例insert、append。add表示完整的新添加的含義。 2.14 使用解決方案領域名稱 看代碼的都是程序員,所以盡量用那些計算機科學術語、算法名、模式名、數學術語, 依據問題所涉領域來命名不算是聰明的做法。 2.15 使用源自所涉問題領域的名稱 如果不能用程序員熟悉的術語來給手頭的工作命名,就采用從所涉問題領域而來的名稱吧。 至少,負責維護代碼的程序員就能去請教領域專家了。 2.16 添加有意義的語境 可以把相關的變量放到一個類中,使用這個類來表明語境。 2.17 不要添加沒用的語境 名字中帶有項目的縮寫,這樣完全沒有必要。比如有一個名為“加油站豪華版”(Gas Station Deluxe)的項目, 在其中給每個類添加GSD前綴就不是什麽好策略。 2.18 最後的話 取好名字最難的地方在於需要良好的描述技巧和共有文化背景。

1.變量的分類
1.1 按數據類型分類

技術分享圖片

詳細說明:
//1. 整型:byte(1字節=8bit) \ short(2字節) \ int(4字節) \ long(8字節)
//① byte範圍:-128 ~ 127
// ② 聲明long型變量,必須以"l"或"L"結尾
// ③ 通常,定義整型變量時,使用int型。
//④整型的常量,默認類型是:int型
//2. 浮點型:float(4字節) \ double(8字節)
//① 浮點型,表示帶小數點的數值
//② float表示數值的範圍比long還大
//③ 定義float類型變量時,變量要以"f"或"F"結尾
//④ 通常,定義浮點型變量時,使用double型。
//⑤ 浮點型的常量,默認類型為:double
//3. 字符型:char (1字符=2字節)
//① 定義char型變量,通常使用一對‘‘,內部只能寫一個字符
//② 表示方式:1.聲明一個字符 2.轉義字符 3.直接使用 Unicode 值來表示字符型常量
//4.布爾型:boolean
//① 只能取兩個值之一:true 、 false
//② 常常在條件判斷、循環結構中使用
1.2 按聲明的位置分類(了解)

技術分享圖片


2.定義變量的格式:
數據類型 變量名 = 變量值;

數據類型 變量名;
變量名 = 變量值;

3.變量使用的註意點:
① 變量必須先聲明,後使用
② 變量都定義在其作用域內。在作用域內,它是有效的。換句話說,出了作用域,就失效了
③ 同一個作用域內,不可以聲明兩個同名的變量
4.基本數據類型變量間運算規則
4.1 涉及到的基本數據類型:除了boolean之外的其他7種
4.2 自動類型轉換(只涉及7種基本數據類型)
結論:當容量小的數據類型的變量與容量大的數據類型的變量做運算時,結果自動提升為容量大的數據類型。
byte 、char 、short --> int --> long --> float --> double
特別的:當byte、char、short三種類型的變量做運算時,結果為int型
說明:此時的容量大小指的是,表示數的範圍的大和小。比如:float容量要大於long的容量

4.3 強制類型轉換(只涉及7種基本數據類型):自動類型提升運算的逆運算。
1.需要使用強轉符:()
2.註意點:強制類型轉換,可能導致精度損失。
4.4 String與8種基本數據類型間的運算
1. String屬於引用數據類型,翻譯為:字符串
2. 聲明String類型變量時,使用一對""
3. String可以和8種基本數據類型變量做運算,且運算只能是連接運算:+
4. 運算的結果仍然是String類型
避免:
String s = 123;//編譯錯誤
String s1 = "123";
int i = (int)s1;//編譯錯誤

技術分享圖片

Java-筆記2復習