public class Test {
public static void main (String args[]) {
int i = 0;
for (i = 0; i < 10; i++);
System.out.println(i + 4);
}
}
以下代码的输出是14.为什么它不是4?
怎么可能是14?需要一些解释
提前谢谢你......
答案 0 :(得分:3)
简单。
i
递增10
而不执行任何其他操作(请注意;
循环定义后的for
)System.out
语句在循环外打印i + 4
(仅一次),即14
答案 1 :(得分:3)
for (i = 0; i < 10; i++);
这个循环除了将i
递增10次之外什么都不做。
然后
System.out.println(i + 4);
评估为
System.out.println(10 + 4);
// output
14
如果你在for (i = 0; i < 10; i++);
的末尾放下半结肠,你将得到
4
5
6
7
8
9
10
11
12
13
作为输出。
答案 2 :(得分:0)
参见评论中的描述:
// Declare variable 'i' of type int and initiate it to 0
// 'i' value at this point 0;
int i = 0;
// Take variable 'i' and while it's less then 10 increment it by 1
// 'i' value after this point 10;
for (i = 0; i < 10; i++);
// Output to console the result of the above computation
// 'i' value after this point 14;
System.out.println(i + 4);
答案 3 :(得分:0)
System.out.println(i + 4);
语句后, for (i = 0; i < 10; i++);
将被评估并执行。
for (i = 0; i < 10; i++);
的结果为10
。条件i < 10
将为i=9
,这是第10次迭代,而在第11次迭代i
将为10
,因为i++
将被计算,此处为i<10
i
条件失败。现在10
的最终值为System.out.println(i + 4);
。
评估下一个语句i(=10)+4 = 14
,即var customer = new CustomerDetail();
customer = args[2];