用于在 while() 循环初始化部分内声明和初始化变量的 Java 语法?

Java syntax for declaring and initialize variables within a while() loops initialization section?

提问人:Tomas Wigren 提问时间:10/23/2023 更新时间:10/23/2023 访问量:93

问:

你能在 while() 循环初始化部分声明一个变量,就像你在 for() 循环中一样吗?

通常,你可以写这样的东西:

boolean continueProgram = true; 
while (continueProgram){
    // Loop program
    continueProgram = false;
}

但是我想知道是否有一种语法可以像在 for() 循环中一样编写 while() 循环?

for() 循环可能如下所示:

for (int i = 0; i < 10; i++){
    // Loop program
}

有没有办法在 while() 循环的条件下声明变量,类似于在 for() 循环中声明变量的方式?

while (boolean continueProgram = true; continueProgram){
    // Loop program
    continueProgram = false;
}

通过这样做,变量将仅是 while() 循环的本地变量。

java while循环

评论

1赞 Turing85 10/23/2023
"有没有办法在 while() 循环的条件下声明一个变量,类似于在 for() 循环中声明它的方式?-不。
0赞 David 10/23/2023
那为什么不使用循环呢?for
0赞 knittl 10/23/2023
不,这是不可能的。使用 for 循环。我当然希望只是有条件地分配的false
0赞 Tomas Wigren 10/23/2023
就我而言,是有条件分配的。false

答:

3赞 knittl 10/23/2023 #1

不,的语法不允许这样做。但是你可以使用一个循环:表达式也可以是空的:whilefor

for (boolean continueProgram = true; continueProgram; /* empty */) {
    // Loop program
    continueProgram = false;
}
2赞 Reilas 10/23/2023 #2

"...你能在 while() 循环初始化部分声明一个变量,就像你在 for() 循环中一样吗?..."

不。而且,我相信 for 循环是唯一允许变量声明的控制流结构

"...但是我想知道是否有一种语法可以像在 for() 循环中一样编写 while() 循环?..."

使用递增一元运算符

int i = 0;
while (i++ < 10){
    // Loop program
}

"...有没有办法在 while() 循环的条件下声明变量,类似于在 for() 循环中声明变量的方式?..."

不可以,您需要在循环之前声明每个变量。

boolean continueProgram = true;
while (continueProgram){
    // Loop program
    continueProgram = false;
}