作为伪代码中的一个例子:
if ((a mod 2) == 0)
{
isEven = true;
}
else
{
isEven = false;
}
作为伪代码中的一个例子:
if ((a mod 2) == 0)
{
isEven = true;
}
else
{
isEven = false;
}
当前回答
下面是用最少的Java代码表示的伪代码;
boolean isEven = a % 2 == 0;
现在我将把它分解成各个部分。Java中的模运算符是百分比字符(%)。因此,取一个int % int返回另一个int。双等号(==)操作符用于比较值,例如一对int,并返回一个布尔值。然后将其分配给布尔变量'isEven'。根据运算符优先级,在比较之前计算模量。
其他回答
对于非负整数,可以使用余数运算符%,而不是语义略有不同的模运算符。具体的例子是:
if ((a % 2) == 0)
{
isEven = true;
}
else
{
isEven = false;
}
这可以简化为一行代码:
isEven = (a % 2) == 0;
在Java中,它是%操作符: 15.17.3. 剩余运算符%
注意,在java.lang.Math类中还有floorMod,对于不同符号的参数,它会给出与%不同的结果:
floorMod (int x, int y)
在Java中,mod操作可以这样执行:
Math.floorMod(a, b)
注意: mod操作不同于余数操作。在Java中,剩余的操作可以这样执行:
a % b
虽然可以通过检查值是否为负并纠正它(许多人建议的方法)来进行适当的模运算,但还有一个更紧凑的解决方案。
(a % b + b) % b
这将首先进行模运算,将值限制在-b -> +b范围内,然后加上b以确保值为正,让下一个模运算将其限制在0 -> b范围内。
注:如果b为负数,结果也是负数
Java中的余数运算符是%,取模运算符可以表示为
public int mod(int i, int j)
{
int rem = i % j;
if (j < 0 && rem > 0)
{
return rem + j;
}
if (j > 0 && rem < 0)
{
return rem + j;
}
return rem;
}