Java中如何实现取模运算
小编给大家分享一下Java中如何实现取模运算,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
Java%(取模运算)
Java的取模运算
1.实现算法

publicstaticdoubleramainder(doubledividend,doubledividor){returndividend-dividend/dividor*dividor;}
2.java的取模运算支持类型:字符型(自然不包括负数)、字节型、短整型、整型、长整型、单精度浮点型、双精度浮点型.
C++的取模运算
算法同上
取模运算支持类型:字符型(不包括负数)、字节型、短整型、整型、长整型、布尔类型(除数不能为false,原因在C++中,true表示1,false表示0,自然除数不能为0;).
注意事项:奇偶判断
先看一段代码:
publicstaticvoidmain(String[]args){intarrs[]={2,1,0,-1,-2};for(inti=0;i<arrs.length;i++){System.out.println(arrs[i]+(arrs[i]%2==1?"是奇数":"是偶数"));}}
很显然是一段判断奇偶性的代码,但是结果可能大家都能看得出来.
2是偶数1是奇数0是偶数-1是偶数-2是偶数
为什么-1会是偶数呢? 原因就是取模运算的实现算法导致的.
System.out.println(arrs[i]+(arrs[i]%2==1?"是奇数":"是偶数"));//修改为:System.out.println(arrs[i]+(arrs[i]%2==0?"是偶数":"是奇数"));
给我一个警示:在以后的奇偶判断使用中,使用偶数进行判断代替使用奇数.
(同样的现象C++中也是一样)
编程语言中的%取模运算的本质探究
公式:a % b = a - a / b * b(对于a为正数)
如:
-10%3=>-10-(-10)/3*3=-10+9=-1
本质就是-10能够加减多少个3能最接近0,-10肯定要加三个3,就等于-1接近0
10%-3=>10-10/(-3)*(-3)=10-9=1
本质就是10加减多少-3能最接近0,10肯定要加三个-3,就等于1接近0
-10%-3=>-10-(-10)/(-3)*(-3)=-10+9=-1
本质就是-10能够加减多少个-3能最接近0,-10肯定要减三个-3,就等于-1接近0
当a为负数时:
公式:a - (int)a / b * b
如:
-10.5%3=-10.5-(-10)/3*3=-10.5+9=-1.5
以上是“Java中如何实现取模运算”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注恰卡编程网行业资讯频道!