1.2 基礎變數聲明 /* 例1.2-1: 變數聲明 */ public class demo01 { public static void main(String[] args) { // 聲明類型 標識符 = 類型量; // 聲明整數型 int integers = 1; // 聲明一個int( ...
1.2 基礎變數聲明
/* 例1.2-1: 變數聲明 */
public class demo01 {
public static void main(String[] args) {
// 聲明類型 標識符 = 類型量;
// 聲明整數型
int integers = 1; // 聲明一個int(整數)類型
long longIntegers = 1L; // 聲明一個long(長整數)類型
byte bytes = 2; // 聲明一個byte(位元組)類型
short shortIntegers = 15; // 聲明一個short(短整數)類型
// 聲明浮點型
float floats = 1.0F; // 聲明一個float(單精度浮點)類型
double doubles = 1.0D; // 聲明一個double(雙精度浮點)類型
// 聲明字元
char character = 'A'; // 聲明一個字元類型
// 聲明布爾值
boolean flags = true; // 聲明一個布爾值
// 聲明字元串
String str = "1111"; // 聲明一個字元串
}
}
1.2.1 常用類型
基礎類型(整數型) | 類型量 | 說明 |
---|---|---|
int |
數字 | 預設整數類型 |
long |
數字L | 長整數類型, 可取範圍比int 類型大, 必須在整數後面加L 標記 |
short |
數字 | 短整數類型, 可取範圍比int 類型小 |
byte |
數字 | 位元組類型, 可取範圍為 [-128~128] |
char |
'單個字元' | 字元類型, 本質是Unicode碼點渲染, 所以只能存在一個字元 必須包括在半形單引號 ' ' 內 |
基礎類型(浮點型) | 類型量 | 說明 |
float |
小數F | 必須在小數後面加F 標記 |
double |
小數 / 小數D | 預設浮點數類型, 可以在小數後面使用D 標記 |
基礎類型(布爾值) | 類型量 | 說明 |
boolean |
true / false | 判斷值 |
引用類型(字元串) | 類型量 | 說明 |
String |
"多個字元" | 字元串類型, 用於輸入字元串, 必須包括在半形雙引號 " " 內 |
1.2.2 類型轉換
整數型和浮點型之間可以互相轉換, 分為強制類型轉換和自動類型轉換.
1.2.2.1 自動類型轉換
byte類型相加會自動轉化成int型:
/* 例1.2-2: 類型返回值 */
byte a = 1;
byte b = 2;
byte c = a + b; // 會報錯, 因為 a+b 返回的是int型
int c = a + b; // 正確的語法
浮點數與整數型進行計算, 自動轉化為浮點型:
/* 例1.2-3: 簡單的自動類型轉換 */
double a = 10.4;
int b = 2;
double c = a / b; // 輸出double類型變數c
System.out.println(c); // 輸出5.2
自動類型轉換
當參與運算中有的值屬於高位類型時, 所有值都會被升位運算.
優先順序: byte, short < int, char < long < float < double
1.2.2.2 強制類型轉換
int類型加減乘除只能輸出int類型:
/* 例1.2-4: 整數類型運算返回值 */
int a = 1;
int b = 2;
System.out.println(a/b);
// 會輸出0, 而不是0.5, 強制捨去小數位(可以視為自動向下取整)
使用強制類型將int轉換為double輸出浮點數:
/* 例1.2-5: 混合類型運算返回值 */
int a = 1;
int b = 2;
System.out.println((double)a/b);
// 會輸出0.5, 因為a(int)被強制轉換成了a(double)
實質:
/* 例1.2-6: 類型轉換 */
System.out.println(1/2); // 例1.2-4的運算實質
System.out.println(1.0/2); // 例1.2-5的運算實質(同例1.2-3)
也就是說, 如果想要輸出浮點類型結果, 就需要參與運算中的其中一個值是浮點值. 當一個值是浮點值時, 其他值也會自動轉化為浮點值運算.
強制類型轉換語法
轉換類型 變數 = (轉換類型)變數
/* 例1.2-7: 強制類型轉換 */
int a = 1;
System.out.println(a); // 輸出1
System.out.println((double)a); // 輸出1.0