Java—为什么执行while()语句中的if()块?
我需要解释一下,为什么Java—为什么执行while()语句中的if()块?,java,if-statement,while-loop,Java,If Statement,While Loop,我需要解释一下,为什么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.pr
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)
视为false吗?那么,如果执行块,该如何执行呢?基本上,它似乎为表达式5返回真正的布尔值=5
谢谢你的解释 当您进入循环的主体并且
x==4
时,循环继续进行
然后,将1
添加到变量中
现在是
5
,因此if
的条件为真 当您进入循环的主体并且x==4
时,循环继续进行
然后,将1
添加到变量中
现在是
5
,因此if
的条件为真 如果x==4,则当满足x!=5
。然后增加xx=x+1
,得到x==5
。这就是为什么如果x==4,那么while满足x!=5
。然后增加xx=x+1
,得到x==5
。这就是为什么这是因为x进入循环后等于5。在下一次迭代中,循环停止。您应该将x=x+1
行移动到if
之后,以使其按您想要的方式工作这是因为x
在进入循环后变为等于5。在下一次迭代中,循环停止。您应该将x=x+1
行移动到if
之后,使其按照您想要的方式工作当您进入x
等于4的循环时,它首先递增以取值5,因此满足表达式x==5
但是,在下一次迭代中,while
中的条件不再为真。当进入X
等于4的循环时,它首先递增为值5,因此满足表达式X==5
但是,在下一次迭代中,while
中的条件不再为真。while循环称为前置条件循环,这意味着它们在执行某些语句块之前检查条件
因此,当循环体中的x
变为5
时,实际检查的最后一个条件是x!=4
x!=5将在循环的下一次迭代中检查。而循环称为前置条件循环,这意味着它们在执行某些语句块之前检查条件
因此,当循环体中的x
变为5
时,实际检查的最后一个条件是x!=4
x!=5将在循环的下一次迭代中进行检查。表达式x==5
计算为true,因为x在while循环中发生了更改
当x等于4时(这意味着x!=5
仍然计算为true),下一行(x=x+1
)将导致x为5。表达式x==5
计算为true,因为x在while循环中发生了更改
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
}
当x等于4时(这意味着x!=5
仍然计算为真),下一行(x=x+1
)将导致x为5。当x=4时,它进入while循环,即,(4!=5右??)
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
}
在while循环中执行x=x+1,因此x=5;下一行呢
内部while循环是if(x==5)System.out.println(“我现在5岁了!”)
当x的值为5时,执行进入if条件,我们将
将输出设为“我现在是5!”当x=4时,它进入while循环,即,(4!=5右??)
在while循环中执行x=x+1,因此x=5;下一行呢
内部while循环是if(x==5)System.out.println(“我现在5岁了!”)
当x的值为5时,执行进入if条件,我们将
获取输出为“我现在是5!”x=4,下一行将1添加到x,因此在if语句时x将=5使用+=
或+
而不是x=x+1
。因此x++
。了解有关while语句的更多信息。while中的条件只在while主体被执行之前(以及while主体被执行之后)才被评估。如果您调试了代码(闻起来像是家庭作业),那么您自己就会找到答案;)x=4,下一行将x加1,因此在if语句使用+=
或+
时x将=5,而不是x=x+1
。因此x++
。了解有关while语句的更多信息。while中的条件只在while主体被执行之前(以及while主体被执行之后)才被评估。如果您调试了代码(闻起来像是家庭作业),那么您自己就会找到答案;)这应该是正确的答案。我认为@Matt不明白,虽然身体状况并没有在whilet中评估,但这应该是正确的答案。我想@Matt不明白while的身体并没有评估while的状况