您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > JAVA中8中基本数据类型默认值
java8种基本数据类型的默认值(2007-07-1209:50:19)转载▼标签:默认值8种基本数据类型(primitivetype)在只做了声明,而未被初始化的时候,他们的默认值8种基本数据类型分别是:byte,short,int,long,(四种整型)char()float,double(两种浮点型)boolean(一种用于表示真假的类型)他们的默认值分别是:可以用以下代码测试:PrimitiveType.javapublicclassPrimitiveType{booleant;charc;byteb;shorts;inti;longl;floatf;doubled;voidprint(){System.out.println(boolean+t);System.out.println(char+c);System.out.println(byte+b);System.out.println(short+s);System.out.println(int+i);System.out.println(long+l);System.out.println(float+f);System.out.println(double+d);}publicstaticvoidmain(Stringargs[]){PrimitiveTypept=newPrimitiveType();pt.print();}}得出的结果为:byte:0short:0int:0long:0char:_float:0.0double:0.0boolean:false除了这8种基本类型以外的变量(比如String,基本类型的数组),他们的默认值都是null×××××××××××××××××××××××××××××××××××各种变量(无论是基本的变量,还是其他对象类型的变量,数组类型的变量)他们在没有被显示初始化的时候,jdk都会自动赋予默认值给他们,只不过要注意的是全局变量和局部变量的不同之处:当全局变量没有被显示初始化,jdk会自动赋予默认值给他,并且,当你在其他地方引用该变量的时候,编译器是不会报错的。而局部变量在没有被显示初始化情况下,jdk同样也会自动赋予他默认值,可不同之处就在于,你无法引用他,因为编译器会在你要引用的位置报错。这就是JDK的规定。所以局部变量在声明的时候,最好直接显示初始化他。可以尝试将上面的代码改成以下的,看看问题是怎么出现的。publicclassPrimitiveType{publicstaticvoidmain(Stringargs[]){booleant;charc;byteb;shorts;inti;longl;floatf;doubled;System.out.println(boolean+t);System.out.println(char+c);System.out.println(byte+b);System.out.println(short+s);System.out.println(int+i);System.out.println(long+l);System.out.println(float+f);System.out.println(double+d);}}运行该代码,jdk的编译器就会报错(eclipse里的错误提示信息)。java.lang.Error:Unresolvedcompilationproblems:ThelocalvariabletmaynothavebeeninitializedThelocalvariablecmaynothavebeeninitializedThelocalvariablebmaynothavebeeninitializedThelocalvariablesmaynothavebeeninitializedThelocalvariableimaynothavebeeninitializedThelocalvariablelmaynothavebeeninitializedThelocalvariablefmaynothavebeeninitializedThelocalvariabledmaynothavebeeninitialized所以,并不是象某些书上说的“赋给变量的默认初始值在所有的情况下都适用”,至少在sun的java运行环境jdk里,就不是都适用的。最后,为了使java项目在哪里都可以成功运行,最好将所有需要用到的变量都进行显示初始化。
本文标题:JAVA中8中基本数据类型默认值
链接地址:https://www.777doc.com/doc-2880594 .html