五、java类型的转换

  1、自动类型转换

        java所有数值类型都支持数据类型转换,如果系统支持把某种数据类型赋值为另一种类型,这种叫做自动转换,把数值范围小的数值,转换为数值大的类型可以自动转换,转换为小的数据类型需要强制转换。

 

        byte a = 10;
        short b = a;
        int c = b;
        long d = c; //不会报错

2、强制类型转换

        上面的列子告诉我们自动类型转换系统可以自动转换如果大数据类型往小类型转换呢。

 int b = 100;
 byte a = (byte) b;

        如果baty  a = 100 转换为int类型没有问题,值不变,数据范围会增大,如果int b = 200转换为byte类型就会出问题int b 的值会发生改变,byte的最大数值就是127,转换后就会出现问题。

表达式的自动提升

  byte b = 100;
  byte a =  b-3;

        上面代码会报错,为什么呢,我们正常看来应该没有问题但是报错了,因为b-3,3系统默认的是int类型运算完后值会自动往上提升,变成int类型,以小的数据类型表示所以报错了。

         一个小的数值和大的数据类型做四则运算值会自动往上转换

        int b = 3;
        int a =  2;
        System.out.println(b/a);

上面的运算结果是1

为什么是1呢,因为b是int类型a也是int类型,运算的结果也是int类型,int类型是整型系统只会取整数部分1不会四舍五入小数部分就被舍去了,如果想要得到正确的内容需要把结果强制转换double类型。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值