2

我知道forJava循环中的sintax。通常看起来像

for(initialization; termination; increment){
    ...
}
//Example
for(int i=0; i<100; i++){
    ...
}

而且我也知道我们可以声明几个初始化和增量,例如

//Example
int i,j;
//  ini1,  ini2 ;  term ;  inc1,  inc2
for(i=0,   j=100;  i<100;  i++,   j--){
    ...
}

我非常明确的问题是:是否也可以有多个终止?可能是这样的

//Example
int i,j;
//  ini1,   ini2 ;   term1,   term2;   inc1,  inc2
for(i=0,    j=100;   i<100,   j>34;    i++,   j--){
    ...
}

因为我正在尝试它并且它给了我一个错误,我宁愿不要if在循环中使用太多的句子来确定是继续还是中断。

它是sintax,还是只是不可行?提前致谢。

4

6 回答 6

2

您可以提供任何boolean条件,其中可能包括逻辑布尔运算符,例如!&&和/或||

for(i=0,    j=100;  i<100 && j>34;    i++,   j--){

它们可以像您想要的那样简单或复杂,只要它评估为boolean.

于 2013-08-22T17:45:45.797 回答
1
//Example
int i,j;
//  ini1,   ini2 ;   term1,   term2;   inc1,  inc2
for(i=0,    j=100;   i<100 &&  j>34;    i++,   j--){
    ...
}
于 2013-08-22T17:45:53.500 回答
1

只需使用逻辑运算符||&&指示您的停止条件:

for(i=0, j=100; i < 100 || j > 34; i++, j--)
于 2013-08-22T17:46:06.367 回答
1

您试图在i<100 AND j>34时停止。在java中,AND是用&&写的。因此,您的循环可以是:

int i,j;
for(i=0,    j=100;   i<100 &&   j>34;    i++,   j--){
    ...
}

至少阅读内容以获取更多信息。

于 2013-08-22T17:51:55.690 回答
1

循环中只能有一个...条件for,但是这个条件可以从其他几个条件中构建,使用逻辑运算符,例如&&“AND”,||这意味着“OR”?

如果你想在所有条件都满足的情况下结束循环i<100j>34那么你应该使用逻辑 AND 运算符i<100 && j>34
如果您想在至少满足一个条件i<100时结束循环,j>34那么您应该使用逻辑 OR 运算符i<100 || j>34

于 2013-08-22T17:55:03.323 回答
1

你可以给出尽可能多的条件,通过逻辑 AND/OR 组合,只要你的表达式计算为布尔真/假值。

根据 Java 语言规范,Java SE 7 版本:

“基本的for语句执行一些初始化代码,然后重复执行一个Expression、一个Statement和一些更新代码,直到Expression的值为false。

BasicForStatement: for ( ForInitopt ; Expressionopt ; ForUpdateopt ) 语句"

...表达式必须具有 boolean 或 Boolean 类型, "

于 2013-08-22T18:05:00.843 回答