在Java中,變量分為兩種:基本類型和引用類型。
基本類型包括byte、short、int、long、float、double、char和boolean,它們是Java中最基本的數據類型,直接存儲于堆棧中,可以直接操作。例如:
int num1 = 10; int num2 = num1; num1 = 20; System.out.println(num2);
以上代碼會輸出10,因為num1和num2是兩個不同的變量,當num1的值改變時,num2的值不會受到影響。
引用類型包括類、接口、數組和枚舉等,它們是存儲在堆中的對象,通過引用變量進行操作。例如:
int[] arr1 = {1, 2, 3}; int[] arr2 = arr1; arr1[0] = 5; System.out.println(arr2[0]);
以上代碼會輸出5,因為arr1和arr2都是指向同一個數組對象,當修改arr1的值時,arr2也會受到影響。
當基本類型賦值時,是將原始數據拷貝一份給新變量,對新變量進行的操作不會影響原始數據。而引用類型賦值時,是將對象的引用(地址)拷貝一份給新變量,操作新變量實際上是在操作同一個對象,會影響原始數據。