java中三种变量
1. 类的属性,或者叫值域
2. 方法里的局部变量
3. 方法的参数
对于第一种称为类中的成员变量,Java虚拟机会自动进行初始化。如果给出了初始值,则初始化为该初始值。如果没有给出,则把它初始化为该类型变量的默认初始值。
以下是各种数据类型的默认值
boolean false
int 0
float 0.0f
double 0.0d
short 0
byte 0
long 0 L
所有对象引用类型变量默认初始值为null,即不指向任何对象。数组本身也是对象,所以没有初始化的数组引用在自动初始化后其值也是null。
例子:
public class SubTest {
int[] a ;
public SubTest(){
System.out.println(a);
}
}
public class Test {
public static void main(String[] args){
SubTest s = new SubTest();
}
}
输出为:null
对于第二种局部变量,时必须先初始化,不会调用其默认值的
在
public class Test {
public static void main(String[] args){
int i;
System.out.println(i);//会报错,因为并没有初始化,不会调用其默认值
}
}
对于第三种方法的参数具体的来说和第二种是一样的,都是方法中的局部变量,必须先初始化,才可以使用。