首页 / 知识
关于模:Java中mod的语法是什么
2023-04-17 00:14:00
What's the syntax for mod in java以伪代码为例:
对于非负整数,可以使用余数运算符
可以简化为单线:
这是用最少的Java代码表示的伪代码;
我现在将其分解为各个部分。 Java中的模运算符是百分比字符(%)。因此,采用int%int返回另一个int。双重等于(==)运算符用于比较值,例如一对整数,并返回布尔值。然后将其分配给布尔变量" isEven"。基于运算符优先级,将在比较之前评估模量。 由于其他所有人都已经给出了答案,因此我将添加一些其他上下文。 %"模数"运算符实际上正在执行余数运算。 mod和rem之间的区别很小,但很重要。 (-1 mod 2)通常会给出1。更具体地说,给定两个整数X和Y,操作(X mod Y)倾向于返回[0,Y)范围内的值。换句话说,X和Y的模量始终大于或等于零,并且小于Y。 用"%"或rem运算符执行相同的操作将保持X值的符号。如果X为负,则结果范围为(-Y,0];如果X为正,则结果范围为[0,Y)。 通常,这种微妙的区别并不重要。回到您的代码问题,但是,有多种解决"均匀性"的方法。 第一种方法特别适合初学者,因为它特别冗长。
第二种方法更好地利用了该语言,并导致了更简洁的代码。 (不要忘记==运算符返回一个布尔值。)
这里的第三种方法是完整性的,它使用三元运算符。尽管三元运算符通常非常有用,但在这种情况下,我认为第二种方法更好。
第四种也是最后一种方法是使用整数的二进制表示形式的知识。如果最低有效位为0,则数字为偶数。可以使用按位与运算符(&)进行检查。尽管这种方法最快(您正在执行简单的位掩码而不是除法),但对于初学者来说可能有点高级/复杂。
在这里,我使用了按位与运算符,并以选项2中所示的简洁形式表示它。将其重写为选项1的形式(以及选项3的形式),供读者练习。 ;) 希望能有所帮助。 要使Java的%(REM)操作像MOD一样对负X和正Y值起作用,可以使用以下方法:
或使用三元运算符(在某些情况下更短,但不可能或效率较低):
尽管可以通过检查该值是否为负来进行适当的取模,然后将其校正为负(许多人建议的方式),但还有一个更紧凑的解决方案。
这将首先进行模运算,将值限制在-b-> + b范围内,然后添加b以确保该值是正数,让下一个模数将其限制在0-> b范围内。 注意:如果b为负,结果也将为负 该代码运行更快,无需使用模数:
Java实际上没有C那样的模运算符。 Java中的%是余数运算符。在正整数上,它的工作方式与模数完全相同,但在负整数上的工作方式不同,并且与模数不同,它也可以使用浮点数。尽管如此,在除正整数以外的任何东西上都很少使用%,因此,如果您想将它称为模数,那就放心吧!
您应该在使用"余数"运算符%之前检查规格: http://java.sun.com/docs/books/jls/third_edition/html/expressions.html#15.17.3
在Java中,它是
请注意,在
另外,mod可以这样使用:
Java中的余数运算符是
另一种方法是:
但最简单的方法仍然是:
就像@Steve Kuo所说的那样。
正如其他人指出的那样,
为了有一种方法可以使用数学模运算而不是
也许这张照片有助于更好地理解它(我很难把头放在这上面)
在
注意:
模运算符为%(百分号)。要测试均匀性或通常对2的幂进行模运算,还可以使用&(the和运算符),例如isEven =!(a&1)。 @Cody的代码的替代方法: 使用模运算符:
我认为这比编写if / else稍好一些,因为重复和未使用的灵活性更少。要检查它确实需要更多的脑力,但是 |
最新内容
相关内容
linux中常用命令语法?
linux中常用命令语法?,工作,地址,系统,信息,目录,标准,基础,命令,文件,常用命令,Linux常用命令linux系统常用操作命令如下:ls:全拼list,功能是列在Python培训中有哪些必学的运算符
在Python培训中有哪些必学的运算符?,项目,培训,数字,变量,赋值,符号,两个,表示,数学,示例,不论是Python还是其他后端编程语言,都少不了运算符的python的with 语法块
python的with 语法块,代码,异常,培训,文件,语法,操作,内容,资源,上下文,好处,在Python开发中,我们经常会使用到with语法块,例如在读写文件时,保Python语法编程
Python语法编程,代码,平台,环境,语言,工作,灵活,人员,培训,机器,指令,1,什么是编程?为什么要编程?答:编程是个动词,编程就等于写代码,那么写代码Python 运算符
Python 运算符,名字,培训,顺序,赋值,优先级,算术,圆括号,逻辑,身份,成员,算术运算符:+,-,*,/,%,**,//赋值运算符:=,+=,-=,*=,/=,%=,**=比较运算符:==,!=,>,=,成员找不出python的语法错误该如何解决
找不出python的语法错误该如何解决?,代码,分析,项目,培训,错误,语法错误,结果,文件,语法,环节,python是一种解释型语言,在开发中,没有了编译这python整数怎么表达
python整数怎么表达,基础,数字,培训,整数,布尔,变量,复数,赋值,等号,右边,pythonint有多种数字类型:整型int、长整型、布尔型bool、浮点数floapython中整数怎么定义
python中整数怎么定义,基础,数据,培训,数字,整数,赋值,布尔,变量,定义,复数,pythonint有多种数字类型:整型int、长整型、布尔型bool、浮点数flpythonjava语法区别有哪些
pythonjava语法区别有哪些,名称,培训,数字,数据,能存,标准,数据类型,语法,字符串,分号,1、变量java中定义变量,inta=0;而python中为a=0;由此可python语法是什么意思
python语法是什么意思,基础,培训,数据,函数,语法,定义,文件,语句,关键字,方式,python的语法就是编写python程序时需要遵循的一些规则,以及一些pythonpython2和3语法区别
pythonpython2和3语法区别,数字,培训,字符串,平台,函数,类型,语法,区别,对象,整数,以下是Python2和Python3中的一些语法差异,有需要的小伙伴可pythonreturn语法错误怎么解决
pythonreturn语法错误怎么解决,培训,函数,语法错误,字符串,数值,使用说明,语句,定义,对象,以上,return语句是python语言中函数返回的一个值,每