Java中隐式转换和强制转换

  1. 隐式转换:
    取值范围小的数据,给取值范围大的类型赋值,可以直接赋值
    在这里插入图片描述
    小的数据类型,和大的数据类型运算,小的会提升为大的之后,进行运算;
    java byte a = 3; byte b = 4; byte c = (byte)(a+b);//必须加括号 System.out.println(c);
    byte short char 三种数据在运算的时候,不管是否有更高的数据类型,都会提升为int,然后在进行运算.
    java存在常量优化机制,会在编译的时候就会让3和4相加,懂判断7是否在byte范围之内 不在范围:编译出错 在范围:通过编译
    java byte d = 3 + 4; System.out.println(d);
    Long带L
    java long num1 = 123456789L;
    2. 强制转换:
    有风险,有可能会发生精度损失
    把一个数据范围大的数值或者变量赋值给另一个范围小的
    前面加上自己想转换的类型就OK
    记忆:比如把大水桶的水倒入小水桶中,就肯能会发生精度损失

猜你喜欢

转载自blog.csdn.net/qq_42073385/article/details/107698919