java中除法和取余的区别_相除取整数

java中除法和取余的区别_相除取整数让我们先看一段代码:publicclassDivision_remainder{publicstaticvoidmain(String[]args){inta=13/5;intb=13%5;intc=5/13;intd=5%13;inte...

让我们先看一段代码:

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://javajgs.com/archives/209832
0

发表评论