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

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

当前回答

对于非负整数,可以使用余数运算符%,而不是语义略有不同的模运算符。具体的例子是:

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

这可以简化为一行代码:

isEven = (a % 2) == 0;

其他回答

在使用'remainder'操作符%之前,您应该检查规范:

http://java.sun.com/docs/books/jls/third_edition/html/expressions.html#15.17.3

// bad enough implementation of isEven method, for fun. so any worse?
boolean isEven(int num)
{
    num %= 10;
    if(num == 1)
       return false;
    else if(num == 0)
       return true;
    else
       return isEven(num + 2);
}
isEven = isEven(a);

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

在不使用模运算的情况下,代码运行得更快:

public boolean isEven(int a){
    return ( (a & 1) == 0 );
}

public boolean isOdd(int a){
    return ( (a & 1) == 1 );
}

来自@Cody的代码的替代方案:

使用模运算符:

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

我认为这是比写if/else更好的代码,因为有更少的重复和未使用的灵活性。它确实需要更多的脑力来检查,但isEven的良好命名弥补了这一点。

另外,mod可以这样使用:

int a = 7;
b = a % 2;

B等于1。因为7% 2 = 1。