【问题标题】:Java equals plus operator [duplicate]Java等于加号运算符[重复]
【发布时间】:2015-02-24 10:04:48
【问题描述】:

我需要解释一下这个奇怪的运算符=+(等于加号)

示例 #1:

Double a = new Double(5);
Double b = new Double(10);
a += b

结果:

a=15.0
b=10.0

示例 #2:

Double a = new Double(5);
Double b = new Double(10);
a =+ b

结果:

a=10.0
b=10.0

我理解第一个示例,但请解释一下这个 =+ 运算符在示例 2 中做了什么。

另一个有趣的事实是,这些运算符是有效且可编译的: +=, -=, *=, /=
但是这两个中的任何一个都不会编译: =*, =/

【问题讨论】:

  • a = +b 等价于a = b

标签: java operators equals-operator


【解决方案1】:

=+ 是赋值操作和之后的一元+。这是完全有效的,会发生什么:

a = (+b); 

当你想将一个变量的负值赋给另一个变量时,几乎是一样的:

a = (-b); //a will be assigned with -10

另外,=* 无法编译,因为没有 * 一元运算符。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-25
    • 1970-01-01
    • 2014-02-17
    • 1970-01-01
    • 1970-01-01
    • 2019-07-06
    • 2016-04-28
    • 2022-09-26
    相关资源
    最近更新 更多