日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

成员变量的初始值

發布時間:2024/9/3 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 成员变量的初始值 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

成員變量的初始值

寫了這么多程序. 不知道大家有沒有產生這樣一個疑問. 我們寫的這個成員變量. 仔細觀察一下

package com.xyq.bao;public class Person {String name;public static void main(String[] args) {Person p = new Person();System.out.println(p.name);}}

這個成員變量啊. 就是創建了一下. 并沒有賦值. 但是沒有飄紅嘛~. 編譯是通過的. 我們換個例子, 大家再看一下

package com.xyq.bao;public class Person {String name;public static void main(String[] args) {Person p = new Person();System.out.println(p.name);String nn;System.out.println(nn); // 飄紅報錯}}

第12行代碼會飄紅報錯. 為什么會這樣. 記住這樣一句話. 所有的變量, 必須先聲明后賦值, 才能使用.

package com.xyq.bao;public class Person {String name;public static void main(String[] args) {Person p = new Person();System.out.println(p.name);String nn = "哇卡卡卡卡";System.out.println(nn);}}

不報錯了.

為什么啊… 我的全局變量也沒賦值啊. 為什么可以用呢? 原因是. 所有的成員變量, 在寫好之后. java都會給他們一個初始值. 根據數據類型的不同. 給的值也不一樣. 我們來看看這些成員變量的初始值.

看一下結果:

byte=0short=0int=0long=0float=0.0double=0.0char=boolean=falseString=null

char是空字符. boolean是false, String是null. 其他都是零.

空字符在ascii里就是0.

false在計算機里也是0.

其他的都很好解釋. 唯獨這個null.

注意: null表示空, 表示沒有. 真空. 連空氣都不如.

我們給出一個children類

package com.xyq.bao;

public class Children {

}

然后在Person里使用Children

public class Person {

???? byte b;

???? short s;

???? int i;

???? long l;

???? float f;

???? double d;

???? char c;

???? boolean bool;

???? String str;

???? Children children;

???? public static void main(String[] args) {

???????? Person p = new Person();

???????? System.out.println("byte="+p.b);

???????? System.out.println("short="+p.s);

???????? System.out.println("int="+p.i);

???????? System.out.println("long="+p.l);

???????? System.out.println("float="+p.f);

???????? System.out.println("double="+p.d);

???????? System.out.println("char="+p.c);

???????? System.out.println("boolean="+p.bool);

???????? System.out.println("String="+p.str);

???????? System.out.println("Children="+p.children);

???? }

}

結果:

byte=0

short=0

int=0

long=0

float=0.0

double=0.0

char=

boolean=false

String=null

Children=null

我們發現Children也是null.

原因: String其實也是一個類. 和我們寫的Children, Cat, Panda沒區別的. java為了讓程序能正常執行. 必須要給成員變量一個初始值. 但是Children類型的對象必須得通過new來創建. java不能自動的去給你創建一個對象放這里, 所以, 只能告訴你這里的對象是空. 你用的時候啊. 自己去創建一個對象, 放這里.

總結

以上是生活随笔為你收集整理的成员变量的初始值的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。