Java类型转换详解
Java类型转换详解
最近有同学问:自动类型转换老是记不住,到底是大转小,还是小转大
其实这个不用死记硬背,很好理解,我们拿 int 和 short 来举例:
int 是 4 字节,也就是 32 bit,所以 int 的范围在 [-231,231-1] 也就是大概 [-21亿,21亿]
short 是 2 字节,也就是 16 bit,所以 short 的范围在 [-215,215-1] 也就是 [-32768,32767]
所以我们可以很明显的发现一个问题,short 转 int 是无论如何都不会超出范围的
既然不会超出范围,当然语言就可以自动为我们进行转化
如果 int 转 short 则需要强转,也就是:
public static void main(String[] args) {
short a = 1;
int b = 2;
short c = (short) (a + b);
}
如果 c 是 int 类型的则不需要强转,语言实现了自动转换
public static void main(String[] args) {
short a = 1;
int b = 2;
int c = a + b;
}
放在子类和父类中,这个关系依然成立(自动向上转型)
子类可以自动向上转为父类,但是父类转为子类的话就需要强转
本文作者:fengzeng
本文链接:https://www.cnblogs.com/Fzeng/p/16038587.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
分类:
Java
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步