1. 程式人生 > >Java成員變量和局部變量

Java成員變量和局部變量

虛擬機 str 備註 方法 lse bsp float null code

局部變量:不是聲明在類體括號裏面的變量;

局部變量使用前必須初始化值;

局部變量沒有默認初始化值;

局部變量的作用域是從定義開始到定義它的代碼塊結束;

成員變量:在方法體外,類體內聲明的變量,又稱字段(Field)或全局變量;(其實Java中沒有全局變量,由於Java是面向對象語言,所有變量都是類成員)

成員變量的作用域是整個類中;

我的總結:註意成員變量和局部變量的區別

package reviewDemo;

public class Demo2 {
 public static void main(String[] args) {
     int i;
       System.out.println(i);
   }
}

備註:局部變量調用前沒有初始化,所以編譯的時候就會報錯!

package reviewDemo;

public class Demo2 {
  static int i;
    public static void main(String[] args) {
     System.out.println(i);
   }
}

備註:此時i為全局變量,未初始化會被賦予默認的初始化值!程序正確!

默認得初始值:

不管程序有沒有顯示的初始化,Java 虛擬機都會先自動給它初始化為默認值。

1、整數類型(byte、short、int、long)的基本類型變量的默認值為0。

2、單精度浮點型(float)的基本類型變量的默認值為0.0f。

3、雙精度浮點型(double)的基本類型變量的默認值為0.0d。

4、字符型(char)的基本類型變量的默認為 “/u0000”。

5、布爾性的基本類型變量的默認值為 false。

6、引用類型的變量是默認值為 null。

7、數組引用類型的變量的默認值為 null。當數組變量的實例後,如果沒有沒有顯示的為每個元素賦值,Java 就會把該數組的所有元素初始化為其相應類型的默認值。

我的總結:

局部變量是定義在方法中的變量,,,出了該方法就不能訪問該變量了....
成員變量是在類中定義,,,,並且在類的成員方法中都能訪問的變量..

Java成員變量和局部變量