【问题标题】:Need help understanding the order of tracing code in a while loop需要帮助了解 while 循环中跟踪代码的顺序
【发布时间】:2019-10-08 23:51:58
【问题描述】:

我正在尝试跟踪 while 循环的代码,但我被卡住了。我该如何处理!结果。如果 result = false,则 !result = true,因此在第一个循环之后,结果 then = true。下次循环重复时,!result = false 吗?

编辑-我真正要问的是在第一个循环之后,结果会改变吗?因为在第一个循环结束时结果为真,所以下次你到达 !result 时是否会使其为假?

boolean result = false;
int i = 0;

while (i < arr.length && !result) {
    if (arr[i] == val) {
        result = true;
    }
    i++;
}
return result;

数组是 {3, 7, -2, 8, 4}

【问题讨论】:

  • 在这方面!的使用与其他语言中使用Not语句是不一样的。更像是这样:if (result) { .... }If(result is true) { ... } 基本相同。并且:if (!result) { ... }If(result is false) { ... }基本相同。要执行类似于 Not 语句(在 Java 中不可用)以便 toggle 将结果的值从 true 到 false 或 false 到 true,你会做:result = !result;.

标签: java arrays loops while-loop


【解决方案1】:

这可以重写为

while (i < arr.length && result == false) {
    ..
}

或者,您可以在if 中使用break

while (i < arr.length ) {
  if (arr[i] == val) {
      result = true;
      break;
  }
  ....
  i++;
}

【讨论】:

  • 是的,除了 i 也必须递增。
  • 循环后我不会有相同的值,但在这种情况下,没关系。
猜你喜欢
  • 2013-05-24
  • 2012-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-30
  • 2023-02-19
  • 1970-01-01
相关资源
最近更新 更多