 
		慕粉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类型不能自动转换类型吗? 我有点迷糊
 
				因为你定义了X是int型,所以得到的数据类型是int,计算的结果是有小数,但是X的数据类型是整形(int),所以系统舍弃了小数点。假如你定义
int x=6,y=3;
double z;
z=x/y;
System.out.println(z);
得到的就是2.0,系统自动转换你定义的double类型
 
				因为m、n都是int型,除出来也是int类型
Java入门第一季(IDEA工具)
1168088 学习 · 18754 问题
相似问题