1. 程式人生 > >Java之區域性變數的作用域

Java之區域性變數的作用域

1、迴圈語句中變數

public static void main(String args[]) {
	for(int i=0;i<10;i++) {
		int sum =3;
	}
		
	System.out.println(i+"  "+sum);

}

就上面最簡單的程式說明吧,上面在for迴圈中定義了i和sum,但是出了迴圈,這兩個變數就被丟棄了,顯然i和sum的作用域就是for迴圈之中,可以預見在while,do-while中也是一樣的,這裡就不舉例了。

2、if語句中的變數宣告

int j =0;
if(j==0)
  int i =0;

如上圖所,我建立了一個if語句,但是在if語句中建立一個物件,就會報錯,而下面的語句卻不會報錯

int j =0;
if(j==0) {
   int i =0;
}

只是加了一個大括號,但是就不會報錯了,這是因為if語句的作用域問題,if語句只作用於它之後的第一行語句(如果不加大括號的話),這樣的話,當你建立變數i後,就退出了if語句,然後i就會被刪除,相當於這i沒有任何作用,是無效語句,這在java中是杜絕出現的

當然我們的主題是變數的作用域問題,顯然if語句中變數的作用域也僅僅是在if語句之內

3、方法中的變數宣告

這個就不用說了,比較常見