成员变量只声明未初始化在类初始化时会赋予默认值可以直接使用;局部变量必须赋值才可以使用,如果局部变量未赋值,编译无法通过。
成员变量
@Data
@ToString
public class Result {
private byte byteTest;
private short shortTest;
private int intTest;
private long longTest;
private float floatTest;
private double doubleTest;
private char charTest;
private boolean booleanTest;
private String stringTest;
private Byte testByte;
private Short testShort;
private Integer testInteger;
private Long testLong;
private Float testFloat;
private Double testDouble;
private Character testCharacter;
private Boolean testBoolean;
public static void main(String[] args) {
Result result = new Result();
System.out.println("-----------基本类型----------");
System.out.println("byteTest=" + result.byteTest);
System.out.println("shortTest=" + result.shortTest);
System.out.println("intTest=" + result.intTest);
System.out.println("longTest=" + result.longTest);
System.out.println("floatTest=" + result.floatTest);
System.out.println("doubleTest=" + result.doubleTest);
System.out.println("charTest=" + result.charTest);
System.out.println("booleanTest=" + result.booleanTest);
System.out.println("-----------引用类型----------");
System.out.println("testByte=" + result.testByte);
System.out.println("testShort=" + result.testShort);
System.out.println("testInteger=" + result.testInteger);
System.out.println("testLong=" + result.testLong);
System.out.println("testFloat=" + result.testFloat);
System.out.println("testDouble=" + result.testDouble);
System.out.println("testCharacter=" + result.testCharacter);
System.out.println("testByte=" + result.testByte);
System.out.println("stringTest=" + result.stringTest);
}
}
控制台数据结果:
-----------基本类型----------
byteTest=0
shortTest=0
intTest=0
longTest=0
floatTest=0.0
doubleTest=0.0
charTest=
booleanTest=false
-----------引用类型----------
testByte=null
testShort=null
testInteger=null
testLong=null
testFloat=null
testDouble=null
testCharacter=null
testByte=null
stringTest=null
局部变量
public static void main(String[] args) {
int a;
String s;
System.out.println("a:" + a);
}