您好,欢迎来到化拓教育网。
搜索
您的当前位置:首页类型转换s+=1剖析

类型转换s+=1剖析

来源:化拓教育网

类型转换面试题

1.short s = 1; s = s + 1;
2.short s = 1; s += 1;

分析

  • 第一个行代码在编译时期就会报错,s属于short类型,当和1做加法是,由于 1是默认类型int,所以会自动提升数据类型,加法结果是一个int类型,然后赋值给一个short,所以会丢失精度。
  • 第二行代码在编译器编译完成的结果如下:
    public static void main(String[] args)
    {
        short s = 1;
        s = (short)(s + 1);
        System.out.println(s);
    }
    
    在编译时期就将类型进行了强制转换,所以不会报错,但是依旧会存在精度丢失的问题。

Copyright © 2019- huatuo9.cn 版权所有 赣ICP备2023008801号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务