Java之區域性變數的作用域
阿新 • • 發佈:2019-02-19
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、方法中的變數宣告
這個就不用說了,比較常見