簡體   English   中英

訪問for循環之外的整數

[英]Accessing an integer outside its for loop

for (int x = 1; x <= 3; x++) {
  System.out.println("Number: " + x);
}
System.out.println("Done! Counted to: " + x);

這給出了一個錯誤,告訴我我無法訪問for循環之外的變量。
有辦法嗎?

聲明它之外for語句,則忽略的第一部分for語句。

int x = 1;
for (; x <= 3; x++) {
    System.out.println("Number: " + x);
}

System.out.println("Done! Counted to: " + x);

提示 :您可以省略for循環的三個部分中的任何一個。 例如,如果您希望在構成for循環的復合語句中進行一些條件遞增,則可能希望省略最后一部分。

int x = 1;
for (; x <= 3;) {
    if (x % 2 == 0) {
        x += 2;
    } else {
        x++;
    }
}

盡管如此,還是很喜歡這種東西。 如果你不小心,很容易發現自己陷入無限循環。

x外部循環放入並使用其他變量進行循環。

int x = 0;
for (int i = 1; i <= 3; i++) {
    System.out.println("Number: " + i);
    x = i;
}
System.out.println("Done! Counted to: " + x);

結果

Number: 1
Number: 2
Number: 3
Done! Counted to: 3

是的,非常容易。 就這樣做:

int x = 0;
for (x=1; x<=3; x++) {
    System.out.println("Number: " +x);
}

System.out.println("Done! Counted to: "+x);

不必申報的循環一個新的變量,你可以使用現有的一個,如果你想。

在for循環中聲明變量時,該變量的范圍僅在循環內。

為了在for循環外訪問該變量,請在外部聲明它。

int x =0;
for (x=1; x<=3; x++) {
    System.out.println("Number: " +x);
    }
    System.out.println("Done! Counted to: "+x);
    }
}

如果第一部分沒用,那么不妨使用while循環。

int x = 1;

while (x <= 3)  
{         
    System.out.println("Number: " + x);        
    x++;   
}  

System.out.println("Done! Counted to: "+ x);
 
int x=1;
for (; x<=3; x++) {
  System.out.println("Number: " +x);
}
System.out.println("Done! Counted to: "+x);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM