先來一張思維導圖
基本數據類型
數據據類型(名稱) | 大小/(字節-位) | 封裝類 | 默認值 | 可表示數據範圍 |
---|---|---|---|---|
byte | 1Byte = 8bit | Byte | 0 | -128~127 |
short | 2Byte = 16bit | Short | 0 | -32768~32767 |
int | 4Byte = 32bit | Integer | 0 | (-231)~(231 - 1) |
long | 8Byte = 64bit | Long | 0L | (-263)~(2^63 -1) |
float | 4Byte = 32bit | Float | 0.0F | |
double | 8Byte = 64bit | Double | 0.0D | |
char | 2Byte = 16bit | Character | \u0000 | 0~65535 |
boolean | 1Byte = 8bit | Boolean | flase | ~ |
基本類型的轉換
自動類型轉換
示意圖:
箭頭左邊的數值類型可以自動類型轉換成箭頭右邊的數值類型。
基本類型和字符串之間的轉換
public class Main {
public static void main(String[] args) {
// 基本類型和字符串進行連接是,基本類型自動轉換成字符串
String str = 3.6f + "";
System.out.println(str); // 輸出3.6
System.out.println(1 + 2 + "World"); // 輸出3World
System.out.println("World" + 1 + 2); // 輸出World12
}
}
強制類型轉換
public class Main {
public static void main(String[] args) {
double num1=33.6;
int num2= (int) num1;
double num3 = (double) num2;
System.out.println(num1); // 33.6
System.out.println(num2); // 33
System.out.println(num3); // 33.0
}
}
隱式類型轉換
short s = 1;
// short s = s + 1;
因爲 1 是 int 類型,比 short 類型精度高,不能隱式的將 int 類型轉換成 short 類型。
但是有一點例外,就是進行自增自減賦值運算時,可以執行隱式的類型轉換:
short s = 1;
s += 1;
包裝類型
基本類型都有對應的包裝類型,基本類型與其對應的包裝類型之間的賦值使用自動裝箱與拆箱完成。
Integer x = 2; // 裝箱
int y = x; // 拆箱
引用數據類型
Java 中的引用數據類型可以說是變量指向了一個對象,也就是指向了對象的地址。
數組
創建數組
// 創建數組大小爲10的數組,默認值爲0
int[] nums = new int[10];
// 創建時賦值
int[] nums = new int[]{1, 2, 3};
int[] nums = {1, 2, 3};
數組默認值
- 整型(byte, short, int, long) ==> 0
- 浮點型(float, double) ==> 0.0
- 字符型(char) ==> ‘\u0000’
- 布爾型(boolean) ==> false
- 引用類型(類、接口、數組) ==> null