java =和= 区别_关于java:+ =和= +有什么区别?

+ =和= +有什么区别?

具体来说,在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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值