qq_慕虎233714
2019-03-28 22:05
int x=(m*8/(n+2))%m;
你可以自己变化下代码,就会发现只有m和n都为int的时候会得到4的结果。如果m或n任意一个为double,结果就不是4,而是4.XXXXXXXXXX。。。
说明只有所有运算数字都是int,那么运算结果就会是int。如果任意一个不是int,则得出来的结果也不是int。
按照优先级顺5*8/9是同级,从左到右即可,按照数据类型取整,结果等于4,4%5=4,如果除数比被除数大,余数就为被除数,(前者为被除数)。
“/”这个是整除,结果取整数
int m=5,n=7;
int x =(m*8/(n+2))%m;可以看成
x=(5*8/(7+2))%5
x=(40/9)%5
//40除以9因为两个数都为integer,所以结果也是integer,只取整数等于4,
//4向5取余得4
Java入门第一季(IDEA工具)升级版
1165172 学习 · 17581 问题
相似问题