“++”在前还是在后有什么区别?聊聊Java里面的奇怪语法

其实这个问题在Java里面也一样存在。大家可以先算算,看看输出的结果是不是和大家想的一样。好吧,现在我们出结果,答案是-2。但是事实上不是这样,这个原因主要是在于对“++”这个运算符的定义上,这个运算符如果在后面的话的是在运算结束之后再加1

四十年前很多人学过谭洁强版的C语言,都对其中的“++”“–”符号很费解,感觉折腾得不行。其实这个问题在Java里面也一样存在。

例如下面这段代码,能输出什么结果呢?

inta = 3;

intb = 5;

intc = 9;

.out.(b+++-c–+–a);

大家可以先算算java中webapi是什么,看看输出的结果是不是和大家想的一样。

一秒。

两秒。

三秒。

好吧,现在我们出结果,答案是-2。

“++”在前还是在后有什么区别?聊聊Java里面的奇怪语法

那么为什么是-2呢?很多人可能会这样算java中webapi是什么,b++=6, -c–=-8,–a=2,所以结果应该是0。

那么为什么会这样呢?我们先来把这个表达式的运算顺序确定一下。

b+++-c–+–a的运算顺序是这样的

(b++) + (-(c–)) + (–a)

加上了括号就清晰了。

很多朋友一看就觉得这不就应该是6+(-8)+2=0吗?

但是事实上不是这样,这个原因主要是在于对“++”这个运算符的定义上,这个运算符如果在后面的话的是在运算结束之后再加1,在前面的话是加1之后再参与运算,–同理。所以在上面的例子中,实际的运算中,是5-9+2,所以结果是-2。

如果我们先进行++和–再参与运算的话,那么结果就是0了。

喜欢本文的话,欢迎活在信息时代哦:)

本文到此结束,希望对大家有所帮助。

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至81118366@qq.com举报,一经查实,本站将立刻删除。发布者:简知小编,转载请注明出处:https://www.jianzixun.com/92103.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫

相关推荐

软文友链广告合作联系站长qq81118366