溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java成員變量默認值原理的示例分析

發(fā)布時間:2021-06-04 11:27:58 來源:億速云 閱讀:158 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關(guān)Java成員變量默認值原理的示例分析的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

如果我們不做任何初始化工作,變量具有什么默認值,或者是否具有默認值呢?
其實,成員變量在創(chuàng)建時,系統(tǒng)會為其分配一個默認值。不同類型的變量,默認值也不相同,下面來看看各種類型的默認值分別是什么。

用例子來說明:先輸入一個java代碼(這里只包括了實例變量)

class Text1 {
  // 實例成員變量
  private boolean bool;
  private byte b;
  private short s;
  private char c;
  private int i;
  private long l;
  private float f;
  private double d;
  private String str;
  private String[] strArray;
 
  public void printInstance() {
    System.out.println("實例成員變量默認值:");
    System.out.println("boolean:" + bool);
    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("String:" + str);
    System.out.println("String[]:" + strArray);
    System.out.println("char:" + c);
  }
}
public class Text{
  public static void main(String[] args) {
    Text1 dv = new Text1();
    dv.printInstance();
  }
}

輸出結(jié)果:

Java成員變量默認值原理的示例分析

下面我們來看看類變量是否和實例變量一樣

class Text1 {
  // 靜態(tài)成員變量
  private static boolean boolStatic;
  private static byte bStatic;
  private static short sStatic;
  private static char cStatic;
  private static int iStatic;
  private static long lStatic;
  private static float fStatic;
  private static double dStatic;
  private static String strStatic;
  private static String[] strArrayStatic;
 
    public static void printStatic() {
    System.out.println("靜態(tài)成員變量默認值:");
    System.out.println("boolean:" + boolStatic);
    System.out.println("byte:" + bStatic);
    System.out.println("short:" + sStatic);
    System.out.println("int:" + iStatic);
    System.out.println("long:" + lStatic);
    System.out.println("float:" + fStatic);
    System.out.println("double:" + dStatic);
    System.out.println("String:" + strStatic);
    System.out.println("String[]:" + strArrayStatic);
    System.out.println("char:" + cStatic);
  }
}
public class Text{
  public static void main(String[] args) {
    Text1 dv = new Text1();
    dv.printStatic();
  }
}

輸出結(jié)果:

  Java成員變量默認值原理的示例分析

在本程序中聲明了各種類型,分別為8種基本數(shù)據(jù)類型、引用類型、數(shù)組類型。并且聲明為兩組,一組為實例變量,一組為靜態(tài)變量。然后一次輸出兩組數(shù)據(jù)的值。

數(shù)組類型與引用類型的默認值相同,都為null,實際上,數(shù)組就是一種特殊的類(對象),所以數(shù)組類型的變量也就是引用類型的變量。從結(jié)果可知,相同類型的實例變量與靜態(tài)變量默認值是相同的。

這里有一點奇怪,char類型變量后面什么也沒有輸出。不過,這并不是char類型變量沒有默認值,而是默認值為“空字符”,也就是‘\u0000',數(shù)值為0,我們可以證明一下。

class Text1 {
  char c;
}
public class Text{
  public static void main(String[] args) {
    Text1 A = new Text1();
    System.out.println((int) A.c);
    System.out.println(A.c == '\u0000');
  }
}

輸出結(jié)果:

Java成員變量默認值原理的示例分析

感謝各位的閱讀!關(guān)于“Java成員變量默認值原理的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI