java中的取整(/)和求余(%)


1.取整運算符
取整從字面意思理解就是被除數到底包含幾個除數,也就是能被整除多少次,那么它有哪些需要注意的地方呢?
先看下面的兩端代碼:

int a = 10;  
int b = 3;  
double c= a / b;  
System.out.println(c);  

第一段代碼的運行結果是3.0, 其中double c = a / b;//c = (10/3) = (double)3 = 3.0,這里面涉及到一個低精度到高精度的隱式裝換。

int a = 10;  
int b = 3;  
double c= (double)a / b;  
System.out.println(c);  

第二段代碼的運行結果是3.3333333333333335,其中double c = (double)a / b;等價於double c= 10.0 / 3.0;
減乘除計算,會先統一操作數的精度,其規則是先統一成精度高的數。
double型/int型、int型/double型,最后都轉成double型/double型。

2.求余運算符

取余運算符是%是一個雙目運算符,它的操作數通常是正整數也可以是負數甚至是浮點數,如果負數參與此運算,則結果的正負取決於前面一個數是整數還是負數。
對於整數,java的取余運算規則如下

a%b=a-(a/b)*b 
5%3=5-(5/3)*3=2 
5%-3=5-(5/-3)*-3=2 
-5%3=-5-(-5/3)*3=-2 
-5%-3=-5-(-5/-3)*-3=-2 
如果操作數中有浮點數則采用的規則為 
a%b=a-(b*q),這里q=int(a/b) 
5.2%3.1=5.2-1*3.1=2.1 
5.2%-3.1=5.2-(-1)*(-3.1)=2.1 
-5.2%3.1=-5.1-(-1)*3.1=-2.1 
-5.2%-3.1=-5.1-(-1)*(-3.1)=-2.1 

http://blog.csdn.net/u011514810/article/details/52754157














免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM