取余运算符是“%”它是一个双目运算符,它的操作数通常是正整数也可以是负数甚至是浮点数,如果负数参与此运算,则需要特别注意,对于整数,java的取余运算规则如下
我们提供的服务有:成都网站设计、网站建设、外贸网站建设、微信公众号开发、网站优化、网站认证、龙泉驿ssl等。为数千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的龙泉驿网站制作公司
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
首先在程序需要中对INT型变量/代表取整运行,注意区分它们的不同,而%只能用于整数,取余运算 5%13=5,5除以13商0余5。
java取余运算:
取余(或余数)运算符用 number1 除以 number2 (把浮点数四舍五入为整数),然后只返回余数作为 result。
通常取模运算也叫取余运算,他们都遵循处罚法则,返回结果都是余数;
Java中取余运算具有如下性质:对所有int数值a和所有非零int数值b满足:(a / b ) * b + (a % b) == a;
这意味着当取余操作返回一个非零的结果时。它与左操作数具有相同的正负符号。
整数之间的取模求余运算很好求,但几乎没有遇到过对负数进行取模求余,直接看下面代码:
Java代码
/**
*
* @author Logic
*
*/
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("-3%-2=" + -3%-2);
System.out.println("3%-2=" + 3%-2);
System.out.println("-3%2=" + -3%2);
}
}
/**
* Result
* -3%-2=-1
* 3%-2=1
* -3%2=-1
*/
java的取模运算支持类型:字符型(自然不包括负数)、字节型、短整型、整型、长整型、单精度浮点型、双精度浮点型。
取余是一个比较常见的运算,在各种编程语言中均有相应的运算符(Java/C的%, Pascal/Delphi的mod等等)。Java取余运算符 (%)一个表达式的值除以另一个表达式的值,返回余数。
result = number1 % number2
参数:result 任何变量。number1 任何数值表达式。number2 任何数值表达式。
public class time
{
system.out.println(89/24+"天"+89%24+"小时")
}
public static void main(String[] args) {
cutter(6, 3);
System.out.println(discuss + "===" + remainder);
}
private static double discuss; // 商
private static double remainder;// 余数
// 把两个数相减的方法 minuend:被减数 subtractor:减数
public static void cutter(double minuend, double subtractor) {
// 如果减数大于被减数 为余数赋值 return;
if (subtractor minuend) {
remainder = minuend;
return;
}
// 如果减数=被减数 为余数赋值 0 商数+1 返回
else if (subtractor == minuend) {
discuss++;
remainder = 0;
return;
}
// 如果都不满足 证明没除进 减去减数后在调用 cutter 方法
else {
discuss++;
cutter(minuend - subtractor, subtractor);
}
}