在Java中定義變量時,如果沒有賦初值,該變量會有一個默認值。默認值是在編譯器就確定了,并且與變量的類型有關(guān)。
下面是Java中變量的默認值:
byte,short,int,long: 0 float, double: 0.0 boolean: false char: \u0000 所有的引用類型(類、數(shù)組、接口等):null
使用默認值時要注意,未初始化的局部變量不能直接使用,因為它對應(yīng)的內(nèi)存單元中存儲的是隨機值。如果要使用未初始化的局部變量,必須首先進行初始化,例如:
int x; //未初始化 int y = x + 1; //編譯報錯,因為x未初始化 int x = 0; //初始化 int y = x + 1; //y的值為1
對于類成員變量,如果沒有手動進行初始化,也會有默認值。這個默認值會在創(chuàng)建對象時賦給成員變量。如果沒有指定構(gòu)造函數(shù),那么調(diào)用系統(tǒng)默認構(gòu)造函數(shù)時,成員變量的默認值就會生效,例如:
public class Person { private String name; private int age; public void display() { System.out.println("name: " + name + ", age: " + age); } } public class Main { public static void main(String[] args) { Person person = new Person(); //調(diào)用默認構(gòu)造函數(shù) person.display(); //輸出“name: null, age: 0” } }
總之,Java中變量的默認值在編譯器就確定了,并且與變量的類型有關(guān)。如果是類成員變量,則在創(chuàng)建對象時會被賦值。使用未初始化的局部變量會導(dǎo)致編譯錯誤,必須先進行初始化。
上一篇css怎么讓div固定