相关疑难解决方法(0)

为什么byte + = 1编译但是byte = byte + 1不?

如果我有一个字节变量: byte b = 0;

为什么以下工作:

   b++;
   b += 1; // compiles
Run Code Online (Sandbox Code Playgroud)

......但这不是吗?

   b = b + 1; // compile error
Run Code Online (Sandbox Code Playgroud)

编译器首先理解为byte第二个和第二个int吗?

[编辑]

我知道铸造,但我想引起你的注意 b++, b += 1 and b = b + 1

我认为它们是平等的,为什么编译器会有所不同?有什么区别

  b += 1 and b = b + 1 ?
Run Code Online (Sandbox Code Playgroud)

java types

21
推荐指数
1
解决办法
7327
查看次数

在Java中用字节递增操作

当我们尝试使用递增运算符和加法运算符递增字节变量时会发生什么.

public class A {
    public static void main(final String args[]) {
        byte b = 1;

        b++;

        b = b + 1;
    }
}
Run Code Online (Sandbox Code Playgroud)

请告诉我哪里可以找到释放这些小东西的来源?请帮帮我.

java

4
推荐指数
1
解决办法
8178
查看次数

标签 统计

java ×2

types ×1