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

3.4 變量如何初始化

在C、C++、C#等語言中,都會提到變量的初始化,有關對象類型變量的初始化將在后面的章節詳細講述,這里將把基本類型變量的初始化作為本節的主要內容。

【實例3-11】基本類型變量的初始化工作,就是給變量賦值。為了能夠更加清晰地看到變量如何初始化,以及初始化時需要注意的知識點,下面通過實例來演示。

01        //通過不同類型的數據的輸出來查看變量如何初始化
02        //所有的變量都是全局變量
03        public class Var0                                             //定義一個Var0類
04        {
05            byte x;                                                   //定義全局變量x
06            short y;                                                  //定義全局變量y
07            int z;                                                    //定義全局變量z
08            long a;                                                   //定義全局變量a
09            float b;                                                  //定義全局變量b
10            double c;                                                 //定義全局變量c
11            char d;                                                   //定義全局變量d
12            boolean e;                                                //定義全局變量e
13            public static void main(String[] args)                    //主方法
14            {
15                Var0 m=new Var0();                                    //創建一個對象m
16                System.out.println(" 打印數據x="+m.x);
17                System.out.println(" 打印數據y="+m.y);
18                System.out.println(" 打印數據z="+m.z);
19                System.out.println(" 打印數據a="+m.a);
20                System.out.println(" 打印數據b="+m.b);
21                System.out.println(" 打印數據c="+m.c);
22                System.out.println(" 打印數據d="+m.d);
23                System.out.println(" 打印數據e="+m.e);
24            }
25        }

【代碼說明】第5~12行定義了8個變量,它們分別對應8種數據類型。我們并沒有為其設置初始值,第16~23行直接在控制臺輸出這些變量,讀者可以在下面的運行效果中發現有的變量具備默認值,但有的變量什么也不輸出。

【運行效果】

打印數據x=0
打印數據y=0
打印數據z=0
打印數據a=0
打印數據b=0.0
打印數據c=0.0
打印數據d=
打印數據e=false

【實例3-12】從以上例子可以看出,作為全局變量,無須初始化,系統自動給變量賦值。除了字符型數據被賦值為空,布爾型數據被賦值為false,其他一律賦值為0,下面再看一段程序代碼。

01        //通過不同類型的數據的輸出來查看變量如何初始化
02        //所有的變量都是局部變量
03        public class Var1                                               //定義一個Var1類
04        {
05            void printnumber()                                          //定義一個printnumber方法
06            {
07                byte x;                                                 //定義局部變量x
08                short y;                                                //定義局部變量y
09                int z;                                                  //定義局部變量z
10                long a;                                                 //定義局部變量a
11                float b;                                                //定義局部變量b
12                double c;                                               //定義局部變量c
13                char d;                                                 //定義局部變量d
14                boolean e;                                              //定義局部變量e
15            }
16            public static void main(String[] args)                      //主方法
17            {
18                Var1 m=new Var1();                                      //創建對象m
19                System.out.println(" 打印數據x="+m.x);
20                System.out.println(" 打印數據y="+m.y);
21                System.out.println(" 打印數據z="+m.z);
22                System.out.println(" 打印數據a="+m.a);
23                System.out.println(" 打印數據b="+m.b);
24                System.out.println(" 打印數據c="+m.c);
25                System.out.println(" 打印數據d="+m.d);
26                System.out.println(" 打印數據e="+m.e);
27            }
28        )

【代碼說明】第7~14行定義了8個變量,但其被定義在printnumber()方法中,屬于局部變量。第19~26行在沒有初始化這些變量的時候,在控制臺輸出這些變量,其實是不正確的。

【運行效果】這個程序段編譯時就會報錯,原因是所有局部變量都沒有初始化。

從以上兩段程序代碼得出一個結果:全局變量可以不用進行初始化賦值工作,而局部變量必須要進行初始化賦值工作。

主站蜘蛛池模板: 都匀市| 武山县| 宜黄县| 石门县| 寿阳县| 苍梧县| 玛纳斯县| 襄城县| 雅江县| 连云港市| 沂源县| 巫山县| 腾冲县| 教育| 旌德县| 西林县| 西吉县| 磐安县| 江都市| 绥芬河市| 多伦县| 鹰潭市| 宜都市| 阿坝县| 项城市| 长垣县| 界首市| 高邑县| 张家口市| 赣榆县| 新乐市| 措勤县| 保山市| 常熟市| 聂拉木县| 兖州市| 环江| 五指山市| 漠河县| 江川县| 缙云县|