返回类型(长+长)

时间:2013-10-03 13:15:40

标签: java

这似乎是一个愚蠢的问题,但我找不到答案,或者至少我不知道如何在Google上制定它。

当我们在Java中添加两个字节时,结果是一个int。

但是两个long,还是long和int呢?对于double和float也是同样的问题。我在所有这些转换中都有点迷失。

1 个答案:

答案 0 :(得分:16)

A long。这取决于§5.6.2 Binary Numeric Promotion,第2项:

  • 如果任一操作数的类型为double,则另一个操作数将转换为double
  • 否则,如果任一操作数的类型为float,则另一个操作数将转换为float
  • 否则,如果任一操作数的类型为long,则另一个操作数将转换为long
  • 否则,两个操作数都将转换为int类型。

由于最后一条规则,在添加两个int时会收到byte