只是爲了練習,我試圖在兩種不同的情況下運行下面的代碼,最初我認爲它們都可以工作,但是當我運行一個程序和一個程序時,這裏是該工作do {}中的變量初始化不會增加
public class Test1
{
public static void main(String args[])
{
int counter = 0;
int number = 1;
do{
System.out.println(number);
number++;
counter++;
}while(counter<20);
} }
O/P代碼:{高達19獲取打印} 1 2 3 ...
這裏是一個沒有工作的一個
public class Test2
{
public static void main(String args[])
{
int counter = 0;
do{
int data = 0;
System.out.println(data);
data++;
counter++;
}while(counter<20);
} }
O/P :0 0 0 0 ... {獲得pri NT高達19倍}
嗯,是的,你是在循環的每次迭代開始時將'data'初始化爲'0'。目前還不清楚爲什麼你會希望打印其他內容。每次迭代都有一個單獨的'data'變量。如果你不想這樣做,根據你的第一段代碼聲明並初始化它在循環之外...... –
@JonSkeet瞭解它我知道我不應該只是在嘗試,但沒有想到通過! –