java中的除法運(yùn)算和取模運(yùn)算解讀
java除法運(yùn)算和取模運(yùn)算
A.除法運(yùn)算
a.含義及其語(yǔ)法
- 除法運(yùn)算就是被除數(shù)除以除數(shù)的這一過(guò)程
- 語(yǔ)法: 被除數(shù)/除數(shù)
- 注意:除數(shù)不能為0,且被除數(shù)和除數(shù)都得是數(shù)字
b.應(yīng)用場(chǎng)景
- 1.和取模運(yùn)算一起求出整型數(shù)字的每一位的數(shù)字,可以解決水仙花問(wèn)題
- 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ǔ)法
- 取模運(yùn)算就是被除數(shù)除以除數(shù)后得到的余數(shù)
- 語(yǔ)法: 被除數(shù)%除數(shù)
- 注意:除數(shù)不能為0,且被除數(shù)和除數(shù)都得是數(shù)字
b.應(yīng)用場(chǎng)景
- 1.和除法運(yùn)算一起求出整型數(shù)字的每一位的數(shù)字,可以解決水仙花問(wèn)題
- 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)文章
JAVA調(diào)用Deepseek的api完成基本對(duì)話簡(jiǎn)單代碼示例
這篇文章主要介紹了JAVA調(diào)用Deepseek的api完成基本對(duì)話的相關(guān)資料,文中詳細(xì)講解了如何獲取DeepSeek?API密鑰、添加HTTP客戶端依賴、創(chuàng)建HTTP請(qǐng)求并使用示例代碼來(lái)對(duì)接DeepSeek?API,需要的朋友可以參考下2025-02-02MybatisPlus lambdaQueryWrapper中常用方法的使用
本文主要介紹了MybatisPlus lambdaQueryWrapper中常用方法的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07Springboot Thymeleaf字符串對(duì)象實(shí)例解析
這篇文章主要介紹了Springboot Thymeleaf字符串對(duì)象實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2007-09-09Java Web 實(shí)現(xiàn)QQ登錄功能一個(gè)帳號(hào)同一時(shí)間只能一個(gè)人登錄
對(duì)于一個(gè)帳號(hào)在同一時(shí)間只能一個(gè)人登錄,下文給大家介紹的非常詳細(xì),對(duì)java web qq 登錄功能感興趣的朋友一起看看吧2016-11-11Java遍歷Properties所有元素的方法實(shí)例
這篇文章主要介紹了Java如何遍歷Properties所有元素的方法,大家可以參考使用2013-11-11java通過(guò)Arrays.sort(int[] a)實(shí)現(xiàn)由大到小排序的方法實(shí)現(xiàn)
Java中的Arrays.sort()方法是一種內(nèi)置的排序方法,用于對(duì)數(shù)組進(jìn)行排序,本文就來(lái)介紹一下java中的Arrays.sort()排序方法的用法,具有一定的參考價(jià)值,感興趣的可以了解一下2023-12-12Spring Boot Gradle發(fā)布war到tomcat的方法示例
本篇文章主要介紹了Spring Boot Gradle發(fā)布war到tomcat的方法示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03SpringCloud網(wǎng)關(guān)組件Gateway原理深度解析
Spring Cloud Gateway是Spring Cloud微服務(wù)生態(tài)下的網(wǎng)關(guān)組件,一些基礎(chǔ)的請(qǐng)求預(yù)處理的邏輯可以統(tǒng)一實(shí)現(xiàn)在網(wǎng)關(guān)這一層,這樣業(yè)務(wù)服務(wù)只需要專注于處理業(yè)務(wù)邏輯即可,所以本文就帶大家深度解析網(wǎng)關(guān)組件Gateway,需要的朋友可以參考下2023-07-07Spring Boot從Controller層進(jìn)行單元測(cè)試的實(shí)現(xiàn)
這篇文章主要介紹了Spring Boot從Controller層進(jìn)行單元測(cè)試的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04