java中int和double的问题

java中int和double的问题如图,这是一个什么定义吗?
2025-05-05 11:17:37
推荐回答(2个)
回答1:

两个int的值作除法运算,得到的为int,而且,得到的值是直接去掉小数部分。
假如:
int i=1;j=3;i/j==0 返回的为true
同理,i/3==0 1/3==0 1/j==0都是返回为true
如果,double res=i/j 其返回的结果,不会是0.333...,而是0
如果你要得到为0.333...,则需要 res=((double)i)/j;
而你的

fReuslt=(int)((double)num1/num2)

则会先执行num1/num2,如果num1和num2都int,都到的结果最终会是int,这里假设num1=6,num2=5,则num1/num2==1 为true,而不是1.2,那么,再执行(double)res,这里的res就是num1/num2,故res=1,所以double之后仍然为1,而不是1.2

回答2:

int型除法下取整。1/5=0;double型乘法结果 0*5 = 0.0