【发布时间】:2020-12-25 12:27:27
【问题描述】:
所以,实际上我还是 Java 编程语言的新手,还在学习转换数据类型所以在这种情况下,我在将 Byte 转换为 Short 时遇到了麻烦。你们能帮帮我吗??
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) 时的情况相同。但是为什么我不能使用这个概念将数据类型从(字节)转换为(短)?尽管 (short) 的数据大小大于 (byte)??
public class Main {
public static void main(Strings[] args) {
byte number = 2;
short updateNumber = number + 2;
System.out.println(updateNumber); //output : Error
}
}
我想就是这样..抱歉给您带来麻烦,谢谢您嘿嘿..
【问题讨论】:
-
因为加法是用数据类型
int(2是一个int字面量),而int大于short。同样为了使术语正确,这些示例中不涉及强制转换。 -
啊,我明白了.. 我认为这被称为隐式转换.. 和.. 啊.. 我明白了。如果大小更小,每个数学表达式(+,- 等)是否会将数据类型转换为`int`? @亨利