我想问你们一个问题。你看,我知道一个for循环是什么,但有人可以也许解释了如何一个作品,只是为了帮我拿我的头周围,一个例子是:为了什么?
for(int i = 0; i < 10; i++) {
System.out.println("hello");
}
现在很明显,这将只是打印你好10次进入控制台,但除此之外,我想知道for循环是如何工作的。
很抱歉,如果我搞糊涂的人问这个 - 肖恩
我想问你们一个问题。你看,我知道一个for循环是什么,但有人可以也许解释了如何一个作品,只是为了帮我拿我的头周围,一个例子是:为了什么?
for(int i = 0; i < 10; i++) {
System.out.println("hello");
}
现在很明显,这将只是打印你好10次进入控制台,但除此之外,我想知道for循环是如何工作的。
很抱歉,如果我搞糊涂的人问这个 - 肖恩
for语句提供了一个紧凑的方式来遍历值的范围。程序员经常将其称为“for循环”,因为它的重复循环方式直到满足特定的条件。 for语句的一般形式可表示如下:
for (initialization; termination; increment) { statement(s) }
当使用这个版本的for语句,请记住:
- 初始化表达式初始化循环;它会在循环开始时执行一次。
- 当终止表达式计算结果为false时,循环终止。
- 递增表达式在循环的每次迭代之后被调用;这个表达式增加或减少一个值是完全可以接受的。
非常感谢很多人,我很喜欢简单的java,当你知道它时哈哈:D – Shaun
的for
循环在你的例子是本或多或少当量:
int i = 0;
while (i < 10) {
System.out.println("hello");
i++;
}
唯一的区别是与你的for
循环,可变i
只存在于循环的范围内。
使用相同的模式,每个for
循环都可以转换为while
循环。
for (init; test; continuation) {
// loop body
}
变为:
init;
while (test) {
// loop body
continuation;
}
再次,唯一的区别是,在init
声明的任何变量的作用域。
美丽的答案谢谢 – Shaun
这不是只有***的区别。如果在for循环中使用'continue;',我会增加,而在“等效”时它不会。 –
@ArmenTsirunyan - 感谢您指出这一点。 “继续”声明违反了[结构化编程]的规则(http://en.wikipedia.org/wiki/Structured_programming)。 (所以'return','throws'和'break')。很难用'while'循环来建模。当我使用“唯一”的时候,我想到了OP的具体例子;我的选择应该更加谨慎。 –
好了,这是它是如何设置:
for (a; b; c)
“A”的东西是在循环的开始时进行。它实际上可以被排除在外,如果有必要,就像这样:
for (; b; c)
“B”必须是真实或虚假陈述(像我< 10,它要么是或者不是)。一旦“b”不再成立,循环就会停止。
“C”是在循环结束时完成的。
实际上,'a','b'和'c'中的任何一个或全部都可以不在'for'循环中。 –
我想你是对的,但不会遗漏'b'使它无限? – Cg2916
如果你抛弃'b',那么它确实是一个无限循环。唯一的出路是'break','return'或抛出异常。 –
#1资源:http://download.oracle.com/javase/tutorial/java/nutsandbolts/for.html – BalusC
我不确定你在问什么。迭代是计算机编程的核心概念。例如,如何检查一千万件物品的清单? –
@JustinSatyr:看看Ted Hopp的答案,下面。 –