官术网_书友最值得收藏!

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)行初始化賦值工作。

主站蜘蛛池模板: 海丰县| 达孜县| 突泉县| 涿鹿县| 宜城市| 巴林右旗| 高州市| 刚察县| 克山县| 平舆县| 炎陵县| 镇巴县| 库尔勒市| 乌兰察布市| 莱州市| 兴山县| 沙坪坝区| 云霄县| 宜章县| 娄底市| 汝州市| 长葛市| 上犹县| 南平市| 凤山市| 元阳县| 邵阳县| 兰溪市| 康平县| 阿克苏市| 炉霍县| 即墨市| 临泽县| 英山县| 晋江市| 财经| 德庆县| 同德县| 木兰县| 景德镇市| 中西区|