強制轉換類型
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類型不能自動轉換類型嗎? ? ?我有點迷糊
2017-08-01
因為你定義了X是int型,所以得到的數據類型是int,計算的結果是有小數,但是X的數據類型是整形(int),所以系統舍棄了小數點。假如你定義
int x=6,y=3;
double z;
z=x/y;
System.out.println(z);
得到的就是2.0,系統自動轉換你定義的double類型
2017-08-01
因為m、n都是int型,除出來也是int類型