最近在複習javaSE,是以整理了一些小知識點,這些知識點很簡單,但是卻也很重要,整理如下:
1、變量的本質?
變量本質上就是在記憶體中申請的一塊存儲區域。
2、二進制的最高位表示什麼?
二進制的最高位是最左邊的一位,表示符号位,0表示為非負數,1為負數
3、對于單位元組的整數來說,數值範圍為:-128~127,那麼2個位元組就是-32768~32767.為什麼char是2位元組,範圍卻是0~65535?
因為char類型的資料在計算機底層是記錄的字元對應的ASCII,無負數。
4、3.14預設是float,還是double?轉成兩者之中另一種需要添加什麼?
3.14預設是double類型,轉成float需要在最後添加f,即3.14f。
5、++在前和在後的差別?
++在後表示先進行相關運算,然後再自增;++在前表示先自增,然後再進行相關運算。
6、=運算符是先從左邊開始,還是先從右邊開始運算?
=是簡單指派運算符,是将左邊的數值指派給右邊的變量,是以是從左往右執行。
7、2*8的最簡單算法?
2<<3
8、()和指派運算符的優先級比較?
指派運算符優先級最低,()最高
9、0是否能為除數?那麼0.0是否能為除數?能的話,那麼結果分别是多少?
0不能,0.0可以,結果無窮大。
10、while循環和do-while循環的差別?
while循環是判斷再執行循環體,而do-while是先執行循環體,然後再判斷條件。
11、java程式的幾大結構?
順序結構、循環結構、分支結構。
12、switch-case中的表達式的資料類型?
short、byte、int、char和引用資料類型中的枚舉。
13、定義一個數組,boolean[] bool = new boolean[5];請問列印這個bool中的每一個值,結果是什麼?
定義數組時:
對于byte/short/int/char/long類型的資料來說,預設是0
對于float/double類型的資料來說,預設是0.0
對于boolean來說,預設是flase
14、 權限修飾符包括哪些?是否能修飾方法内的變量?是否能使用static修飾方法内的變量?那麼方法内的變量能用什麼修飾?
包括public、protected、private。不能。不能。能用final修飾。
15、重載的方法之間,傳回值是否可以不同?
可以,但是盡量一緻。
16、方法重載的作用?
一:可以提供多個形式的構造方法;
二:通路者隻需要通過一個方法名就可以通路各種版本。
17、封裝的作用?
一:保證了數值的合理性;
二:隐藏了代碼的實作細節,保證了代碼的安全性;
三:便于代碼的後續維護和開發。
18、繼承中能繼承哪些?不能繼承哪些?
能繼承屬性、方法;不能繼承構造方法。
19、繼承的作用?
一:實作代碼的服用,提高開發效率;
二:繼承是多态的前提條件。
20、多态的作用?
用于屏蔽不同子類之間的差異性,寫出通用的代碼,以應對不斷變化的需求。
21、抽象的用途?
抽象方法具有強制性,要求子類必須重寫或者覆寫原有抽象方法,否則子類也變成抽象方法
抽象方法具有規範性,規定子類方法的傳回值類型、方法名稱以及參數清單都相同。
22、類繼承類是單繼承還是多繼承?接口繼承接口是單繼承還是多繼承?
單繼承;多繼承。
23、如何将Integer類型的資料轉換成int類型的資料?
使用強轉;使用Integer中自帶的方法intValue();
24、
String a = "a";
int aHashCode = a.hashCode();
a = "b";
int bHashCode = a.hashCode();
System.out.println(aHashCode==bHashCode);
以上代碼的輸出結果是什麼?為什麼?
結果為false,因為String類型的資料不能更改字面值,可以修改指向字元串的引用。
後續還會有更多知識點的分享……