Java 为什么,为什么?
我想问你们一个问题。你看,我知道for循环的用途,但有人能解释一下它是如何工作的吗,只是为了帮助我了解它,例如:Java 为什么,为什么?,java,for-loop,Java,For Loop,我想问你们一个问题。你看,我知道for循环的用途,但有人能解释一下它是如何工作的吗,只是为了帮助我了解它,例如: for(int i = 0; i < 10; i++) { System.out.println("hello"); } for(int i=0;i
for(int i = 0; i < 10; i++) {
System.out.println("hello");
}
for(int i=0;i<10;i++){
System.out.println(“你好”);
}
现在很明显,这将在控制台中打印Hello 10次,但除此之外,我想知道for循环是如何工作的
对不起,如果我把问这个的人弄糊涂了-Shaun
for语句提供了一种对一系列值进行迭代的紧凑方法。程序员经常将其称为“for循环”,因为它重复循环直到满足特定条件的方式。for语句的一般形式可以表示为:
for (initialization; termination; increment) {
statement(s)
}
使用此版本的for语句时,请记住:
- 初始化表达式初始化循环;它在循环开始时执行一次
- 当终止表达式的计算结果为false时,循环终止
- 在循环的每次迭代后调用增量表达式;对于这个表达式来说,增加或减少一个值是完全可以接受的
示例中的
for
循环或多或少与此等效:
int i = 0;
while (i < 10) {
System.out.println("hello");
i++;
}
变成:
init;
while (test) {
// loop body
continuation;
}
同样,唯一的区别在于
init
中声明的任何变量的范围。好的,这是如何设置的:
用于(a;b;c)
“A”是在循环开始时执行的操作。如果有必要,它实际上可以省略,如下所示:
for(;b;c)
“B”必须是正确或错误的陈述(如i#1参考资料:我不知道你在问什么。迭代是计算机编程的核心概念。例如,你将如何检查一个包含一千万项的列表?@JustinSatyr:看看下面Ted Hopp的答案。@GregS-我想OP是在问Java中
for
构造的语义,而不是作为conc的迭代。)非常感谢,伙计,当你知道java是多么简单的时候,我喜欢它。哈哈:实际上,a
、b
、和c
中的任何一个或全部都可以被排除在循环之外,因为循环。我想你是对的,但是不排除b
会使它无限大吗?如果你排除b
,那么它确实是一个无限大的循环ys out是break
、return
或抛出异常。这不是唯一的区别。如果在for循环中使用continue;
,我将递增,而在while“等效”中则不会。@ArmenTsirunyan-感谢您指出这一点。continue
语句违反了的规则。(同样做返回
,抛出
,和中断
)很难用while
循环对其建模。当我使用“only”时,我想到了OP的具体示例;我在选择单词时应该更加小心。
init;
while (test) {
// loop body
continuation;
}