+ =和= +有什么区别?
具体来说,在Java中,但通常也是如此。
i += 4;
手段
i = i + 4; // increase i by 4.
而
i =+ 4;
相当于
i = +4; // assign 4 to i. the unary plus is effectively no-op.
(有关一元+的操作,请参见http://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.15.3。)
有时,一元加号可能会增加一些清晰度。很明显5表示正5,但0.0表示正零或负零(在IEEE 754中都有)。因此写+0.0可以在非常重要的情况下提供帮助。
只是好奇.. +(-4)被当作什么?
@ jasonmp8.5:但是,如果您只要求0.0,则会得到肯定的版本。
@Ram:-4。查看更新。
@ jasonmp85-即使一元加号增加了值,它也应该与常量关联,而不是与赋值运算符关联。
@ donal-fellows:的确如此,但是如果您在代码中看到0.0,是否意味着作者想要正零,或者他们只是写了0.0,而算法偶然做了正确的事情? +0.0是明确的:它们表示正零。
@jason:您知道在所有操作中正零和负零是相等的吗(除非您用有限的非零数除以它们)?
它们可能在所有方面都是平等的,但在所有操作中表现均不相同:en.wikipedia.org/wiki/Signed_zero。我不会对人们如何使用符号位做出任何假设。我肯定负零多年来已经允许了许多不正当算法。
像往常一样,Oracle断开了链接。
@oksayt:谢谢。修复了链接。
+=是一个运算符,用于将赋值的左侧增加右侧的值,并将其赋值回左侧的变量。 =+不是运算符,但实际上是两个运算符:赋值运算符=和一元加号+(正)运算符,表示右侧的值是正数。实际上,这是多余的,因为值是正数,除非它们被一元负数取反。您应该避免使用=+构造,因为它比任何实际的好处更容易引起混乱。
+=是get并递增:
a += 5; // adds 5 to the value of a
=+本身并不是真正的有效标识符,但是当您使用一元+运算符时可能会显示:
a =+ 5; // assigns positive five to a
当然,没有人会写第二个示例,因为一元加运算符与5绑定,并且没有业务像这样使所有与=运算符兼容。它只是可耻的。
= +不是运算符。 +是赋值运算符后面数字的一部分。
整数= 4;
int b = 4;
+ = 1;
b = + 1;
System.out.println(" a =" + a +",b =" + b);
这显示了正确格式化代码以显示意图的重要性。
+=是在Java中递增数字或String的一种方法。例如。
int i = 17;
i += 10; // i becomes 27 now.
没有=+运算符。但是,如果您执行i =+ 10;,则意味着i等于+10,而+10仅等于10。
Specifically, in java, but in general also.
在Java中,x += ;等效于x = x + ( );,根据x的类型,+运算符可以是算术加运算符或字符串连接运算符。另一方面,x =+ ;确实是写x = + ;的丑陋方式,其中+是一元加运算符...即数字类型为no-op,否则为编译错误。
在一般情况下,该问题无法回答。某些语言支持" + ="运算符,而其他语言则不支持。同样,某些语言可能支持" = +"运算符,而其他语言则不支持。并且某些语言可能允许应用程序"重载"一个或其他运算符。仅仅问问操作员"一般"的含义是没有意义的。
我不知道"一般"是什么意思,但是在C语言的早期版本(这是大多数Java语法通过C ++产生的地方)中,=+是原始语法,后来变成了,即i =+ 4等同于i = i + 4。
CRM(C参考手册)是使用=+,=-,=>>等描述C语言的文档。
当您有a + = b时,这意味着您要将b添加到a中已有的内容中。但是,如果要执行a = + b,则要为a分配+ b。
int a=2;
int b=5;
a+=b;
System.out.println(a); //Prints 7
a=2;
b=5;
a=+b;
System.out.println(a); //Prints 5