java的初始化?

//测试初始化
public class Test {
    public static void main(String[] args) {
        //4.通过含参构造创建Test对象并调用show()
        Test test1 = new Test(99);
        test1.show(); //结果为99、0.0、false、null,后面3个都为地址值(其中99为成员变量a的值——因为通过含参构造给它赋值了,所以输出的就不是默认值0了)

        //5.通过无参构造创建Test对象并调用show()
        /* Test test2 = new Test();
        test2.show(); //这种情况输出的结果为0、0.0、false、null(前面4个都为默认值),后面3个都为地址值 */
    }

    //1.先准备成员变量(位置在类里方法外+不需要手动赋值也有默认值+整个类里都有)
    int a; //默认值是0
    double b; //默认值是0.0
    boolean c; //默认值是false
    int[] h; //默认值是null

    //1.1.准备数组对象变量,因为是对象,所以结果都是地址值,上面的h这样写是null)
    int[] e = new int[]{1, 2}; //静态初始化
    int[] f = {3, 4}; //静态初始化,
    int[] g = new int[5]; //动态初始化

    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);
        System.out.println(h);
        System.out.println(e);
        System.out.println(f);
        System.out.println(g);
    }
}

总结:初始化的目的是为了让变量有值,防止使用时出现异常!

扩展

对于类的成员变量,不管程序有没有显示的初始化,java虚拟机都会先自动给它初始化(默认值)

各类型默认值:

  • 整数类型(byte、short、int、long)的基本类型变量的默认值为0。
  • 单精度浮点型(float)的基本类型变量的默认值为0.0f。
  • 双精度浮点型(double)的基本类型变量的默认值为0.0d。
  • 字符型(char)的基本类型变量的默认值为"/0000"。
  • 布尔型的基本类型变量的默认值为flase。
  • 引用类型的变量的默认值为null。

例如:int[] a; //默认值为null。

数组的初始化常见的两种格式:

  • 静态初始化。
  • 动态初始化。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值