gpt4 book ai didi

java - preincrement postincrement 优先级问题

转载 作者:行者123 更新时间:2023-11-29 05:18:44 24 4
gpt4 key购买 nike

我在某处读到后缀运算符的优先级高于前缀运算符。

我试过这段代码:

int i=4;
System.out.println(--i+i++);

我预计输出为 7,因为我认为首先计算 i++ 然后计算 --i

找到的结果是 6,因此编译器可能首先评估前缀。

请解释。

最佳答案

这是正在发生的事情:

--i makes i = 3.

然后你正在做 3 + i++

因为 i 现在是 3,而 i 后面有++,它是 3 + 3,那么在这一行之后 i 将变为 4。因此,您正在打印 3+3,即 6,然后将 i 更改为 4(之后)。

不管怎样,.. 为什么你会这样做我不知道,读起来太可怕了。

但是,为了学习,您应该尝试:

int i=4;
System.out.println(--i+i++);
System.out.println(i);

它应该打印 6,然后是 4。这是因为当你有 i++ 时,你正在使用 i,然后在后面加 1。当你使用 --i 时,你从 i 中减去 1,然后使用 i。如果你想使用 i 然后取下一个,使用 i--。另外,如果你想加 1 然后使用 i,使用++i。

关于java - preincrement postincrement 优先级问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25585575/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com