容易忘的Java基礎點
1.聲明明確導入和聲明通配導入在性能上無差別。
2.變量的聲明是爲了分配內存,定義即賦值。
3.標識符也可用$,但是習慣上字符$只用在機器自動生成的源碼上。
4.隱式轉換指將類型擴寬,而如果從範圍大的類型向小的強制類型轉換,會截斷。
5.javac className.java
&&java className
6.浮點數的下溢近似爲0,由於運算也是近似的,除以0不會拋出異常,結果值爲無限大。
7.默認的數值直接量,整型爲int,浮點數爲double。
8.+=、-=、*=、/=等運算符也可以作爲表達式。
9.自增自減也適用於浮點數。
10.程序隱式導入java.lang.*,包括System,Math,String,Void。
11.int隱式轉換爲char,指的是0~FFFF這個範圍內的。
12.Throwable是Error和Exception的父類。Exception構造方法有兩,無參和帶message的。
13.Exception構造方法有兩,無參和帶message的,Exception.getMessage()
返回短信息。
14.抽象類的構造方法爲protected,可以作爲數據類型,包含抽象對象的類必須抽象。
15.接口默認爲常量類型爲public final static,方法和接口類型爲public abstract,比類靈活是因爲可以定義不相關類共有的父類型。
16.包裝類型都是不可變類。
17.重載需要方法簽名,即方法名和參數列表不一樣,覆蓋是包括返回類型的。
18.多態即父類引用子類,編譯時聲明類型用於匹配方法,運行時動態綁定方法。
19.==運算符用於比較基本類型的值,對象的引用。Object
20.Object.equals默認時==運算,Object.clone默認時淺複製。
21.構造方法不繼承。
22.String用於字符串不可變,StringBuilder用於可變字符串,StringBuffer線程安全。
23.類設計的原則:內聚性,一致性,封裝性,清晰性,完整性。
24.默認值:引用對象(包括數組)爲null,數值爲0,boolean爲false,char爲’\u0000’,局部變量無默認值。
25.String.concat即字符串的+運算。
26.JVM中相同字符串序列的字符串直接量相同。
27.當解釋器運行主方法時,無參時new String[0]
。
28.讀取文件Scanner(File),可用while(in.hasNext()){ in.readLine();}
。
29.DataOuputStream.writeChars(String)
寫入同一碼,DataOutputStream.writeUTF(String)
寫入UTF-8.
30.Serializable不存儲靜態變量,而對象相同時,只寫入序列號。
31.RandomAccessFile實現了DataInput和DataOutput。