关于java:for循环中的箭头

Arrow in for loop

本问题已经有最佳答案,请猛点这里访问。

在一些情况下,我看到一个箭头在for循环中使用,比如:

1
2
3
for(int i = 100; i --> 0;) {
    System.out.println(i);
}

这里发生了什么?


这不是箭头,而是一个减量运算符,后跟一个大于号。

编译器看到的是一个不太清晰的(i--) > 0版本。


它是后减量运算符和大于符号的组合,这让人困惑和不可读。

和写作一样:

1
for(int i = 100; (i--) > 0;) { ... }

也就是说,i --> 0本质上是(i--) > 0