Hellooo,long time |

fengzeng

园龄:4年10个月粉丝:17关注:5

Java类型转换详解

Java类型转换详解

最近有同学问:自动类型转换老是记不住,到底是大转小,还是小转大

其实这个不用死记硬背,很好理解,我们拿 intshort 来举例:

int4 字节,也就是 32 bit,所以 int 的范围在 [-231,231-1] 也就是大概 [-21亿,21亿]

short2 字节,也就是 16 bit,所以 short 的范围在 [-215,215-1] 也就是 [-32768,32767]

所以我们可以很明显的发现一个问题,shortint 是无论如何都不会超出范围的

既然不会超出范围,当然语言就可以自动为我们进行转化

如果 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 中国大陆许可协议进行许可。

posted @   fengzeng  阅读(57)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起