java中的除法運算和取模運算解讀
java除法運算和取模運算
A.除法運算
a.含義及其語法
- 除法運算就是被除數(shù)除以除數(shù)的這一過程
- 語法: 被除數(shù)/除數(shù)
- 注意:除數(shù)不能為0,且被除數(shù)和除數(shù)都得是數(shù)字
b.應用場景
- 1.和取模運算一起求出整型數(shù)字的每一位的數(shù)字,可以解決水仙花問題
- 2.已知天數(shù),求這是第幾周(默認第一天為星期一)
c.怎么使用?
c.1被除數(shù)和除數(shù)皆為整型數(shù)據(jù)時
- 如果是整型數(shù)據(jù)進行除法運算,那么得到的結(jié)果就是被除數(shù)除以除數(shù)的結(jié)果,其結(jié)果必然是整型數(shù)據(jù).
- 如果除不盡,會把得到的小數(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); } }
示例代碼運行結(jié)果
如下圖所示:
c.1被除數(shù)和除數(shù)至少有一個為浮點型數(shù)據(jù)時
在除法運算中,如果里面有浮點型數(shù)據(jù)參與的話,那么結(jié)果一定會是浮點類型的數(shù)據(jù),計算數(shù)值的話就按照我們平常小數(shù)和整數(shù)之間的除法計算去進行計算即可。
結(jié)果會保留小數(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); } }
示例代碼運行截圖如下所示:
B.取模運算(求余數(shù))
a.含義及其語法
- 取模運算就是被除數(shù)除以除數(shù)后得到的余數(shù)
- 語法: 被除數(shù)%除數(shù)
- 注意:除數(shù)不能為0,且被除數(shù)和除數(shù)都得是數(shù)字
b.應用場景
- 1.和除法運算一起求出整型數(shù)字的每一位的數(shù)字,可以解決水仙花問題
- 2.已知天數(shù),求此時是星期幾(默認第一天為星期一)
c.怎么使用??? c.1取模的核心思路如下所示:
設m為被除數(shù),n為除數(shù)
- 1.若m<n,取模運算結(jié)果=余數(shù)=n;
- 2.若m=n,取模運算結(jié)果=余數(shù)=0;
- 3.若m>n,取模運算結(jié)果=m-n*最多次數(shù);
最多次數(shù)就是m能最多減去幾個n的次數(shù)(這時m不能再減,再減就會小于0了)
c.2 當取模運算兩邊都是整型數(shù)據(jù)時
結(jié)果=被除數(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); } }
示例代碼運行截圖如下所示:
c.3 取模運算兩邊至少有一個為浮點型數(shù)據(jù)時
此時依然還是按照取模的核心思路,該思路不會受到數(shù)據(jù)類型(整型、浮點型)影響
結(jié)果=被除數(shù)-除數(shù)*最多次數(shù),此時結(jié)果要表示為浮點類型的數(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); } }
示例代碼運行截圖
如下所示
:
取模運算 整數(shù)除運算 +運算
如果對負數(shù)取模,可以把模數(shù)負號忽略不記,如:5%-2=1。但被模數(shù)是負數(shù)則不可忽略。此外,取模運算的結(jié)果不一定總是整數(shù)。
對于除號“/”,它的整數(shù)除和小數(shù)除是有區(qū)別的:整數(shù)之間做除法時,只保留整數(shù)部分而舍棄小數(shù)部分。
例如:
int x=3510;x=x/1000*1000; x的結(jié)果是?3000 因為整數(shù)除的時候是被作為一個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會直接計算unicode值。因為char類型數(shù)據(jù)運算前會轉(zhuǎn)換成int類型進行計算。
for(int i = 100 ; i <= 999 ;i++){ int n1 = i%10; //對10取模得到一個個位數(shù)。因為任何一個大于10的數(shù)對10取模得到就是個位數(shù)。比如34%10 = 4 ?商為3 余數(shù)是4 int n2 = i/10%10; ? //首先除以10 丟失個位數(shù)精度。 int n3 = i/100; ? ? ?//除以100丟失十位數(shù)和個位數(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é)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
JAVA調(diào)用Deepseek的api完成基本對話簡單代碼示例
這篇文章主要介紹了JAVA調(diào)用Deepseek的api完成基本對話的相關資料,文中詳細講解了如何獲取DeepSeek?API密鑰、添加HTTP客戶端依賴、創(chuàng)建HTTP請求并使用示例代碼來對接DeepSeek?API,需要的朋友可以參考下2025-02-02MybatisPlus lambdaQueryWrapper中常用方法的使用
本文主要介紹了MybatisPlus lambdaQueryWrapper中常用方法的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-07-07Java Web 實現(xiàn)QQ登錄功能一個帳號同一時間只能一個人登錄
對于一個帳號在同一時間只能一個人登錄,下文給大家介紹的非常詳細,對java web qq 登錄功能感興趣的朋友一起看看吧2016-11-11java通過Arrays.sort(int[] a)實現(xiàn)由大到小排序的方法實現(xiàn)
Java中的Arrays.sort()方法是一種內(nèi)置的排序方法,用于對數(shù)組進行排序,本文就來介紹一下java中的Arrays.sort()排序方法的用法,具有一定的參考價值,感興趣的可以了解一下2023-12-12Spring Boot Gradle發(fā)布war到tomcat的方法示例
本篇文章主要介紹了Spring Boot Gradle發(fā)布war到tomcat的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-03-03SpringCloud網(wǎng)關組件Gateway原理深度解析
Spring Cloud Gateway是Spring Cloud微服務生態(tài)下的網(wǎng)關組件,一些基礎的請求預處理的邏輯可以統(tǒng)一實現(xiàn)在網(wǎng)關這一層,這樣業(yè)務服務只需要專注于處理業(yè)務邏輯即可,所以本文就帶大家深度解析網(wǎng)關組件Gateway,需要的朋友可以參考下2023-07-07Spring Boot從Controller層進行單元測試的實現(xiàn)
這篇文章主要介紹了Spring Boot從Controller層進行單元測試的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-04-04