【问题标题】:unary increment doesn't work? [duplicate]一元增量不起作用? [复制]
【发布时间】:2018-08-14 11:05:33
【问题描述】:
public class Temp { 
public static  void main(String[] args) { 
   for (int i = 0; i < 10;){
       i = i++;
       System.out.println("Hello world");
   }   
 }
}

为什么i 没有增加,因为我们正在增加它,但它仍然没有增加
正如我们在进行后增量时在 for 循环中看到的那样,当我们进行预增量时它不起作用并且进入无限循环 i = ++i 它工作正常,即使我们像 i = (i=i+1) 一样工作,它也能正常工作
但不是在我们进行后期增量时 i 被分配给 i++ 并且 i 的时间值为 0,但在它增加 1 后立即比它应该反映在下一次循环迭代
为什么不反映?

【问题讨论】:

  • 首先评估i,然后递增i,然后将评估结果(第一个)分配给i,使其保持原样。

标签: java for-loop infinite-loop post-increment unary-operator


【解决方案1】:

i++ 返回 i 的原始值(在增量之前),因此如果将该值分配回 i,您会将 i 恢复为原始值。

您不必将i++++i 分配给i

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-30
    • 1970-01-01
    • 2012-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多