java中的除法運(yùn)算和取模運(yùn)算解讀
java除法運(yùn)算和取模運(yùn)算
A.除法運(yùn)算
a.含義及其語法
- 除法運(yùn)算就是被除數(shù)除以除數(shù)的這一過程
- 語法: 被除數(shù)/除數(shù)
- 注意:除數(shù)不能為0,且被除數(shù)和除數(shù)都得是數(shù)字
b.應(yīng)用場(chǎng)景
- 1.和取模運(yùn)算一起求出整型數(shù)字的每一位的數(shù)字,可以解決水仙花問題
- 2.已知天數(shù),求這是第幾周(默認(rèn)第一天為星期一)
c.怎么使用?
c.1被除數(shù)和除數(shù)皆為整型數(shù)據(jù)時(shí)
- 如果是整型數(shù)據(jù)進(jìn)行除法運(yùn)算,那么得到的結(jié)果就是被除數(shù)除以除數(shù)的結(jié)果,其結(jié)果必然是整型數(shù)據(jù).
- 如果除不盡,會(huì)把得到的小數(shù)部分直接抹去,抹去的時(shí)候不要考慮四舍五入的規(guī)則
示例代碼:
public class Test {
public static void main(String[] args) {
int a=19;
int b=2;
int c=a/b;
System.out.print("c的結(jié)果為: "+c);
}
}示例代碼運(yùn)行結(jié)果
如下圖所示:

c.1被除數(shù)和除數(shù)至少有一個(gè)為浮點(diǎn)型數(shù)據(jù)時(shí)
在除法運(yùn)算中,如果里面有浮點(diǎn)型數(shù)據(jù)參與的話,那么結(jié)果一定會(huì)是浮點(diǎn)類型的數(shù)據(jù),計(jì)算數(shù)值的話就按照我們平常小數(shù)和整數(shù)之間的除法計(jì)算去進(jìn)行計(jì)算即可。
結(jié)果會(huì)保留小數(shù)部分.
示例代碼如下:
public class Test {
public static void main(String[] args) {
double a=19;
int b=2;
double c=a/b;
System.out.print("c的結(jié)果為: "+c);
}
}示例代碼運(yùn)行截圖如下所示:

B.取模運(yùn)算(求余數(shù))
a.含義及其語法
- 取模運(yùn)算就是被除數(shù)除以除數(shù)后得到的余數(shù)
- 語法: 被除數(shù)%除數(shù)
- 注意:除數(shù)不能為0,且被除數(shù)和除數(shù)都得是數(shù)字
b.應(yīng)用場(chǎng)景
- 1.和除法運(yùn)算一起求出整型數(shù)字的每一位的數(shù)字,可以解決水仙花問題
- 2.已知天數(shù),求此時(shí)是星期幾(默認(rèn)第一天為星期一)
c.怎么使用??? c.1取模的核心思路如下所示:
設(shè)m為被除數(shù),n為除數(shù)
- 1.若m<n,取模運(yùn)算結(jié)果=余數(shù)=n;
- 2.若m=n,取模運(yùn)算結(jié)果=余數(shù)=0;
- 3.若m>n,取模運(yùn)算結(jié)果=m-n*最多次數(shù);
最多次數(shù)就是m能最多減去幾個(gè)n的次數(shù)(這時(shí)m不能再減,再減就會(huì)小于0了)
c.2 當(dāng)取模運(yùn)算兩邊都是整型數(shù)據(jù)時(shí)
結(jié)果=被除數(shù)-除數(shù)*最多次數(shù),此時(shí)結(jié)果為整型數(shù)據(jù)
示例代碼:
public class Test {
public static void main(String[] args) {
int a=19;
int b=2;
int c=a%b;
System.out.print("c的結(jié)果為: "+c);
}
}示例代碼運(yùn)行截圖如下所示:

c.3 取模運(yùn)算兩邊至少有一個(gè)為浮點(diǎn)型數(shù)據(jù)時(shí)
此時(shí)依然還是按照取模的核心思路,該思路不會(huì)受到數(shù)據(jù)類型(整型、浮點(diǎn)型)影響
結(jié)果=被除數(shù)-除數(shù)*最多次數(shù),此時(shí)結(jié)果要表示為浮點(diǎn)類型的數(shù)據(jù)
示例代碼如下:
public class Test {
public static void main(String[] args) {
double a=19;
int b=2;
double c=a%b;
System.out.print("c的結(jié)果為: "+c);
}
}示例代碼運(yùn)行截圖
如下所示
:
取模運(yùn)算 整數(shù)除運(yùn)算 +運(yùn)算
如果對(duì)負(fù)數(shù)取模,可以把模數(shù)負(fù)號(hào)忽略不記,如:5%-2=1。但被模數(shù)是負(fù)數(shù)則不可忽略。此外,取模運(yùn)算的結(jié)果不一定總是整數(shù)。
對(duì)于除號(hào)“/”,它的整數(shù)除和小數(shù)除是有區(qū)別的:整數(shù)之間做除法時(shí),只保留整數(shù)部分而舍棄小數(shù)部分。
例如:
int x=3510;x=x/1000*1000; x的結(jié)果是?3000 因?yàn)檎麛?shù)除的時(shí)候是被作為一個(gè)int類型的數(shù)據(jù),3500/1000 = 3
“+”除字符串相加功能外,還能把非字符串轉(zhuǎn)換成字符串.
例如:System.out.println("5+5="+5+5); //打印結(jié)果是?
l以下二者的區(qū)別:
System.out.println('*' + '\t' +'*');
System.out.println("*" + '\t' +'*');上面的char會(huì)直接計(jì)算unicode值。因?yàn)閏har類型數(shù)據(jù)運(yùn)算前會(huì)轉(zhuǎn)換成int類型進(jìn)行計(jì)算。
for(int i = 100 ; i <= 999 ;i++){
int n1 = i%10; //對(duì)10取模得到一個(gè)個(gè)位數(shù)。因?yàn)槿魏我粋€(gè)大于10的數(shù)對(duì)10取模得到就是個(gè)位數(shù)。比如34%10 = 4 ?商為3 余數(shù)是4
int n2 = i/10%10; ? //首先除以10 丟失個(gè)位數(shù)精度。
int n3 = i/100; ? ? ?//除以100丟失十位數(shù)和個(gè)位數(shù)精度。
if((n1*n1*n1 +n2*n2*n2 +n3*n3*n3) == i){
System.out.println("i = " + i + ", n1 = " + n1 + ", n2 = " + n2 + " , n3 = " +n3);
System.out.println(i);
}
}
}總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Mybatis-Plus updateById方法更新無效及空值處理過程
MyBatis-Plus的updateById默認(rèn)不更新null值以防止誤操作,可通過UpdateWrapper/LambdaUpdateWrapper顯式設(shè)置,或全局配置、注解@TableField允許字段更新為空,需根據(jù)業(yè)務(wù)場(chǎng)景選擇合適方式2025-07-07
Java中new與clone操作對(duì)象的比較方法舉例
這篇文章主要給大家介紹了關(guān)于Java中new與clone操作對(duì)象的比較方法,在java中對(duì)象的誕生是我們開發(fā)人員new出來的,對(duì)象的使用也是我們開發(fā)人員進(jìn)行操作的,需要的朋友可以參考下2024-07-07
mybatis動(dòng)態(tài)sql之Map參數(shù)的講解
今天小編就為大家分享一篇關(guān)于mybatis動(dòng)態(tài)sql之Map參數(shù)的講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-03-03
javabean servlet jsp實(shí)現(xiàn)分頁功能代碼解析
這篇文章主要為大家詳細(xì)解析了javabean servlet jsp實(shí)現(xiàn)分頁功能代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-09-09
SpringCloud?Gateway中GatewayFilterChain執(zhí)行流程詳解
Spring?Cloud?Gateway旨在為微服務(wù)架構(gòu)提供一種簡單有效的、統(tǒng)一的?API?路由管理方式。Spring?Cloud?Gateway?作為?Spring?Cloud?生態(tài)系中的網(wǎng)關(guān),它不僅提供統(tǒng)一的路由方式,并且基于?Filter?鏈的方式提供了網(wǎng)關(guān)基本的功能,例如:安全、監(jiān)控/埋點(diǎn)和限流等2022-10-10
SpringBoot根據(jù)注解動(dòng)態(tài)執(zhí)行類中的方法實(shí)現(xiàn)
本文主要介紹了SpringBoot根據(jù)注解動(dòng)態(tài)執(zhí)行類中的方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08

