我需要解释,为什么if()
阻止执行while()
语句内部。它说: while语句计算表达式,它必须返回一个布尔值。如果表达式的计算结果为true,则while语句将执行while块中的语句。 所以,请看一下这段代码:
class test{
static int x;
public static void main(String args[]){
while(x!=5){
x=x+1;
if(x==5)
System.out.println("I'm 5 now!");
}
}
}
一旦变量x获得5的结果,不应该将(x!=5)
视为假?那么如果块执行怎么办?基本上它似乎返回表达式 5!= 5 的 true 布尔值。
感谢您的解释!
答案 0 :(得分:5)
如果x == 4则满足x != 5
。然后你增加x x = x+1
并拥有x == 5
。这就是为什么
答案 1 :(得分:3)
当你进入循环体和x == 4
时,它会继续。
然后,您将1
添加到变量。
现在是5
,所以if
的条件是真的!
答案 2 :(得分:3)
这是因为进入循环后,x
等于5 。在下一次迭代中,循环停止。您应该在x=x+1
之后移动if
行,以使其按您希望的方式运行
答案 3 :(得分:2)
当您输入X
等于4的循环时,它首先递增以取值5,因此满足表达式x == 5
。
但是,在下一次迭代中,while
中的条件不再适用。
答案 4 :(得分:2)
while循环被称为前置条件循环,这意味着它们在执行某些语句块之前检查条件。
因此,当x
在循环体中变为5
时,实际检查的最后一个条件是x != 4
。
x != 5
将在循环的下一次迭代中被检查。
答案 5 :(得分:2)
while(x!=5){ // here maximum value accept as true is 4
x=x+1; // now 4+1 and x =5
if(x==5) //yes condition satisfied
System.out.println("I'm 5 now!"); //so out put will print
}
答案 6 :(得分:2)
它进入while循环,而x = 4,即(4!= 5 right ??)
和x = x + 1在while循环内执行,因此x = 5;和下一行 内部while循环是if(x == 5)System.out.println(“我现在是5!”);
当x的值为5时,执行进入if条件,我们将 输出为“我现在5岁!”
答案 7 :(得分:1)
表达式x == 5
被计算为true,因为x在while循环内被更改。
当x等于4(这意味着x != 5
仍然计算为真)时,下一行(x = x + 1
)会导致x为5。