【发布时间】:2020-01-04 18:23:40
【问题描述】:
在下面的两种方法中,当我在 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;
}
}
}
【问题讨论】:
-
为什么你认为你不会得到不同的结果?
-
可以的。但它会产生不同的结果,因为 for 循环的大括号内的所有内容都会在 for 循环的每次迭代中执行。
-
可以在里面定义,但是这个有不同的意思。在每次循环迭代时将其重置为 0。
-
其实你可以,只是结果会不一样。
-
int count = 0; count++;实际上只是写int count = 1;的冗长方式。然后它显然永远不等于 3。