二、java基礎
1、系統結構圖(xmind)
PS:語句,函數,數組部分未列出。
2、Tips
——1. 標識符名稱規範
包名:多單詞組成時所有字母都爲小寫:xxxyyyzzz。
類名與接口名:多單詞組成時,多有單詞的首字母大寫:XxxYyyZzz。
變量名和函數名:多單詞組成時,第一個單詞首字母小寫,第二個單詞開始每個單詞首字母大寫:xxxYyyZzz。
常量名:所有字母都大寫,多單詞時每個單詞用下劃線連接:XXX_YYY_ZZZ。
——2. 進制轉換
1.十進制轉二進制原理:對十進制數進行除2運算。
2.二進制轉十進制原理:二進制乘以2的過程。
3.十進制轉八進制原理:八進制即是二進制位,3個二進制位即爲一個八進制位。
4.十進制轉十六進制原理:十六進制同爲二進制位,由4個二進制位組成一個十六進制位。
5.負數的二進制表示形式就是對應的正數二進制取反加1
慄:求-8的二進制表現形式:
-7
0000-0111
取反: 1111-1000
加1 : 1111-1001
負數的二進制最高位永遠是1.
——3. 變量
1.整數默認類型:int類型,小數默認類型:double類型。
2.定義long類型變量時需要在數值後加上一個"l",就可以讓編譯器知道這個數值是long類型了
慄:long l = 123456789l;
3.同理定義flaot類型是在數值後加上一個"f"即可。
慄:float f = 2.3f;
——4. 類型轉換
慄:
class ClassCastDemo
{
public static void main(String[] args)
{
byte b = 3 + 9;
byte b1 = 3;
byte b2 = 9;
b = b1 + b2;
System.out.println(b);
}
}
運行:
原因分析:報錯的位置在第八行的b = b1 + b2,而之前的b = 3 + 9卻沒有報錯,byte的範圍是-127~128即8位,確保了這些數字都在byte的範圍內,3和9都是常量,編譯器知道結果是12,依舊在byte的範圍之內,自動提升之後在運算不會報錯,而b = b1 + b2中b1和b2都是變量,編譯器並不知道他們的值是多少,在兩個byte數據相加時,都會被自動提升爲int類型,所以和也是int類型,再賦值給byte類型的b時就會報錯。
——5. 算術運算符
b=++a與b=a++的不同:
執行b=++a時,先運算++a並保存進變量池a中,之後在將a賦值給b。
執行b=a++時,先運算b=a部分,之後再運算a++,所以b的值爲a之前的值。
——6. 邏輯運算符
&&:和&運算的結果是一樣的,但是運算過程有點小區別,當左邊爲false時右邊不參與運算,可提升效率。
&:無論左邊的運算結果是什麼,右邊都會參與運算。
同理,||和|相同,前一個當左邊爲true時右邊不參與運算,後一個無論左邊爲什麼,右邊都餐與運算。
——7. 位運算符
1. &,|符號同樣在位運算符中,運算時先將兩邊量變爲2進制,再運算。
2. >>左移幾位其實就是該數據乘以2的幾次方。
<< 右移幾位其實就是改數據除以2的幾次方。
>>對於高位出現的空位,原來高位是什麼,就用什麼補這個空位,而>>>無符號右移,在數據進行右移時,高位出現的空位,無論原高位是什麼,空位都用0補。