1. Java的數(shù)據(jù)類型
Java數(shù)據(jù)類型分為基本數(shù)據(jù)類型和引用數(shù)據(jù)類型
基本數(shù)據(jù)類型有四類八種
整型:byte(1字節(jié))、short(2字節(jié))、int(4字節(jié))、long(8字節(jié))
浮點型:float(4字節(jié))、double(8字節(jié))
字符型:char(2字節(jié))
布爾型:boolean(1位)
引用數(shù)據(jù)類型:類class、接口interface、數(shù)組[]
2. Integer和int區(qū)別
1、Integer是int的包裝類,int則是java的一種基本數(shù)據(jù)類型
2、Integer變量必須實例化后才能使用,而int變量不需要
3、Integer實際是對象的引用,當(dāng)new一個Integer時,實際上是生成一個指針指向此對象;而int則是直接存儲數(shù)據(jù)值
4、Integer的默認值是null,int的默認值是0
3. &、|和&&、||的區(qū)別
都可以做邏輯運算符,&、|還可以作為位運算符
&&、||是短路運算符,如果左邊的表達式是false,右邊不執(zhí)行
4. ==和equals的區(qū)別
== 的作用
基本類型:比較的就是值是否相同
引用類型:比較的就是地址值是否相同
equals 的作用
引用類型:默認情況下,比較的是地址值。
5. String/StringBuffer/StringBuilder
a) 相同點
這三個類都是用來處理字符串的。
b) 是否可變
String是不可變字符串,StringBuffer和StringBuilder是可變字符串。
c) 安全性
StringBuffer是線程安全的,效率較低;StringBuilder是線程不安全的,效率高一些。
d) String是否有l(wèi)ength()方法,數(shù)組呢?
String有l(wèi)ength()方法,數(shù)組沒有,有l(wèi)enth屬性。
e) new String(“123”)會產(chǎn)生幾個對象
1個或者2個,因為new,一定會在堆中開辟空間,如果”123”在字符串常量池已經(jīng)存在,就不會再字符串常量池中創(chuàng)建對象了,這樣就只會有1個;如果串池(字符串常量池)中沒有,那么就會在串池中創(chuàng)建一個對象,這樣,就有兩個對象。
6. 常見異常
①. 運行時異常有:
NullPointException(空指針)
ArrayIndexOutOfBoundsException(數(shù)組下標越界)
ClassCastException(類型轉(zhuǎn)換異常)
IllegalArgumentException(參數(shù)錯誤異常)
ArithmeticException(算術(shù)異常,如1/0等)
SecurityException(安全異常)
ConcurrentModificationException(同步修改異常,快速失敗異常,發(fā)生在集合迭代的時候調(diào)用List.add或者list.remove方法)
②.編譯時異常:
ClassNotFoundException(類找不到)
FileNotFoudException(文件找不到異常)
NoSuchMethodException(沒有這個方法)
SQLException(SQL異常)
ParseException(解析異常)
IOExeception(IO異常)