让我们先看一段代码:
public class Division_remainder {
public static void main(String[] args) {
int a = 13 / 5;
int b = 13 % 5;
int c = 5 / 13;
int d = 5 % 13;
int e = 13 / -5;
int f = -13 / 5;
int h = -13 % 5;
int j = 13 % -5;
System.out.println(a + "," + b);
System.out.println(c + "," + d);
System.out.println(e + "," + f);
System.out.println(h + "," + j);
}
结果为:
2 ,3
0 ,5
-2,-2
-3,3
再来一个一个分析:
a = 13 / 5,a = 2,其实就是数学上的13 / 5 ,结果为2。
b = 13 % 5,b = 3,这也是数学上的运算,得出余数为3。
c = 5 / 13,c = 0,因为被除数小于除数,结果可以看成0.x,但是int类型是整数类型,所以结果只为0。
d = 5 % 13,d = 5, 数学上规定:如果被除数比除数小,商是0,余数就是被除数本身 。
e和f不用说了,结果都为-2。
但是h和j怎么是一个-3一个3呢, 因为取余运算的符号是根据第一个运算数决定的 ,-13 % 5结果是-3,而13 % -5结果则是3。
转载:
原文链接:https://blog.csdn.net/sinat_41152339/article/details/81054379