%为取余(rem),Math.floorMod()为取模(mod)

取余取模有什么区别呢?

对于整型数a,b来说,取模运算或者取余运算的方法都是:

1.求 整数商: c = a/b;

2.计算模或者余数: r = a - c*b.

区别是:

取余运算在计算商值向0方向舍弃小数位

取模运算在计算商值向负无穷方向舍弃小数位

比如a=4,b=-3时,a/b = -1.3333...

此时,取余c=1,取模c=-2

(%在不同语言中有不同的意义,比如Java或者c/c++中%为取余,python中%则为取模)

%(取余)运算:

1、结果的符号:结果的符号与被除数的符号相同,例:x%y 中 为 x 的符号 (结果的绝对值与x、y都为正数时相同)

2、x%y 中如果 x < y 则结果为x

3、0%x 结果为 0

4、x%0 除0错误

Math.floorMod(x,y) (取模):

1、简单记忆:与y符号相同

2、x > y:结果的绝对值与 % 运算相同

3、x < y:①符号相同 结果的绝对值为 y - x ;②符号不同 结果的绝对值与 % 运算相同

符号对照

x

y

x%y

Math.floorMod(x,y)

-

+

-

+

+

-

+

-

-

-

-

-

+

+

+

+

补充知识:java.lang.Math

了解和记录一下math类的各种方法,以便以后查找

math.sin:求出sin值

math.cos:求出cos值

math.tan:求出tan值

sinθ=cosθ*tanθ

math.asin:根据sin值求角度

math.acos:根据cos值求角度

math.atan:根据tan值求角度

math.toRadians:根据角度求弧度

math.toDegree:根据弧度求角度

math.exp:E的X幂

math.log:以E为底的对数

math.log10:以10为底的对数

math.sqrt:x的二次方根

math.cbrt:x的三次方根

math.IEEEremainder:根据规定的两个参数计算剩余操作

*根据ieee 754标准。

math.ceil:返回最近的且大于的整数

math.floor:返回最近的且小于的整数

math.rint:返回最接近的整数,如果刚好居中,则取偶数

math.atan2:结果angel是一个弧度值,也可以表示相对直角三角形对角的角,其中 x 是临边边长,而 y 是对边边长,计算两点间连线的夹角.(3,3)和(5,5)和原点构成的线的夹角,math.atan2(3-5,3-5),计算出来是弧度值,再转成角度即可。

math.pow:x的y次幂

math.round:跟四舍五入很像,但是不是。小数点后等于5,取整数,正数,整数+1,负数,整数不变,大于5,整数部分+1,正负号不变,小于5,取整数

math.random:随机返回0-1之间的无符号double值

math.addExact:求int和long的和值,超过范围则抛异常

math.substractExact:求int和Long的差值,超出范围则抛异常

math.multiplyExact:求int和long的乘值,超出范围则抛异常

math.incrementExact:求int和long的+1值,超出范围则抛异常

math.decrementExact:求int和Long的-1值,超出范围则抛异常

math.negateExact:求int和long的取反值,超出范围则抛异常

math.toIntExact:求Long的int值,超出范围则抛异常

math.floorDiv:第一个参数除以第二参数,然后针对结果执行floor操作,返回小于或等于商的整数

math.floorMod: return x-floorDiv(x,y)*y;

math.abs:取绝对值

math.max:取最大值

math.min:取最小值

math.sinh:双曲正弦函数sinh(x)=(exp(x)-exp(-x))/2.0

math.cosh:双曲余弦函数cosh(x)=(exp(x)+exp(-x))/2.0

math.tanh:tanh(x)=sinh(x)/cosh(x)

以上这篇Java中 % 与Math.floorMod() 区别详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持猪先飞。

java mod %区别_Java中 % 与Math.floorMod() 区别详解相关推荐

  1. java 静态 编译_Java中的动态和静态编译实例详解

    Java中的动态和静态编译实例详解 首先,我们来说说动态和静态编译的问题. Q: java和javascript有什么区别? 总结了一下:有以下几点吧: 1.首先从运行环境来说java代码是在JVM上 ...

  2. java foreach标签_Java中Velocity foreach循环标签详解

    Java中Velocity foreach循环标签详解 Java Velocity中foreach循环可以很容易的遍历数组或者集合. 定义 #foreach( $elem in $allElems) ...

  3. java mod 函数的使用方法_Java中 % 与Math.floorMod() 区别详解

    %为取余(rem),Math.floorMod()为取模(mod) 取余取模有什么区别呢? 对于整型数a,b来说,取模运算或者取余运算的方法都是: 1.求 整数商: c = a/b; 2.计算模或者余 ...

  4. java.equal例子_Java中的== 和equals()方法详解与实例

    Java中的== 和equals()方法: Java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型. byte,short,char,int,long,float,double,boo ...

  5. java中迭代器要导包吗_java 中迭代器的使用方法详解

    java 中迭代器的使用方法详解 前言: 迭代器模式将一个集合给封装起来,主要是为用户提供了一种遍历其内部元素的方式.迭代器模式有两个优点:①提供给用户一个遍历的方式,而没有暴露其内部实现细节:②把元 ...

  6. java web json_java web中对json的使用详解

    一.在Java Web的开发过程中,如果希望调用Java对象转化成JSON对象等操作.则需要引入以下jar包,不然运行时则报错. 1.commons-beanutils.jar 2.commons-c ...

  7. java构造器详解_Java中关于构造器的使用详解

    这篇文章主要介绍了Java构造器使用方法及注意事项的相关资料,这里举例说明如何使用构造器及需要注意的地方,需要的朋友可以参考下 Java构造器使用方法及注意事项 超类的构造器在子类的构造器运行之前运行 ...

  8. java中 enum什么意思_Java中枚举Enum的使用详解

    在某些情况下,一个类的对象时有限且固定的,如季节类,它只有春夏秋冬4个对象这种实例有限且固定的类,在 Java 中被称为枚举类: 在 Java 中使用 enum 关键字来定义枚举类,其地位与 clas ...

  9. bio阻塞的缺点_java 中的 BIO/NIO/AIO 详解

    java 的 IO 演进之路 我们在前面学习了 linux 的 5 种 I/O 模型详解 下面我们一起来学习下如何使用 java 实现 BIO/NIO/AIO 这 3 种不同的网络 IO 模型编程. ...

最新文章

  1. 第一个使用计算机图形学术语,计算机图形学考题
  2. 高并发-【抢红包案例】之二:使用悲观锁方式修复红包超发的bug
  3. 单位根反演[loj6485]LJJ 学二项式定理
  4. 1.4 如何学习设计模式
  5. Linux中的同步机制
  6. LeetCode —— 链表相关(206、141)
  7. [置顶] android 与JavaScript的互相调用
  8. sqlite数据库下载安装和初步操作和所遇到的问题
  9. Java语言的八大优点
  10. (Network Analysis)graph centrality measures
  11. Java获取某年某月的第一天
  12. 结构化数据和非结构化数据有何区别?
  13. DSP从flash启动
  14. 由经纬度计算地球上任意两点的距离
  15. windows和linux下源码编译7-Zip(7za)
  16. 开发杂谈:后移动互联网时代我的一些思考
  17. ios研发Mini LED技术 iPad/MacBook尺寸将更大
  18. 实战七:手把手教你用TensorFlow进行验证码识别(上)
  19. iTOP-4418嵌入式开发板接口基本介绍
  20. 护眼灯真能保护眼睛吗?2022双十二买什么样的护眼灯对眼睛好

热门文章

  1. 我的第一个VUE示例
  2. 理解透彻--802.1d,802.1w,802.1s与802.1q
  3. 没有顶会的CV/NLP方向的博士生毕业出路在哪里?
  4. 4K P60 444 相关的事
  5. 容器LinkedList原理(学习)
  6. 北航云计算公开课 01 Introduction to Cloud Computing
  7. 教你一招---如何把桌面弄到D盘
  8. gtkorphan清理孤立软件包
  9. sim中do文件/memory(readmemb命令符)/移位编写
  10. centos在文本中搜索字符串_CentOS查找所有文件中某个字符串