java非静态变量初始化

java费静态变量的初始化分为两种情况,一种是局部变量,一种是类的域。

对于类的域,java在类初始化时,会为变量赋一个初始值。对于基本数据类型,java会将初始值设置为二进制0,具体为将boolean设置为false,将byte设置为0,将char设置为0(即空格),short设置为0,int设置为0,long设置为0,float设置为0.0f,都变了设置为0.0。对于引用类型也会将其初始值设置为二进制0,即null。

而对于局部变量加入你在申明变量的时候没有为其设置初始值,java将认为你这是个粗心导致的错误,所以java会给你一个编译异常。

Talk is weak, show me your code.

package InitializationAndCleanup;

public class VariableInit {
    private boolean mBoolean;
    private byte mByte;
    private short mShort;
    private char mChar;
    private int mInt;
    private long mLong;
    private float mFloat;
    private double mDouble;

    private VariableInit mInit;

    public void function() {
        int i;
        //i ++; // compile error
    }

    public void printInitValue() {
        System.out.println("boolean : " + mBoolean);
        System.out.println("byte : " + mByte);
        System.out.println("short : " + mShort);
        System.out.println("char : [" + mChar + "]");
        System.out.println("int : " + mInt);
        System.out.println("long : " + mLong);
        System.out.println("float : " + mFloat);
        System.out.println("double : " + mDouble);
        System.out.println("reference variable : " + mInit);
    }

    public static void main(String[] args) {
        new VariableInit().printInitValue();
    }

}

输出:

boolean : false
byte : 0
short : 0
char : [ ]
int : 0
long : 0
float : 0.0
double : 0.0
reference variable : null

 

转载于:https://www.cnblogs.com/crazykids/p/5584250.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值