强制转换类型

来源:3-8 Java中运算符的优先级

慕粉1143151228

2017-08-01 12:08

public class HelloWlrld{

     public syatic void main (Sting [] args ){

            int m = 5;

            int n = 7;

            int x =( m*8/(n+2) ) %m; 

            System.out.println("m:" + m );

            System.out.println("n:" + n);

            System.out.println("x:" + x);

     }


}

其中int x = (m*8/(n+2)) % m

(m * 8 / ( n +2) )没有强制转换类型    应该为 double类型    为什么结果为int类型   不是double类型大于int类型不能自动转换类型吗?    我有点迷糊

写回答 关注

2回答

  • 慕仔7678733
    2017-08-01 13:12:43

    因为你定义了X是int型,所以得到的数据类型是int,计算的结果是有小数,但是X的数据类型是整形(int),所以系统舍弃了小数点。假如你定义

    int x=6,y=3;

    double z;

    z=x/y;

    System.out.println(z);

    得到的就是2.0,系统自动转换你定义的double类型

  • Sea_one
    2017-08-01 12:44:03

    因为m、n都是int型,除出来也是int类型

    慕粉1143... 回复慕仔7678...

    好的 谢谢

    2017-08-01 13:15:47

    共 3 条回复 >

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165168 学习 · 17581 问题

查看课程

相似问题