在Java中,數據類型分為兩類:基本數據類型和引用數據類型。基本數據類型包括byte、short、int、long、float、double、boolean和char,這些數據類型存儲的是實際的值。而引用數據類型,也稱為對象類型,是指存儲在堆上的對象(如字符串、數組、類實例等),這些對象由引用變量所引用。
對于基本數據類型,我們可以直接對它們進行賦值和比較。例如:
int num1 = 10; int num2 = 20; if (num1 == num2) { System.out.println("num1等于num2"); } else { System.out.println("num1不等于num2"); }
對于引用類型,我們需要通過new關鍵字來創建對象,并使用引用變量來引用這個對象。例如:
String str = new String("Hello World!"); System.out.println(str);
在這個例子中,我們創建了一個字符串對象,并使用str引用變量來引用它。當我們使用引用變量來操作對象時,實際上是在操作對象的地址,而不是對象本身。例如:
String str1 = "Hello"; String str2 = "Hello"; if (str1 == str2) { System.out.println("str1和str2引用同一個對象"); } else { System.out.println("str1和str2引用不同的對象"); }
在這個例子中,我們創建了兩個字符串對象,并使用str1和str2引用變量分別引用它們。由于Java會執行字符串常量池優化,所以這兩個字符串對象的值相同,在內存中只創建了一個對象。因此,str1和str2引用的實際上是同一個對象。