java的初始化?

java的初始化?,第1张

//测试初始化
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
    }
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/926373.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-16
下一篇 2022-05-16

发表评论

登录后才能评论

评论列表(0条)

保存