第一章
-
“面向對象的”木匠始終關注的是所制作的椅子,第二位才是所使用的工具;
-
Java有個例程庫,用於處理像HTTP和FTP之類的TCP/IP協議。
-
java編譯器能夠檢測許多在其他語言中僅在運行時才能夠檢測出來的問題。
-
java代碼無論來自哪里,都不能脫離沙箱。
- Java編譯器通過生成特定的計算機體系結構無關的字節碼指令來實現這一特性。
- Java中的int永遠為32位整數。
第三章
整型(只存整數):
- int 4個字節 (正負21億)
- short 2個字節(-32768~32768)
- long 8個字節
- byte 1個字節(-128~127)
其中byte和short用於特定的場合
浮點型(存小數):
- float 4字節(6位小數)
- double 8字節(15位小數)
其中很少情況用flaot,如果數字后面沒有帶f,則默認為double類型
浮點數不適合用於精度計算eg:System.out.println (2.0-1.1);輸出結果為:0.8999999999999999
所以一般用BigDecimal來計算精確的數字。
- 建議不要在程序中使用char,除非是需要處理UTF-16的代碼單元,最好將字符串作為抽象數據類型處理。
- boolean類型:整型值和布爾值不能進行相互轉換。
- 變量聲明盡量靠近第一次使用的地方。
- 關鍵字final表示常量,常量一般用大寫字母表示,每個常量只能被賦值一次。賦值之后就不能再更改。
- 在實踐中一般用static final 聲明一個類常量。
- &&是先執行前面的表達式,如果成立則繼續執行后面一個表達式。eg:x!=0 && 1/x>x+y 避免除以0
- “Hello”.equals(greeting),不區分大小寫:equalsIgnoreCase,不能用==判斷兩個字符串是否相等,只能判斷兩個字符串是否在同一個位置上。
- 檢查一個字符串既不是null也不是空串:if(str != null && str.length() =0 ),如果在一個null值上調用方法會出現錯誤。
- swich語句有可能觸發多個分支,如果在分支語句末尾沒有break語句。所以在程序中少用switch語句
第四章 對象與類
- 面向對象程序由對象組成,每個對象包含對用戶公開的特定功能部分和隱藏的實現部分。
- 傳統面向過程程序設計:先設計一系列的過程(算法)解決問題,確定了算法之后,需要開始考慮數據的存儲方式。所以算法+數據結構=程序。
- 面向對象把數據放在第一位,然后考慮操作數據的算法。
- 面向過程適合解決小規模的問題,面向對象適合解決大規模的問題。
- 識別類的簡單規則是在分析問題的過程中尋找名詞,而方法對應着動詞。
- final必須在構造器執行之后得到出初始化,在對象構建后,值不會發生改變。
- static聲明變量,則變量屬於類,不屬於對象,所以不需要新建對象即可以使用該變量。
- Java總是值調用。方法得到的是參數值的一個值拷貝。如果將對象的引用傳入到方法,最終只會修改引用對應的對象中的內容,而引用的指向在方法結束后會被丟棄。所有在java中對象的引用是按值傳遞的。
- 構造器不要用這種格式:
- public Employee(String n,double s){
name=n;
salary=s; } ,這樣需要閱讀代碼才能了解參數的含義,應該這樣:
public Employee(String aName,double Salary){
name=aName;
salary=aSalary;
} ,這樣會比較清晰,一眼就能看懂參數的含義。
11.