你的位置:首页 > Java教程

[Java教程]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