1. 更深入了解型別 int
如果你想在變數中儲存整數,就需要使用 int 型別。
int 是 Integer(英語中意為整數)的縮寫,這也暗示此型別用來儲存整數。
int 型別的變數可以儲存從 -20 億 到 +20 億 的整數。更精確地說,範圍是從 -2,147,483,648 到 2,147,483,647。
有趣的事實
這些看起來不太整的數值,與電腦記憶體的結構有關。
在 Java 中,型別 int 佔用 4 位元組記憶體。每個位元組由 8 個位元組成。每個位元只能有 2 個值 —— 0 或 1。int 變數包含 32 個位元,因此可表示 4,294,967,296 個不同的值。
這個範圍的一半分配給負數,另一半給正數,所以結果正好是從 -2,147,483,648 到 2,147,483,647。
2. 建立型別 int 的變數
int 型別用於儲存整數。若要在程式碼中建立能夠儲存整數的變數,可以使用以下語法:
int imya;
其中 imya 是變數名稱。範例:
| 程式碼 | 說明 |
|---|---|
|
建立整數變數 x |
|
建立整數變數 count |
|
建立整數變數 currentYear |
大小寫有區別:int color 與 int Color 會宣告兩個不同的變數。
而 Int Color 與 INT COLOR 這樣的寫法,編譯器完全無法理解,並會報錯。int 是表示整數型別的保留字,且只能以小寫撰寫。
3. 宣告多個變數的簡寫
如果在同一處需要建立多個相同型別的變數,可以使用簡寫:
int imya1, imya2, imya3;
範例:
| 程式碼 | 等價的簡寫 |
|---|---|
|
|
|
|
|
|
4. 指派(賦值)
要把值放入 int 型別的變數,使用以下語句:
imya = znachenie;
其中值可以是任何整數運算式。範例:
| 程式碼 | 說明 |
|---|---|
|
|
|
變數中的值將是「20 億」 |
|
變數中的值將是「負一千萬」 |
|
無法編譯,因為 3,000,000,000 大於 int 型別的最大可表示值 2,147,483,647 |
5. 宣告並同時初始化的簡寫
可以把變數的建立(宣告)與對其賦值寫成同一條語句。多數情況下都這麼做,因為通常是在需要保存某個值時才會宣告變數。
語法如下:
int imya = znachenie;
範例:
| 程式碼 | 說明 |
|---|---|
|
|
|
變數中的值將是「20 億」 |
|
變數中的值將是「負一千萬」 |
|
無法編譯,因為 3,000,000,000 大於 int 型別的最大可表示值:2,147,483,647 |
也可以在同一行宣告多個變數,語法如下:
int imya1 = znachenie1, imya2 = znachenie2, imya3 = znachenie3;
範例:
| 程式碼 | 說明 |
|---|---|
|
a 等於 5,b 等於 10,c 等於 15 |
6. 整數運算式的計算
在賦值運算子(等號)右側可以是任何運算式 —— 由數字、變數與符號 +、-、*、/ 組成。
也可以使用括號 ( )。在 Java 中與數學相同,會先計算括號內的運算式,再計算外層。乘法與除法有相同的優先順序,且高於加法與減法。
範例:
| 程式碼 | 說明 |
|---|---|
|
變數中的值將是 8 |
|
變數中的值將是 1 |
|
變數中的值將是 6 |
|
執行此語句時會發生錯誤,程式將會終止。 |
運算式中也可以使用變數:
int a = 1; // 變數 a 將會是 1
int b = 2; // 變數 b 將會是 2
int c = a * b + 2; // 變數 c 將會是 4
此外,同一個變數可以同時出現在賦值運算子的左邊與右邊:
int x = 5; // 變數 x 將會是 5
x = x + 1; // 變數 x 將會是 6
x = x + 1; // 變數 x 將會是 7
x = x + 1; // 變數 x 將會是 8
x = x + 1; // 變數 x 將會是 9
x = x + 1; // 變數 x 將會是 10
重點在於,Java 中的符號 = 並不是數學上的相等號,而是一個指令:它會把等號右邊運算式計算出的值存入等號左邊的變數。
7. 整數除法
在 Java 中,用整數除以整數,結果一律是整數。此時餘數會被捨去,也可以說小數部分被丟棄。
範例:
| 程式碼 | 除法結果 | 說明 |
|---|---|---|
|
2.5 | 變數 a 將會是 2 |
|
6.6667 | 變數 b 將會是 6 |
|
-1.2 | 變數 c 將會是 -1 |
|
0.5 | 變數 d 將會是 0 |
8. 整數的餘數運算
除了加法、減法、乘法與除法之外,Java 對整數還提供「取餘數」運算子。使用百分號 % 表示。這得到的是整數除法的餘數,而不是小數部分。
範例:
| 程式碼 | 除法結果 | 說明 |
|---|---|---|
|
2,餘 1 | 變數 a 將會是 1 |
|
5,餘 0 | 變數 b 將會是 0 |
|
1,餘 4 | 變數 c 將會是 4 |
|
0,餘 1 | 變數 d 將會是 1 |
這個運算子非常實用,也經常使用。例如要判斷一個數是否為偶數,只要除以 2,再把餘數與 0 比較即可。若餘數為 0,則是偶數;若為 1,則是奇數。
檢查方式如下:
(a % 2) == 0
如你所料,a % 2 是取除以 2 的餘數(也就是 0 或 1),而 == 用於與 0 比較。
9. 遞增與遞減
在程式設計中,經常需要將變數加一或減一。對此,Java 提供了專用的運算子:
遞增(加一)運算子的寫法如下:
a++;
這與指令 a = a + 1; 的效果相同 —— 讓變數 a 加一。
遞減(減一)運算子的寫法如下:
a--;
這與指令 a = a - 1; 的效果相同 —— 讓變數 a 減一。
範例 1
int x = 5; // 變數 x 將會是 5
x++; // 變數 x 將會是 6
x++; // 變數 x 將會是 7
x++; // 變數 x 將會是 8
x++; // 變數 x 將會是 9
x++; // 變數 x 將會是 10
範例 2
int x = 5; // 變數 x 將會是 5
x--; // 變數 x 將會是 4
x--; // 變數 x 將會是 3
x--; // 變數 x 將會是 2
x--; // 變數 x 將會是 1
x--; // 變數 x 將會是 0
x--; // 變數 x 將會是 -1
GO TO FULL VERSION