您好,登錄后才能下訂單哦!
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
示例代碼:
public class Division_remainder { public static void main(String[] args) { int a = 13 / 5; int b = 13 % 5; int c = 5 / 13; int d = 5 % 13; int e = 13 / -5; int f = -13 / 5; int h = -13 % 5; int j = 13 % -5; System.out.println(a + "," + b); System.out.println(c + "," + d); System.out.println(e + "," + f); System.out.println(h + "," + j); }
結果為:
2,3
0,5
-2,-2
-3,3
再來一個一個分析:
a = 13 / 5,a = 2,其實就是數學上的13 / 5 ,結果為2。
b = 13 % 5,b = 3,這也是數學上的運算,得出余數為3。
c = 5 / 13,c = 0,因為被除數小于除數,結果可以看成0.x,但是int類型是整數類型,所以結果只為0。
d = 5 % 13,d = 5,數學上規定:如果被除數比除數小,商是0,余數就是被除數本身。
e和f不用說了,結果都為-2。
但是h和j怎么是一個-3一個3呢,因為取余運算的符號是根據第一個運算數決定的,-13 % 5結果是-3,而13 % -5結果則是3。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。