java中的取余運算和取模運算(java取模和取余的區別)

本文目錄一覽:

關於java取模和取余問題

整型,放心,如果你的除數與被除數都是整型,得到的結果不會是小數,也就是5/3=1:7/5=1這就是取模了

取模運算的取余運算區別

對於整型數a,b來說,取模運算或者求余運算的方法都是:

1.求 整數商: c = a/b;

2.計算模或者餘數: r = a – c*b.

求模運算和求余運算在第一步不同: 取余運算在取c的值時,向0 方向舍入(fix()函數);而取模運算在計算c的值時,向負無窮方向舍入(floor()函數)。

例如:計算-7 Mod 4

那麼:a = -7;b = 4;

第一步:求整數商c,如進行求模運算c = -2(向負無窮方向舍入),求余c = -1(向0方向舍入);

第二步:計算模和餘數的公式相同,但因c的值不同,求模時r = 1,求余時r = -3。

歸納:當a和b符號一致時,求模運算和求余運算所得的c的值一致,因此結果一致。

當符號不一致時,結果不一樣。求模運算結果的符號和b一致,求余運算結果的符號和a一致。

另外各個環境下%運算符的含義不同,比如c/c++,java 為取余,而python則為取模。

如何使用JAVA語言取模,取余?

整數之間的取模求余運算很好求,但幾乎沒有遇到過對負數進行取模求余,直接看下面代碼:

Java代碼

/**

*

* @author Logic

*

*/

public class Test {

public static void main(String[] args) {

// TODO Auto-generated method stub

System.out.println(“-3%-2=” + -3%-2);

System.out.println(“3%-2=” + 3%-2);

System.out.println(“-3%2=” + -3%2);

}

}

/**

* Result

* -3%-2=-1

* 3%-2=1

* -3%2=-1

*/

java的取模運算支持類型:字符型(自然不包括負數)、字節型、短整型、整型、長整型、單精度浮點型、雙精度浮點型。

取余是一個比較常見的運算,在各種編程語言中均有相應的運算符(Java/C的%, Pascal/Delphi的mod等等)。Java取余運算符 (%)一個表達式的值除以另一個表達式的值,返回餘數。

result = number1 % number2

參數:result 任何變量。number1 任何數值表達式。number2 任何數值表達式。

java中取余運算符 (%)

首先在程序需要中對INT型變量/代表取整運行,注意區分它們的不同,而%只能用於整數,取余運算 5%13=5,5除以13商0餘5。

java取余運算:

取余(或餘數)運算符用 number1 除以 number2 (把浮點數四捨五入為整數),然後只返回餘數作為 result。

通常取模運算也叫取余運算,他們都遵循處罰法則,返回結果都是餘數;

Java中取余運算具有如下性質:對所有int數值a和所有非零int數值b滿足:(a / b ) * b + (a % b) == a;

這意味着當取余操作返回一個非零的結果時。它與左操作數具有相同的正負符號。

java取模運算

如圖,結果分別是1,1,-1,-1

按照我的理解,a%b的結果c就是在(-|b|,|b|)內的a+kb值,k是整數,c的正負取決於a的正負

JAVA取模,取余問題

/斜杠計算,只取整數部分,你只要把那個值算出來比如,2/5得到0.4那邊取整數,即0;%取余,只要你把能整除指定數的那部分劃掉,剩下的就是餘數,比如,2%5取余,因為沒有可以整除5的那部分,就不管了,那麼只剩下2,即餘數是2

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/279745.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-20 15:05
下一篇 2024-12-20 15:05

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Python中new和init的區別

    new和init都是Python中常用的魔法方法,它們分別負責對象的創建和初始化,本文將從多個角度詳細闡述它們的區別。 一、創建對象 new方法是用來創建一個對象的,它是一個類級別…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29

發表回復

登錄後才能評論