——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-
对于成员变量
不管程序有没有显示的初始化,Java 虚拟机都会先自动给它初始化为默认值。
1、整数类型(byte、short、int、long)的基本类型变量的默认值为0。
2、单精度浮点型(float)的基本类型变量的默认值为0.0f。
3、双精度浮点型(double)的基本类型变量的默认值为0.0d。
4、字符型(char)的基本类型变量的默认为 “/u0000”(也就是空)。
5、布尔性的基本类型变量的默认值为 false。
6、引用类型的变量是默认值为 null。
7、数组引用类型的变量的默认值为 null。当数组变量的实例后,如果没有没有显示的为每个元素赋值,Java 就会把该数组的所有元素初始化为其相应类型的默认值。
class NumType
{
byte b ;
short s;
int i;
long l;
float f;
double d;
char c;
boolean bool;
int[] a;
int[] arr = new int[4];
public void show()
{
System.out.println((int)c);
System.out.println("byte="+b+" short="+s+" int="+i+" long="+l);
System.out.println("float="+f+" double="+d+" boolean="+bool);
System.out.println(a);
for(int ar:arr)
{
System.out.println(ar);
}
}
}
public class Demo2 {
public static void main(String[] args)
{
new NumType().show();
}
}
输出结果为:
0
byte=0 short=0 int=0 long=0
float=0.0 double=0.0 boolean=false
null
0
0
0
0
数组例子:
1) int[] a; //声明,没有初始化默认值是null
2) int[] a=new int[4]; //初始化为默认值,int型为0
局部变量初始化
局部变量声明以后,Java 虚拟机不会自动的为它初始化为默认值。
因此对于局部变量,必须先经过显示的初始化,才能使用它。
如果编译器确认一个局部变量在使用之前可能没有被初始化,编译器将报错。