Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
n*=-1在Java中是什么意思?特别是*=_Java - Fatal编程技术网

n*=-1在Java中是什么意思?特别是*=

n*=-1在Java中是什么意思?特别是*=,java,Java,所以我应该读一段代码,但我不明白这个符号的意思。我知道n+=bla,意思是n+1=bla。但我无法理解n*=-1的含义。谁能快点告诉我。还有人知道为什么会用它来代替更清晰的符号吗?编写代码的人在使用此代码时不可能保存超过几个字母…n+=bla相当于n=n+bla n*=-1相当于n=n*-1 没有功能上的理由选择一种符号而不是另一种,这只是一种风格上的偏好。Java语言(以及其他语言)充满了等效语句: n++相当于n=n+1 n=m=1相当于n=1;m=1 还有许多其他的它的意思是n=n*(-1

所以我应该读一段代码,但我不明白这个符号的意思。我知道n+=bla,意思是n+1=bla。但我无法理解n*=-1的含义。谁能快点告诉我。还有人知道为什么会用它来代替更清晰的符号吗?编写代码的人在使用此代码时不可能保存超过几个字母…

n+=bla
相当于
n=n+bla

n*=-1
相当于
n=n*-1

没有功能上的理由选择一种符号而不是另一种,这只是一种风格上的偏好。Java语言(以及其他语言)充满了等效语句:

n++
相当于
n=n+1

n=m=1
相当于
n=1;m=1


还有许多其他的

它的意思是n=n*(-1)。只需更改标志。

n+=bla
n=n+bla

n*=-1
n=n*-1


所有这些运算符的操作方式相同:
value math运算符赋值运算符其他值
值赋值运算符值数学运算符其他值相同

在java或C++中,有这样的事情:

+=,-=,*=,/=,&=|=

他们在某种意义上都是一样的


也就是说,先进行运算,然后进行赋值。

这是乘法运算符的复合赋值运算符版本

代码
n*=x
等于
n=n*x
因此,在您的例子中,
n*=-1
将使
n
等于自身乘以-1

在乘法表达式中使用复合赋值运算符和普通赋值运算符的唯一区别是风格偏好


您可以在此处阅读有关复合赋值运算符的内容:

n+=bla
n+1=bla
不同。它与
n=n+bla
n*=-1
n=-n
@TedHopp的字符数完全相同。我想你的例子更清楚。我猜我猜错了。那是有道理的。但现在我知道了,谢谢。@PeterLawrey-嗯,我数了5个OP版本,而我的版本是4个(忽略空白)。或者您正在计算其他内容?请注意,在Java中,运算符和
=
符号之间不允许空白。因此,
n+=bla
合法,但
n+=bla
不合法。实际上,选择复合运算符可能有一个函数原因:左操作数只计算一次。如果计算左操作数有副作用,则会产生不同,如
a[i++]+=3。(然而,在我看来,编写这种代码的程序员需要从自己身上解脱出来,或者摆脱痛苦。)在
++n
n++
之间有区别
++n
相当于
n=n+1
<代码>n++
不是
int m=n++
将首先分配
int m=n
,然后将n增加1!所以这个答案几乎是正确的^^从来没有说过n++和+n是同一件事啊,非常感谢。我确实事先做过研究,只是没有合适的关键字。更准确地说,先进行运算,然后进行隐式转换,然后进行赋值。