587

1、在声明变量后,必须使用赋值语句对变量进行显式初始化。

2、变量声明尽可能靠近变量第一次使用的地方。

3、对于局部变量,如果可以从变量的初始值来推断其类型,则不需要声明类型。

只需要使用关键词var而不需要指定类型。

实例

//Java尽量保证所有变量在使用前都能得到恰当的初始化,否则会报异常
//Java中提供了四种初始化方法:默认初始化、显式赋值初始化、调用类对象初始化和调用方法初始化。

//错误写法
voidf(){
inti;
i++;

//执行时会报异常,原因是变量i没有初始化



##成员变量初始化方式之一————默认初始化:

publicclassInitialValues{
booleant;
charc;
byteb;
shorts;
inti;
longl;
floatf;
doubled;
InitialValuesreference;

voidprintInitialValues(){
System.out.println("DatatypeInitialvalue");
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);
System.out.println("reference"+reference);


publicstaticvoidmain(String[]args){
newInitialValues().printInitialValues();


输出:
DatatypeInitialvalue
booleanfalse
char[]//char的默认值为0或者写为'\u0000',所以显示为空白
byte0
short0
int0
long0//0L
float0.0//0.0F
double0.0
referencenull

##成员变量初始化方式之二————显式赋值:
publicclassInitialValues2{
booleanbool=true;
charch='x';
byteb=47;
shorts=0xff;
inti=999;
longlng=1;
floatf=3.14f;
doubled=3.14159;


##成员变量初始化方式之三————调用对象进行初始化赋值:
classDepth{

publicclassMeasurement{
Depthd=newDepth();
//...

//注意:如果没有为d赋予初值就尝试使用它,就会出现运行时错误,会产生异常。

##成员变量初始化方式之四————调用方法进行初始化赋值:
//1、调用无参方法
publicclassMethodInit{
inti=f();

intf(){
return11;




//2、调用有参方法
publicclassMethodInit2{
inti=f();
intj=g(i);

intf(){
return11;


intg(intn){
returnn*10;


//注意:调用有参方法时,方法中的参数不能是未初始化的类成员变量,否则会报异常
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。