Java語言程序設計-總結

1. 標識符 有由字母,數字,下劃線和美元符號構成的,但是不能以數字開頭。
2. System.currentTimeMillis() 返回從1970.1.1 00:00:00開始到現在的毫秒數。
3.  0.1無法用計算機二進制數精確表示,所以會出現0.1+0.2=0.30000000000000004的情況。
System.out.println(0.1+0.2==0.3); 輸出 false.
4. int sum=0; sum +=0.5; 其實執行的是 sum = int (sum + 0.5); 有一個強制轉化的過程。
5.(0.1+0.2==0.3) 表達式的值是false,兩點,1.精度問題。2.邏輯運算的結果是true 或者 false
6. 兩個浮點數值的相等測試
由3和5,
final double EPSILON = 1E-14;
double x = 1.0-0.1-0.1-0.1-0.1-0.1;
if(Math.abs(x-0.5)<EPSILON){
System.out.println(x + " is approximately 0.5");
}
result:0.5000000000000001 is approximately 0.5 
7.switch語句中,case 後面的值必須是常量表達式。
8.除了賦值操作符是右結合的,所有的二元操作符都是左結合的。
9.編碼前的思考是相當重要的。
10.輸入和輸出重定向
java SentineValue < input.txt
java ClassName > output.txt
java SentineValue < input.txt > output.txt
11.採用哪種循環結構視情況而定,知道循環次數的用for,在驗證條件前需要執行循環體的用do-while。
12.在循環條件中使用浮點數將導致數值錯誤。
13.類的成員變量有初始值,局部變量沒有初始值。
14.類變量,成員變量,類方法,成員方法,就是static 非static的區別。應用內存模型,static不能調用非static的。
15.一個類是不可變的,滿足下面條件:
所有數據域都是私有的,沒有修改器方法,沒有一個返回指向可變數據域的引用的訪問器方法。
16.子類從他的父類中繼承可訪問的數據域和方法,還可以添加新數據域和新方法。
關鍵點在可訪問。
17.構造器不是一般的方法,不能被子類繼承,但可以調用(public)。
18.可訪問的方法,才能被覆蓋。 除了靜態方法。如果有和靜態方法定義相同的方法在子類中,那麼父類的靜態方法被隱藏。
19.聲明類型 實際類型。動態綁定的問題,其實涉及了java虛擬機,類加載的機制,挺深奧的問題。
20.throws 和 throw 配合用 或者用 try catch finally。
21.抽象類的構造函數定義爲protected,因爲他只能被子類使用。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章