Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中使用模运算符_Java_Modulo - Fatal编程技术网

在java中使用模运算符

在java中使用模运算符,java,modulo,Java,Modulo,我想问一下如何使用模运算,有没有人能告诉我如何使用if语句,为什么要使用[==0],但我们可以将模计算的值赋给另一个变量 为什么下面的代码可以工作 int number = 100; if(number % 2 == 0) { sout(number); } 为什么不使用if也能起作用 lastDigit = number % 10; 为什么下面的语句不起作用 if(number % 2) { sout (n

我想问一下如何使用模运算,有没有人能告诉我如何使用if语句,为什么要使用[==0],但我们可以将模计算的值赋给另一个变量

为什么下面的代码可以工作

     int number = 100;
        if(number % 2 == 0)
        {
             sout(number);
        }
为什么不使用if也能起作用

lastDigit = number % 10;
为什么下面的语句不起作用

if(number % 2)
{
sout (number);
}       

模运算符返回一个
int
,在这种情况下,它可以返回一个
double
long
,具体取决于操作数。
if
语句需要布尔值。因此,如果(数字%2)不能执行
,是因为没有布尔值。使用
if(数字%2==0)
检查模运算符的结果是否为零,这是一个布尔值

编号%2
是一个无法通过任何方式计算为布尔值的表达式

15.17.3. 余数运算符% 二进制%运算符被称为从隐含除法中产生其操作数的剩余部分;左手操作数是被除数,右手操作数是除数


你似乎认为模的意思是“x可以被y整除,没有余数”——它的意思是“如果我把x除以y,余数是多少”。如果你不使用IDE(比如IntelliJ或Eclipse),这将是一个很好的开始。在IntelliJ中,如果(1%2){}
显示错误,则此代码
显示不兼容类型。必需:boolean-Found:int
。Java中没有模运算符。这是余数运算符。精确地说,它可能重复,但并不总是
int
。如果操作数是这样的类型(或者至少有一个是这样的)@Andrew Tobilko,那么它可以是一个浮点数。太棒了!我应该明确指出,在这种情况下,这将是一个intIt,也可能是一个long。你的答案需要集中在这些方面。