取余运算符是“%”它是一个双目运算符,它的操作数通常是正整数也可以书负数甚至是浮点数,如果负数参与此运算,则需要特别注意,对于整数,java的取余运算规则如下

a%b=a-(a/b)*b

例如

5%3=5-(5/3)*3=2

5%-3=5-(5/-3)*-3=2

-5%3=-5-(-5/3)*3=-2

-5%-3=-5-(-5/-3)*-3=-2

如果操作数中有浮点数则采用的规则为

a%b=a-(b*q),这里q=int(a/b)

5.2%3.1=5.2-1*3.1=2.1

5.2%-3.1=5.2-(-1)*(-3.1)=2.1

-5.2%3.1=-5.1-(-1)*3.1=-2.1

-5.2%-3.1=-5.1-(-1)*(-3.1)=-2.1

求余

System.out.println(11%2); //顾名思义就是11除2的余数–>1

System.out.println(11%-2); //结果–>1

System.out.println(-11%2); //结果–>-1

System.out.println(-11%-2); //结果–>-1

求余的正负号说明:

主要是取决于前面一个数是正数还是负数,不管后面数