""x""为什么结果显示为"4"主要是这条语句""int x=(m*8/(n+2))%m;"没看明白"
public class HelloWorld {
public static void main(String[] 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 m = 5;
int n = 7;
int x=(m*8/(n+2))%m;
有括号先算括号里的内容,和数学里的算法顺序一样。先算(n+2)=9,再算m*8=40,再算m*8/(n+2)=4,除法取商;再算(m*8/(n+2))%m=4,%表示除法取余数。
m*8=40
40/9=4(取整)
4%5=4(求余数)
/是取商
m*8=40;
40/9=4;取整
4%5=4;取余
5*8/9)%5=(40/9)%5=4%5=4
40/9=4.4444,因为定义的是整数型所以运算结果只取4整数。
4%5=0余4,所以运算结果是4.