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