標籤:
java中的標識符
組成:數字、字母、底線、美元$符號組成。
規則:不能由數字開頭。
類名:每個單詞的首字母大寫
包名:全部小寫
變數名、方法名:第一個單詞首字母小寫,後面首字母大寫
常量:全部大寫用底線串連
注釋
單行注釋://
多行注釋:/……/ (不能嵌套)
文檔注釋:/*…../(可以被javadoc命令解析成Html文檔(說明書))
變數概述
格式一:
資料類型 變數名=初始化值;
格式二:
資料類型 變數名;
變數名=初始化值;
變數在使用前必須初始化。
java中的資料類型
整型:byte 1位元組
Short 2位元組
Int 4位元組
Long 8位元組
浮點型:float 4位元組
Double 8位元組
字元型:char 2位元組
布爾型:Boolean
java中定義變數並使用
對 byte,short類型的變數進行賦值時保證在其範圍內即可。(超出範圍報錯)
對long, float 類型的變數進行賦值時後面必須加L和F。
資料類型轉換
1) 自動類型轉換(隱式轉換)
byte char short – int – long – float – double
2) 強制類型轉換(顯式轉換)
(資料類型) 變數或者常量值;
byte b1 = 3;
byte b2 = 4;
byte b3 = b1 + b2; // 此行會報錯,因為參與運算的byte類型會自動提升為int類型, 可能損失精度.
byte b4 = 3 + 4; // 不報錯,對於字面值常量3和4, jvm會在編譯期對其進行計算(最佳化), 並比較其值是否在byte範圍內,如果未超出,則不報錯.
算術運算子
注意:
1) 注意除運算子
1) 除數不能為0.
2) 整形與整形進行運算,結果還是整形.它會將餘數捨棄.
比如: 5 / 2 – 結果是2
2) ++ 和 – 運算子原理
以 ++ 為例:
單獨運算:
在前在後都一樣,相當於把值加1
參與運算:
++在前,先加後用. ++a 相當於 a = a + 1
++在後,先用後加. a++ 會產生一個臨時的量, 這個量相當於a的一個副本,然後將a的值自增, 將副本的值返回.
舉例:
int x = 10;
int y = x++;
// 結果是y = 10; x = 11;
- int x = 10; - a = a++; - System.out.println(a); // 結果是10
3) 加法運算子的特殊用法:
例如: System.out.println(3 + 4 + “hello” + 5 + ‘a’ + 6 + 7); // 輸出結果為: 7hello5a67
邏輯運算子
注意: 1) java中不能寫成 1 < x < 9 , 而應該寫成 x > 1 & x < 9 2) & 和 && 的區別: 單&時,左邊無論真假,右邊都會參與運算. 雙&時,左邊為真時,右邊才會參與運算;左邊為假時,右邊不會 參與運算,有短路功能. 3) | 和 || 的區別同理: 對於雙或,左邊為真時,右邊不會參與運算.
位元運算符
<< 左移 -- 將運算數的二進位碼整體左移指定位元,左移之後的空位用0補充. 相當於乘以2的指定次冪.>> 右移 -- 將運算數的二進位碼整體右移指定位元,右移之後的空位用符號位補充,如果是正數用0補充,負數用1補充.相當於除以2的指定次冪.>>> 無符號右移 -- 將運算數的二進位碼整體右移指定位元,不管正負,空位全部都用0補充.注意: 1) 沒有無符號左移. 2) API中很多源碼的實現都是採用了位元運算符,因為效率高.但咱們開發中自己寫程式一般不會用,易讀性差.關於位元運算的兩個面試題: 1) 用最高效的方式計算2*8的結果. 2 << 3 2) 不使用第三個變數的前提下,交換兩個變數的值. int a = 10; int b = 20; // 結果要求: a = 20; b = 10; a = a ^ b; b = a ^ b; a = a ^ b;
流程式控制制語句
switch語句注意事項: a:default整體可以省略嗎? 可以,但是不建議。 b:default的位置可以放到前面嗎? 可以,但是不建議。 c:break可以省略嗎? 可以,但是不建議。 default在最後,break是可以省略的。 case後面的break可以省略,但是結果可能有問題。 d:switch語句什麼時候結束呢? 就是遇到break或者執行到程式的末尾。
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
JAVA基礎針對自己薄弱環節總結01