天天看點

java中的一些小知識點

最近在複習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類型的資料不能更改字面值,可以修改指向字元串的引用。

後續還會有更多知識點的分享……