【发布时间】:2013-08-06 03:52:21
【问题描述】:
我需要解释一下,为什么在while() 语句中执行if() 块。据说:while 语句计算表达式,它必须返回一个布尔值。如果表达式的计算结果为真,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) 视为错误吗?那么 if 块怎么会被执行呢?基本上,它似乎为表达式 5!=5 返回了 true 布尔值。
谢谢你的解释!
【问题讨论】:
-
x = 4,下一行将 x 加 1,因此在 if 语句时 x = 5
-
使用
+=或++而不是x = x + 1。所以x++. -
详细了解 while 语句。 while 中的条件仅在执行 while 主体之前(以及在执行 while 主体之后)评估 docs.oracle.com/javase/tutorial/java/nutsandbolts/while.html
-
如果你调试过代码(它闻起来像家庭作业),你会自己找到答案;)
标签: java if-statement while-loop