Java while 循环额外条件

Java While loop extra conditions

在Java脚本中,您可以添加额外的条件,例如:

var b = 0.0;
var q = (void 0);
var e = -1.0;

while(q = e, b > 32.0){

    console.log(q);
    b++;

}

意思是q等于e。

我已尝试将 Java 代码改写为

Float b = 0.0;
Float q = Float.NaN;
Float e = -1.0;

do{

    q = e;
    b++;

}while(b < 32.0);

但是JS版好像不行

我可以只在 while 条件中添加 q = e 吗?是否有任何有效的 Java 语法?

Java 没有像 JavaScript 这样的超级灵活的逗号运算符,因此您必须将语句分开。这不是坏事。 while(q = e, b > 32.0) 风格不佳。

坚持常规 while 循环。 do-while 循环不会执行,因为它总是会至少执行一次 b++

我会使用 double 而不是 float

double b = 0.0;
double q;
double e = -1.0;

q = e;
while (b < 32.0) {
    b++;
    q = e;
}

我们不妨在声明时初始化 q

double b = 0.0;
double e = -1.0;
double q = e;

while (b < 32.0) {
    b++;
    q = e;
}

Java中没有comma operator,即使有也被认为风格不佳

您可以通过多种方式实现类似的目标。如果你定义了一个接受任何参数的函数并且总是 returns true:

<T> boolean trick(T any) {
    return true;
}

您可以使用它在您想要的任何布尔上下文中潜入赋值表达式:

while (trick(q = e) && b > 32.0){
    System.out.println(q);
    b++;
}

但同样,这会被认为是 糟糕的 风格。不要在实际项目中使用它。