基於java變數和範圍以及成員變數的預設初始化(詳解),java變數

來源:互聯網
上載者:User

基於java變數和範圍以及成員變數的預設初始化(詳解),java變數

ava中的變數有成員變數和局部變數,定義在類中方法之外的變數成為成員變數或者成員欄位(域),表示一個類所具有的屬性,定義為類的成員變數的變數的作用於是整個類,該變數在定義的時候不需要初始化,在使用前java會自動初始化成員變數,對於基礎資料型別 (Elementary Data Type)的的自動初始化如下:

java基本類型預設初始化值

int 0
short 0
byte 0
long 0
float 0.0
double 0.0
boolean false
char 0

例如:

public class test{ private int i; private short m; private byte n; private long l; private char c; private float f; private double d; private boolean b;  public static void main(String args[]){  System.out.println(i);  System.out.println(m);  System.out.println(n);  System.out.println(l);  System.out.println(c);  System.out.println(f);  System.out.println(d);  System.out.println(b); } }

上面代碼的輸出將會是預設初始化後的值;

對於參考型別的變數則預設初始化為null,雖然java會自動初始化成員變數,但自動初始化會帶來一些錯誤,所以在使用變數之前最好對其進行初始化,以保證變數的使用符合自己想要的效果;預設初始化的功能姿只是對於Java成員變數有效,如果要使用局部變數必須要對其進行初始化,否則會得到編譯錯誤。

java和c語言一樣使用花括弧對起始和終止位置進行區分,代碼塊中的變數僅在該代碼塊結束前有效,超出該代碼塊後該變數是不可見的即不可用,對於對象來說,其範圍是一直可見的知道該對象被記憶體回收行程回收了記憶體,例如:

String s1 = new String("Hello world!");

引用變數s1的可見度在器範圍結束時就消失了,但是所建立的String對象將會一直存在於記憶體中,直到java記憶體回收行程回收了它的記憶體,雖然String對象會一直存在於記憶體中,但由於沒有一個引用指向該對象,所以該對象是停用。

以上這篇基於java變數和範圍以及成員變數的預設初始化(詳解)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援幫客之家。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.