作为伪代码中的一个例子:
if ((a mod 2) == 0)
{
isEven = true;
}
else
{
isEven = false;
}
作为伪代码中的一个例子:
if ((a mod 2) == 0)
{
isEven = true;
}
else
{
isEven = false;
}
当前回答
来自@Cody的代码的替代方案:
使用模运算符:
bool isEven = (a % 2) == 0;
我认为这是比写if/else更好的代码,因为有更少的重复和未使用的灵活性。它确实需要更多的脑力来检查,但isEven的良好命名弥补了这一点。
其他回答
对于非负整数,可以使用余数运算符%,而不是语义略有不同的模运算符。具体的例子是:
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中,mod操作可以这样执行:
Math.floorMod(a, b)
注意: mod操作不同于余数操作。在Java中,剩余的操作可以这样执行:
a % b
下面是用最少的Java代码表示的伪代码;
boolean isEven = a % 2 == 0;
现在我将把它分解成各个部分。Java中的模运算符是百分比字符(%)。因此,取一个int % int返回另一个int。双等号(==)操作符用于比较值,例如一对int,并返回一个布尔值。然后将其分配给布尔变量'isEven'。根据运算符优先级,在比较之前计算模量。
模运算符是%(百分号)。为了测试均匀性或通常对2的幂做模运算,你也可以使用&(和运算符),比如isEven = !(a & 1)。