Java中的 --> 是什么意思?

34
for (int i = 99; i --> 0;) {
    System.out.println(i);
}
以上代码有效,并具有完全相同的结果。
for (int i = 99; i >= 0; i--) {
    System.out.println(i);
}

在Java中,语法"-->"最初是什么意思?由于几乎所有可达的搜索引擎都不允许特殊字符,我似乎找不到答案。


8
好的,原文是“@onegrx Well, the original one has 3k.” 我的翻译是“嗯,原来那个有三千。” - TigerHix
2
优秀的高级开发人员编写代码时会考虑到其他人的阅读体验...只有初学者才会使用这种方式,以此来让自己看起来像专业人士... - Amos Kosgei
6个回答

47

-->不是一个新操作符。

它只是-->运算符的连词。

您首先进行比较,然后递减变量。

也就是说,

i --> 0

变得有效地

i > 0; //Compare
i--; //and decrement

6
实际上是相反的。先比较,再进行减法操作。 - Rohit Jain
1
没有点踩,但是谁点了踩,可能是因为你的回答还不完全准确。你的第三个陈述还需要修改。 - Rohit Jain

10

i --> 0的意思是i>0 and i--:先减小i的值(返回未被减小的值),然后再与0进行比较。

这是一个连词。


5

-->并不是任何运算符,它只是-->的连接方式。

所以当你写

i-->0时,它意味着比较i的值然后将其递减。

为了更好的可读性,可以将其写成:

for (int i = 99; (i--)> 0;) {

3
注意这里没有出现增量/减量的位置。所以它将 i 减 1,但返回相同的非减少值,然后将 i0 进行比较。
在执行减量操作(但未返回)后,比较检查 i 是否大于 0

2

i-- > 0

i-- 是后置减量

> 表示大于

for (initialization; boolean expression; updation){
 `//some code`
}

所以,您进行了初始化,但是您在一步中检查了布尔表达式并进行了更新,因此它起作用了。


1
没有名为-->的操作符,实际上是i--i>0; 首先进行后缀递减。 然后检查条件并将其与0比较,看它是否大于0。 请记住,在比较时它的值不会改变(i仍然是1),比较后它会递减值(i现在是0)并打印。

首先进行比较,然后进行后减操作。这就是“post”的含义。 - user207421

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接