在Java中定義變量時,如果沒有賦初值,該變量會有一個默認值。默認值是在編譯器就確定了,并且與變量的類型有關。
下面是Java中變量的默認值:
byte,short,int,long: 0 float, double: 0.0 boolean: false char: \u0000 所有的引用類型(類、數組、接口等):null
使用默認值時要注意,未初始化的局部變量不能直接使用,因為它對應的內存單元中存儲的是隨機值。如果要使用未初始化的局部變量,必須首先進行初始化,例如:
int x; //未初始化 int y = x + 1; //編譯報錯,因為x未初始化 int x = 0; //初始化 int y = x + 1; //y的值為1
對于類成員變量,如果沒有手動進行初始化,也會有默認值。這個默認值會在創建對象時賦給成員變量。如果沒有指定構造函數,那么調用系統默認構造函數時,成員變量的默認值就會生效,例如:
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(); //調用默認構造函數 person.display(); //輸出“name: null, age: 0” } }
總之,Java中變量的默認值在編譯器就確定了,并且與變量的類型有關。如果是類成員變量,則在創建對象時會被賦值。使用未初始化的局部變量會導致編譯錯誤,必須先進行初始化。
上一篇css怎么讓div固定