【问题标题】:Java: Please explain the difference between these two statements [duplicate]Java:请解释这两个语句之间的区别[重复]
【发布时间】:2018-09-08 19:02:05
【问题描述】:
byte b;
b= b+10;

byte b;
b+=10;

第一个实例给出了错误,而第二个给出了正确的输出,任何人都可以在这里解释内部操作

【问题讨论】:

  • 在Java中,这两个语句都会产生编译错误
  • 在 Java 中,byte b; 然后在初始化之前对 b 执行某些操作会导致编译错误。将示例中的 byte b; 更改为 byte b = 0; 以使其有意义。

标签: java casting byte


【解决方案1】:

b += 10 表示

  1. 找到 x 标识的地方
  2. 加10

但是 b = b + 10 的意思是:

  1. 找到b标识的地方
  2. 将 b 复制到累加器中
  3. 将 b 添加到累加器中
  4. 将结果存储在 b 中
  5. 找到b标识的地方
  6. 将累加器复制到其中

两者的结果将相同,但 b+=10 将优于 b=b+10。您可以在此答案中找到更多详细信息:

https://softwareengineering.stackexchange.com/questions/134118/why-are-shortcuts-like-x-y-considered-good-practice

【讨论】:

    猜你喜欢
    • 2023-04-05
    • 1970-01-01
    • 2019-06-05
    • 2017-01-31
    • 2013-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多