//测试初始化
public class Test {
public static void main(String[] args) {
//4.通过含参构造创建Test对象并调用show()
Test test1 = new Test(99);
test1.show();//结果为99、0.0、false(其中99为成员变量a的值——因为通过含参构造给它赋值了,所以输出的就不是默认值0了)
//5.通过无参构造创建Test对象并调用show()
/* Test test2 = new Test();
test2.show();//这种情况输出的结果为0、0.0、false(都是默认值)*/
}
//1.先准备成员变量(位置在类里方法外+不需要手动赋值也有默认值+整个类里都有)
int a;//默认值是0
double b;//默认值是0.0
boolean c;//默认值是false
public Test() {
}
public Test(int a) {
this.a = a;//通过含参构造给成员变量a赋值
}
//2.准备好一个方法
public void show() {
//3.准备好一个局部变量(位置在方法里+必须自己完成初始化+只作用在方法内部)
int d = 999;//局部变量
//当show()被调用时输出成员变量的值们的值
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
}
总结:初始化的目的是为了让变量有值,防止使用时出现异常
1.对于类的成员变量,不管程序有没有显示的初始化,jav虚拟机都会先自动给它初始化(默认值)
各类型默认值:
1)整数类型(byte、short、int、long)的基本类型变量的默认值为0。
2)单精度浮点型(float)的基本类型变量的默认值为0.0f。
3)双精度浮点型(double)的基本类型变量的默认值为0.0d。
4)字符型(char)的基本类型变量的默认值为"/0000"。
5)布尔型的基本类型变量的默认值为flase。
6)引用类型的变量的默认值为null。
7)数组引用类型的变量的默认值为null(但是得在前面加上static,不然会不被允许的)。
情况如下:
数组的初始化常见的两种格式:1.静态初始化 2.动态初始化
public class DynamicArray {
//测试数组的动态初始化
public static void main(String[] args) {
//格式:数据类型[] 数组名=new 数组类型[数组长度];
int[] arrayA = new int[5];
arrayA[0];
arrayA[1];
arrayA[2];
System.out.printf(arrayA[0], arrayA[1], arrayA[2]);//结果都为null
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)