1、在聲明變量后,必須使用賦值語句對變量進(jìn)行顯式初始化。
2、變量聲明盡可能靠近變量第一次使用的地方。
3、對于局部變量,如果可以從變量的初始值來推斷其類型,則不需要聲明類型。
只需要使用關(guān)鍵詞var而不需要指定類型。
實例
//Java 盡量保證所有變量在使用前都能得到恰當(dāng)?shù)某跏蓟?,否則會報異常
//Java中提供了四種初始化方法:默認(rèn)初始化、顯式賦值初始化、調(diào)用類對象初始化和調(diào)用方法初始化。
//錯誤寫法
void f() {
int i;
i++;
}
//執(zhí)行時會報異常,原因是變量i沒有初始化
## 成員變量初始化方式之一————默認(rèn)初始化:
public class InitialValues {
boolean t;
char c;
byte b;
short s;
int i;
long l;
float f;
double d;
InitialValues reference;
void printInitialValues() {
System.out.println("Data type Initial value");
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);
}
public static void main(String[] args) {
new InitialValues().printInitialValues();
}
}
輸出:
Data type Initial value
boolean false
char[] //char 的默認(rèn)值為 0或者寫為'\u0000',所以顯示為空白
byte 0
short 0
int 0
long 0 //0L
float 0.0 //0.0F
double 0.0
reference null
## 成員變量初始化方式之二————顯式賦值:
public class InitialValues2 {
boolean bool = true;
char ch = 'x';
byte b = 47;
short s = 0xff;
int i = 999;
long lng = 1;
float f = 3.14f;
double d = 3.14159;
}
## 成員變量初始化方式之三————調(diào)用對象進(jìn)行初始化賦值:
class Depth {
}
public class Measurement {
Depth d = new Depth();
// ...
}
//注意:如果沒有為 d 賦予初值就嘗試使用它,就會出現(xiàn)運行時錯誤,會產(chǎn)生異常。
## 成員變量初始化方式之四————調(diào)用方法進(jìn)行初始化賦值:
//1、調(diào)用無參方法
public class MethodInit {
int i = f();
int f() {
return 11;
}
}
//2、調(diào)用有參方法
public class MethodInit2 {
int i = f();
int j = g(i);
int f() {
return 11;
}
int g(int n) {
return n * 10;
}
}
//注意:調(diào)用有參方法時,方法中的參數(shù)不能是未初始化的類成員變量,否則會報異常
以上就是java變量的初始化,希望對大家有所幫助。更多關(guān)于“java培訓(xùn)”的問題,歡迎咨詢千鋒教育在線名師。千鋒教育多年辦學(xué),課程大綱緊跟企業(yè)需求,更科學(xué)更嚴(yán)謹(jǐn),每年培養(yǎng)泛IT人才近2萬人。不論你是零基礎(chǔ)還是想提升,都可以找到適合的班型,千鋒教育隨時歡迎你來試聽。