在下面的两种方法中,当我在for循环花括号外使用count变量时,得到的结果不同。有人可以告诉我为什么吗?
第一个循环仅打印三个i
值。
所以我的问题是,为什么像我在第二种方法中所做的那样,不能在for循环的大括号中定义count变量。
public static void main(String[] args) {
int count = 0;
for (int i=0; i<5; i++) {
System.out.println(i);
count++;
if (count == 3) {
break;
}
}
}
public static void main(String[] args) {
for (int i=0; i<5; i++) {
int count = 0;
System.out.println(i);
count++;
if (count == 3) {
break;
}
}
}
答案 0 :(得分:0)
这是因为在第二个循环中,它将int count
设置为0,然后count++
将count
递增1,因此每次等于1。将循环i
递增1,将再次发生相同的事情(将int count
设置为0,然后递增1,然后...),因此i
将保持递增直到达到值4并退出for loop
,但是在您的第一个for loop
中,因为其中没有声明int count
,int count
不会再次更改为0,并且因此它会增加1而不会重置为0,因此当count
等于3时,您将退出for loop
,因为您“告诉” for loop
会中断当count==3
答案 1 :(得分:0)
因为count
将在循环的每次迭代中重置为0
(并且count
在循环后也将不再可见)! 但是,您一开始就不需要count
(因为您拥有i
和count
实际上是i + 1
,因此您将是三个之后循环)-
for (int i=0; i<5; i++) {
System.out.println(i);
if (i + 1 == 3) {
break;
}
}
或
for (int i=0; i<5; i++) {
System.out.println(i);
if (i == 2) {
break;
}
}