Java的基本类型分为五类九种(以前一直听说是四类八种,很容易把void遗忘掉,这里算上,欢迎持有不同观点的朋友相互讨论学习,真相不辩不明,有助于理解):
基本类型的成员变量即便没有被初始化赋值,Java也会确保其获得一个默认值。以确保基本类型成员变量得到初始化(C++无此功能)。但是,这些默认值对程序而言可能是不正确的,甚至不合理,所以最好明确对变量进行初始化赋值。
然而,上述确保初始化的方法并不适用于基本类型的局部变量。如果局部变量如果未被初始化就被调用了,Java会在编译时返回一个错误:可能尚未初始化变量xx。这正是Java优于C++的地方。(许多C++编译器会对未初始化变量给予警告,而Java则视为错误)
public class JavaDataType{
boolean b1;
static boolean b2;
public static void main(String[] args){
boolean b3;
ptl("Boolean.FALSE=" + Boolean.FALSE);
ptl("Boolean.TRUE=" + Boolean.TRUE);
ptl("Boolean.TYPE=" + Boolean.TYPE);
ptl("Byte.MAX_VALUE=" + Byte.MAX_VALUE);
ptl("Byte.MIN_VALUE=" + Byte.MIN_VALUE);
ptl("Character.MAX_VALUE=" + Character.MAX_VALUE);
ptl("Character.MIN_VALUE=" + Character.MIN_VALUE);
ptl("Short.MAX_VALUE=" + Short.MAX_VALUE);
ptl("Short.MIN_VALUE=" + Short.MIN_VALUE);
ptl("Integer.MAX_VALUE=" + Integer.MAX_VALUE);
ptl("Integer.MIN_VALUE=" + Integer.MIN_VALUE);
ptl("Long.MAX_VALUE=" + Long.MAX_VALUE);
ptl("Long.MIN_VALUE=" + Long.MIN_VALUE);
ptl("Float.MAX_VALUE=" + Float.MAX_VALUE);
ptl("Float.MIN_VALUE=" + Float.MIN_VALUE);
ptl("Double.MAX_VALUE=" + Double.MAX_VALUE);
ptl("Double.MIN_VALUE=" + Double.MIN_VALUE);
//ptl(Boolean.toString(b));
JavaDataType j = new JavaDataType();
ptl("j.b1=" + j.b1);
ptl("static boolean b2=" + b2);
//ptl("b3" + b3);
}
public static void ptl(String s){
System.out.println(s);
}
public static void ptlBeginWithStars(String s){
System.out.println("************" + s + " begin ************");
}
public static void ptlEndWithStars(String s){
System.out.println("************" + s + " end ************");
}
}