gpt4 book ai didi

Java:字节算术运算

转载 作者:行者123 更新时间:2023-12-03 01:52:25 26 4
gpt4 key购买 nike

我的代码出了什么问题?以下代码适用于整数类型的数据,但不适用于字节类型的数据。

public class Exchange {
public static void main(String[] args) {
//int a = 23, b = 44;
byte a = 23, b = 44;
a = a + b;
b = a - b;
a = a - b;
System.out.println("a=" + a + "b=" + b);
}
}

我知道数据类型字节可以保存-2^(8-1)到-1+2^(8-1)范围内的数据。但我使用的是 23 和 44,所以它小于 127。

这里我收到错误消息“不兼容的类型:从 int 到 byte 可能有损转换”。

最佳答案

如果您想对 byte 执行算术运算并将其分配回 byte 变量,您应该明确让编译器知道“您知道您在做什么”这样做”,否则您会收到错误消息,表明您通过将 int(算术运算的结果)转换为 byte(在左侧)而丢失了信息。

要解决此问题,请将算术运算的结果转换回字节:

    byte a = 23, b = 44;
a = (byte) (a + b);
b = (byte) (a - b);
a = (byte) (a - b);

关于Java:字节算术运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35519210/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com