所以,实际上我还是java编程语言的新手,还在学习转换数据类型,所以在这种情况下,我很难将字节转换成短字节。你们能帮帮我吗??
public class Main {
public static void main(Strings[] args) {
int number = 2;
long updateNumber = number + 2;
System.out.println(updateNumber); //output : 4
}
}
所以在本例中,我可以正常地从(int)转换为(long)数据类型,因为(long)数据大小大于(int)。这与我试图将它从(short)转换为(int)时的情况相同。但是为什么我不能用这个概念把数据类型从(byte)转换成(short)??事件(短)的数据大小是否大于(字节)??
public class Main {
public static void main(Strings[] args) {
byte number = 2;
short updateNumber = number + 2;
System.out.println(updateNumber); //output : Error
}
}
我想就是这样。。很抱歉给你添麻烦,谢谢你。呵呵。。
1条答案
按热度按时间xv8emn3q1#
当我们加上两个
byte
类型变量或byte
类型变量int
将结果自动转换(隐式转换)到的类型变量int
. 因此,如果要将加法结果赋给一个短类型变量,编译器会给出错误。而您可以通过显式转换将它赋给short类型变量。
由于加法的结果可能会溢出,因为这里的数字变量值可以在运行时更改。所以,如果您将数字声明为final,并且数字的加法符合字节的范围,那么您就不需要执行显式转换,因为编译器将提前知道加法的结果是否可以由字节保存。