千鋒扣丁學(xué)堂Java培訓(xùn)之取整(/)和求余(%)詳解
2019-08-14 15:23:02
4346瀏覽
今天千鋒扣丁學(xué)堂Java培訓(xùn)老師給大家分享一篇關(guān)于取整(/)和求余(%)的詳細(xì)介紹,文中通過示例代碼介紹的非常詳細(xì),下面我們一起來看一下吧。
1.取整運(yùn)算符
取整從字面意思理解就是被除數(shù)到底包含幾個(gè)除數(shù),也就是能被整除多少次,那么它有哪些需要注意的地方呢?先看下面的兩端代碼:
int a = 10;
int b = 3;
double c= a / b;
System.out.println(c);
第一段代碼的運(yùn)行結(jié)果是3.0,其中doublec=a/b;//c=(10/3)=(double)3=3.0,這里面涉及到一個(gè)低精度到高精度的隱式裝換。
int a = 10;
int b = 3;
double c= (double)a / b;
System.out.println(c);
第二段代碼的運(yùn)行結(jié)果是3.3333333333333335,其中doublec=(double)a/b;等價(jià)于doublec=10.0/3.0;
減乘除計(jì)算,會(huì)先統(tǒng)一操作數(shù)的精度,其規(guī)則是先統(tǒng)一成精度高的數(shù)。
double型/int型、int型/double型,最后都轉(zhuǎn)成double型/double型。
2.求余運(yùn)算符
取余運(yùn)算符是%是一個(gè)雙目運(yùn)算符,它的操作數(shù)通常是正整數(shù)也可以是負(fù)數(shù)甚至是浮點(diǎn)數(shù),如果負(fù)數(shù)參與此運(yùn)算,則結(jié)果的正負(fù)取決于前面一個(gè)數(shù)是整數(shù)還是負(fù)數(shù)。
對(duì)于整數(shù),java的取余運(yùn)算規(guī)則如下
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
如果操作數(shù)中有浮點(diǎn)數(shù)則采用的規(guī)則為
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
-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);
}
結(jié)果為:
2,3
0,5
-2,-2
-3,3
再來一個(gè)一個(gè)分析:
a=13/5,a=2,其實(shí)就是數(shù)學(xué)上的13/5,結(jié)果為2。
b=13%5,b=3,這也是數(shù)學(xué)上的運(yùn)算,得出余數(shù)為3。
c=5/13,c=0,因?yàn)楸怀龜?shù)小于除數(shù),結(jié)果可以看成0.x,但是int類型是整數(shù)類型,所以結(jié)果只為0。
d=5%13,d=5,數(shù)學(xué)上規(guī)定:如果被除數(shù)比除數(shù)小,商是0,余數(shù)就是被除數(shù)本身。
e和f不用說了,結(jié)果都為-2。
但是h和j怎么是一個(gè)-3一個(gè)3呢,因?yàn)槿∮噙\(yùn)算的符號(hào)是根據(jù)第一個(gè)運(yùn)算數(shù)決定的,-13%5結(jié)果是-3,而13%-5結(jié)果則是3。
以上就是關(guān)于千鋒扣丁學(xué)堂Java培訓(xùn)之取整(/)和求余(%)的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,
想要了解更多內(nèi)容的小伙伴可以登錄扣丁學(xué)堂官網(wǎng)咨詢。想要學(xué)好Java開發(fā)小編給大家推薦口碑良好的扣丁學(xué)堂,扣丁學(xué)堂有專業(yè)老師制定的Java學(xué)習(xí)路線圖輔助學(xué)員學(xué)習(xí),此外還有與時(shí)俱進(jìn)的Java課程體系和Java視頻教程供大家學(xué)習(xí),想要學(xué)好Java開發(fā)技術(shù)的小伙伴快快行動(dòng)吧??鄱W(xué)堂Java技術(shù)交流群:850353792。
【關(guān)注微信公眾號(hào)獲取更多學(xué)習(xí)資料】 【掃碼進(jìn)入JavaEE/微服務(wù)VIP免費(fèi)公開課】
查看更多關(guān)于“Java開發(fā)資訊”的相關(guān)文章>>
標(biāo)簽:
Java培訓(xùn)
Java視頻教程
Java多線程
Java面試題
Java學(xué)習(xí)視頻
springBoot項(xiàng)目