作为伪代码中的一个例子:

if ((a mod 2) == 0)
{
    isEven = true;
}
else
{
    isEven = false;
}

当前回答

另一种方法是:

boolean isEven = false;
if((a % 2) == 0)
{
    isEven = true;
}

但最简单的方法仍然是:

boolean isEven = (a % 2) == 0;

就像郭怡广说的。

其他回答

正如其他人指出的那样,%(余数)操作符与数学上的操作符不同 模量运算/函数。

Mod vs % x mod n函数在[0,n)范围内将x映射到n。 而x % n操作符在(-n,n)范围内将x映射到n。

为了有办法用数学上的模运算和不运算 关心x前面的符号1可以用:

((x % n) + n) % n

也许这张图有助于更好地理解它(我一开始很难理解它)

Java实际上不像C语言那样有模运算符。%在Java中是一个余数运算符。对于正整数,它的工作原理与模运算完全相同,但它对负整数的工作原理不同,与模运算不同,它也可以用于浮点数。不过,除了正整数之外,很少在任何情况下使用%,所以如果您想称其为模,那么请随意!

下面是用最少的Java代码表示的伪代码;

boolean isEven = a % 2 == 0;

现在我将把它分解成各个部分。Java中的模运算符是百分比字符(%)。因此,取一个int % int返回另一个int。双等号(==)操作符用于比较值,例如一对int,并返回一个布尔值。然后将其分配给布尔变量'isEven'。根据运算符优先级,在比较之前计算模量。

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;
}

在Java中,mod操作可以这样执行:

Math.floorMod(a, b)

注意: mod操作不同于余数操作。在Java中,剩余的操作可以这样执行:

a % b