// 可嵌套,多行 /* */ 不可嵌套| 類型 | 位數 | 範圍/說明 |
|---|---|---|
| byte | 8 | -128 ~ 127 |
| short | 16 | -32,768 ~ 32,767 |
| int | 32 | -2^31 ~ 2^31-1(預設整數型別) |
| long | 64 | -2^63 ~ 2^63-1(需加 L 後綴) |
| float | 32 | IEEE 754,24 位精度(需加 f 後綴) |
| double | 64 | IEEE 754,53 位精度(預設浮點型別) |
| char | 16 | 0 ~ 65,535(Unicode 字元) |
| boolean | - | true/false,無明確大小規定 |
關鍵點:
int,超出範圍需加 L(如 9999999999L)double,float f = 3.12f; 必須加 fchar 佔 2 位元組,單引號內必須且只能有一個字元>>:算術右移,符號位填充高位>>>:邏輯右移,0 填充高位<<:左移,低位補 0int)或 64 取模(long),如 1 << 35 ≡ 1 << 3(byte)129 = -127)b += 1 隱含強轉,b = b + 1 需顯式強轉ArithmeticExceptionInfinity 或 NaN,不拋異常10 / 3 = 3(整數除法),(float)(10/3) = 3.0(先算再轉),10/3.0 = 3.333...'a' + 1 = 98(char 提升為 int)"hello" + 'a' + 1 = "helloa1"(左到右,遇字串即連接)'a' + 1 + "hello" = "98hello"&&、||:短路運算&、|、^:非短路,亦可作位運算^(異或):相同為 false,不同為 truea ? b : c 需有明確結果值,b、c 必須為運算式if 為語句,if(x<2) int z=3; 錯誤(聲明非語句),需加大括號case 穿透特性:無 break 繼續執行後續 casedefault 位置任意,執行順序永遠最後case 1: case 2: case 3: ...U: for (int x=0; x<=4; x++) {
for (int y=0; y<=3; y++) {
if (y==2) break U; // 直接跳出外層循環
System.out.println("x=" + x + ",y=" + y);
}
}
if)continue 標籤 同理,跳過當前迭代進入下一輪import static java.lang.Math.*; 直接用 round() 等靜態方法nextInt() 不消耗換行符,後接 nextLine() 會讀到空行。解決:兩次 Scanner 或全用 nextLine() 再轉型double→long、float→int,四捨五入(正數 +0.5 向下取整)javac -d . MyProgram.java 當前目錄生成包結構| 類型 | 實例化語法 | 特點 |
|---|---|---|
| 成員內部類 | Outer.Inner oi = new Outer().new Inner(); | 可直接訪問外部類私有成員 |
| 靜態內部類 | Outer.Inner oi = new Outer.Inner(); | 不依賴外部類實例,只能訪問靜態成員 |
| 局部內部類 | 方法內定義 | 訪問局部變量需 final(或實際最終不變) |
| 匿名內部類 | new Interface() { ... } | 僅用於重寫單一方法,如執行緒、監聽器 |
equals 重寫規範:參數必須為 Object,否則為重載;== 比較引用地址/基本型別值,equals 比較邏輯相等(需重寫)。