0
点赞
收藏
分享

微信扫一扫

整数的除法产生一个浮点数

juneyale 2022-02-21 阅读 43

整数的除法产生一个浮点数


一、整数的除法产生一个浮点数

1、代码

    @Test
    void contextLoad17() {
        int a = 1;
        int b = 2;

        float f1 = a / b;
        float f2 = (float) a / b;
        float f3 = (float) (a / b * 1.0);
        float f4 = (float) (1.0 * a / b);

        System.out.println("发生了隐式转换" + f1);
        System.out.println("没发生隐式转换" + f2);
        System.out.println("运算无优先级时自左向右" + f3);
        System.out.println("运算无优先级时自左向右" + f4);
    }

2、结果

在这里插入图片描述

3、解析

  1. 两个操作数(1和2)是整数,因此使用整数算术(此处为除法)。将结果变量声明为float只会导致除法后发生隐式转换,整数除法会返回除法舍去小数点以后的真实结果。
    另外,请注意,如果两个操作数(数字)均以浮点数给出;1.0和2.0,甚至只是第一个,然后使用浮点运算,就可以得到0.5。
  2. 演员表的优先级高于分区,因此发生在分区之前。
    另一个操作数将由编译器自动有效地强制转换为浮点数,因为规则指出,如果另一个操作数为浮点型,则即使另一个操作数是整数,该操作也将是浮点运算。
举报

相关推荐

0 条评论