当前位置: 首页 > 知识库问答 >
问题:

Java-为什么if()块内的而()语句执行?

韩良策
2023-03-14

我需要解释一下,为什么执行了while()语句中的if()块。据说: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,不应该将其视为false吗?那么,如果执行块,该如何执行呢?基本上,它似乎为表达式5返回了真正的布尔值=5.

谢谢你的解释!

共有3个答案

令狐辉
2023-03-14

当您进入循环体并且x==4时,它将继续。

然后,向变量中添加1。

现在是5,所以if的条件为true!

林英朗
2023-03-14

这是因为在进入循环后,x等于5。在下一次迭代中,循环停止。您应该将x=x 1移动到if后面,使其按您想要的方式工作

龙俊美
2023-03-14

如果x==4,则满足whilex!=5。然后增加x=x 1,得到x=5。这就是为什么

 类似资料:
  • 首先,我发现了另外两条有类似问题的线索。问题在于,他们没有为字符串使用正确的等号,也没有为他们的特定问题正确设置if语句的格式。 在我的任务中,我需要创建一个名为“猪”的游戏,玩家与计算机对决,在掷骰子时先获得100分。如果玩家在一个回合中掷1,他们不会得到额外的分数。如果玩家掷两个1,那么他们将失去所有分数。我还没有对电脑的回合进行编码,只是专注于玩家。请告诉我我做错了什么。提前非常感谢。 我的

  • 我正在学习亚当·简斯的合唱团教程。 数据是用这个代码块加载的 而准备就绪被定义为 我把这个序列理解为 首先-创建一个名为promises的数组,其中第一项是来自此链接的已解析json,第二项是来自该文件的id/值对的映射 第二,获取promise变量中的所有promise,如果成功,则触发函数ready,如果失败,则不执行任何操作 如果这是对的,那么相对于这样的东西有什么优势呢?我用伪代码写这个因

  • 问题内容: 我一直习惯使用if,else-if语句,而不是多个if语句。 例: 与示例2相比如何? 我知道功能上它们是相同的。但是,如果不是,则是否是最佳做法?当我指出他可以不同地构造代码库以使其更整洁时,它是由我的一位朋友提出的。对我来说这已经是一种习惯,但是我从来没有问过为什么。 问题答案: 一旦找到正确的语句,它们就会停止进行比较。做每个比较。第一个是更有效的。 编辑: 在注释中已指出您在每

  • 问题内容: 我对编程还比较陌生,最近开始学习Java,以便转向Android编程。我以为我会创建一个非常简单的计算器来练习,但是看来我的if语句不起作用。 我正在使用Eclipse IDE,并且在要求执行该操作之前,它运行良好。它会显示选项,但不会让我输入任何内容(我一直在用5乘以2进行测试)。 我搜索了类似的问题,并尝试了他们的建议,但似乎仍然行不通。我将不胜感激,我想这可能只是我正在做的一个简

  • 我目前正在修复别人的Java代码中的一个bug,但我无法解释这个bug。所讨论的代码是下面的if语句: 其中初始化为和函数如下所示: 令我困惑的是,即使被设置为false,代码仍然调用并执行函数。我一直认为这是不应该发生的短路。if语句本身总体上仍然被计算为false,因为只有第一个代码段中的else-block中的代码被执行。 那么,这个if语句为什么会有这样的行为呢?是短路失败,还是我误解了原

  • 目前在学校做信息技术评估,我的else声明遇到了问题。 代码: 不管怎样,为什么在if语句为真的情况下还要使用else语句呢?