- 零基礎(chǔ)學(xué)Java第2版
- 陳潔
- 818字
- 2018-12-31 19:34:31
3.4 變量如何初始化
在C、C++、VB、PowerBuilder等語(yǔ)言中,都會(huì)提到變量的初始化,有關(guān)對(duì)象類(lèi)型的變量初始化,將在后面的章節(jié)詳細(xì)講述,這里將把基本類(lèi)型變量的初始化作為本節(jié)的主要內(nèi)容。
【實(shí)例3.11】基本類(lèi)型變量的初始化工作,就是給變量賦值。為了能夠更加清晰地看到變量如何初始化,以及初始化時(shí)需要注意的知識(shí)點(diǎn),下面通過(guò)實(shí)例來(lái)演示。
01 ///通過(guò)不同類(lèi)型的數(shù)據(jù)的輸出來(lái)查看變量如何初始化 02 ///所有的變量都是全局變量 03 public class var0 04 { 05 byte x; 06 short y; 07 int z; 08 long a; 09 float b; 10 double c; 11 char d; 12 boolean e; 13 public static void main(String[] args) 14 { 15 var0 m=new var0(); 16 System.out.println(" 打印數(shù)據(jù)x="+m.x); 17 System.out.println(" 打印數(shù)據(jù)y="+m.y); 18 System.out.println(" 打印數(shù)據(jù)z="+m.z); 19 System.out.println(" 打印數(shù)據(jù)a="+m.a); 20 System.out.println(" 打印數(shù)據(jù)b="+m.b); 21 System.out.println(" 打印數(shù)據(jù)c="+m.c); 22 System.out.println(" 打印數(shù)據(jù)d="+m.d); 23 System.out.println(" 打印數(shù)據(jù)e="+m.e); 24 } 25 }
【代碼說(shuō)明】第5~12行定義了8個(gè)變量,它們分別對(duì)應(yīng)8種數(shù)據(jù)類(lèi)型。我們并沒(méi)有為其設(shè)置初始值。第13~23行直接在控制臺(tái)輸出這些變量,讀者可以在下面的運(yùn)行效果中發(fā)現(xiàn)有的變量具備默認(rèn)值,但有的變量什么也不輸出。
【運(yùn)行效果】
打印數(shù)據(jù)x=0 打印數(shù)據(jù)y=0 打印數(shù)據(jù)z=0 打印數(shù)據(jù)a=0 打印數(shù)據(jù)b=0.0 打印數(shù)據(jù)c=0.0 打印數(shù)據(jù)d= 打印數(shù)據(jù)e=false
【實(shí)例3.12】從以上例子可以看出,作為全局變量,無(wú)須初始化,系統(tǒng)自動(dòng)給變量賦值。除了字符型數(shù)據(jù)被賦值為空,布爾型數(shù)據(jù)被賦值為false,其他一律賦值為0。下面再看一段程序代碼。
01 ///通過(guò)不同類(lèi)型的數(shù)據(jù)的輸出來(lái)查看變量如何初始化 02 ///所有的變量都是局部變量 03 public class var1 04 { 05 void printnumber() 06 { 07 byte x; 08 short y; 09 int z; 10 long a; 11 float b; 12 double c; 13 char d; 14 boolean e; 15 } 16 public static void main(String[] args) 17 { 18 var1 m=new var1(); 19 System.out.println(" 打印數(shù)據(jù)x="+m.x); 20 System.out.println(" 打印數(shù)據(jù)y="+m.y); 21 System.out.println(" 打印數(shù)據(jù)z="+m.z); 22 System.out.println(" 打印數(shù)據(jù)a="+m.a); 23 System.out.println(" 打印數(shù)據(jù)b="+m.b); 24 System.out.println(" 打印數(shù)據(jù)c="+m.c); 25 System.out.println(" 打印數(shù)據(jù)d="+m.d); 26 System.out.println(" 打印數(shù)據(jù)e="+m.e); 27 } 28 )
【代碼說(shuō)明】第7~14行定義了8個(gè)變量,但其被定義在printnumber()方法中,屬于局部變量。第19~26行在沒(méi)有初始化這些變量的時(shí)候,在控制臺(tái)輸出這些變量,其實(shí)是不正確的。
【運(yùn)行效果】這個(gè)程序段編譯時(shí)就會(huì)報(bào)錯(cuò),原因是所有局部變量都沒(méi)有初始化。
從以上兩段程序代碼得出一個(gè)結(jié)果:全局變量可以不用進(jìn)行初始化賦值工作,而局部變量必須要進(jìn)行初始化賦值工作。
- 程序員面試筆試寶典(第3版)
- Python快樂(lè)編程:人工智能深度學(xué)習(xí)基礎(chǔ)
- Web交互界面設(shè)計(jì)與制作(微課版)
- Ext JS Data-driven Application Design
- 數(shù)據(jù)結(jié)構(gòu)(Python語(yǔ)言描述)(第2版)
- Spring Cloud、Nginx高并發(fā)核心編程
- Reactive Programming With Java 9
- Java Web從入門(mén)到精通(第3版)
- Python語(yǔ)言科研繪圖與學(xué)術(shù)圖表繪制從入門(mén)到精通
- JavaScript從入門(mén)到精通(視頻實(shí)戰(zhàn)版)
- Building Business Websites with Squarespace 7(Second Edition)
- Learning Redux
- Apache Kafka 1.0 Cookbook
- Cinder:Begin Creative Coding
- Mastering Unity 2017 Game Development with C#(Second Edition)