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