【问题标题】:How does this condition work in this while-loop?这个条件在这个 while 循环中是如何工作的?
【发布时间】:2015-12-27 09:15:00
【问题描述】:
while ((len = var1) != -1)
{

   // do something

}

哪个与 -1 进行比较? lenvar1?

这是 Java EE。

【问题讨论】:

  • 有人理解这个问题吗?
  • @kakajan 是的。他在询问与 -1、lenvar1 进行比较的内容。更有意义?

标签: java while-loop conditional-statements


【解决方案1】:

赋值var = val的返回值是赋值val。所以这里发生的情况是len 被赋值为var1,如果(赋值后)它的值不等于-1,则进入循环。

【讨论】:

    【解决方案2】:

    我想,最技术性的答案是将len 与-1 进行比较,但这并不能真正捕捉到正在发生的事情。

    实际情况是,对于每一次检查,您都将len 设置为var1,然后比较len。所以,如果我没记错的话,即使计算机实际上是在比较 len,它总是会被替换为来自 var1 的值,所以代码在功能上将与

    len = var1;
    while(var1 != -1)
    { 
        len = var1;
    }
    

    【讨论】:

    • 您的解释是正确的,但是您的代码并不完全正确。它会更接近:len = var1; while(var1 != -1) { len = var1; }
    • @LaneSurface 好电话。我忘记了。
    猜你喜欢
    • 1970-01-01
    • 2016-09-27
    • 1970-01-01
    • 1970-01-01
    • 2015-02-03
    • 2016-10-27
    • 1970-01-01
    • 2021-12-26
    • 1970-01-01
    相关资源
    最近更新 更多