gpt4 book ai didi

java - java中的数据类型字节不允许添加任何文字

转载 作者:行者123 更新时间:2023-11-29 06:00:30 25 4
gpt4 key购买 nike

我正在尝试一些像这样的 java 代码

class Test {
public static void main (String [] args){
byte b = 10;
b = b + 10;
}

当我试图编译它时保存后,它给我一个错误

D:\java\Test.java:4: possible loss of precision

发现:整数要求:字节 b = b + 10; ^1 个错误

但是没有如果尝试这样的事情

b++;
b+=10;

完全没问题这是什么原因?

最佳答案

你必须把你的原始代码写成

b = (byte)(b + 10);

问题是 b + 10 是 int 类型,因为字节被扩展为 int。

这样做的原因是存在概念上的歧义,如果 b 是,比方说,120。那么 b+10 等于 130,还是等于 -126?

Java设计者决定在这种情况下应该在int中进行加法运算,所以120+10就是130,那么就不能存储到byte中了。

对于b+=10,很明显要修改b,所以是字节加法。

关于java - java中的数据类型字节不允许添加任何文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10311220/

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