Java中的相除(/)和取余(%)的实现方法

 更新时间:2019年07月09日 10:15:55   作者:CWyh44  
这篇文章主要介绍了Java中的相除(/)和取余(%)的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

取模运算与取余运算两个概念有重叠的部分但又不完全一致。主要的区别在于对负整数进行除法运算时操作不同。

对于整形数a,b来说,取模运算或者求余运算的方法都是:

1、求 整数商 c = a / b;

2、计算模或者余数 r = a - c* b . 

取模运算和取余运算在第一步不同:

取余运算在取c值时,向0方向舍入;而取模运算在取c值时,是向负无穷方向舍入

各个环境下运算符%的含义不同,C/C++,Java为取余,python为取模

Java取余运算规则如下:

a%b = a - (a/b)*b

让我们先看一段代码:

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);
  }

结果为:

2,3
0,5
-2,-2
-3,3

再来一个一个分析:

a = 13 / 5,a = 2,其实就是数学上的13 / 5 ,结果为2。

b = 13 % 5,b = 3,这也是数学上的运算,得出余数为3。

c = 5 / 13,c = 0,因为被除数小于除数,结果可以看成0.x,但是int类型是整数类型,所以结果只为0。

d = 5 % 13,d = 5,数学上规定:如果被除数比除数小,商是0,余数就是被除数本身。

e和f不用说了,结果都为-2。

但是h和j怎么是一个-3一个3呢,因为取余运算的符号是根据第一个运算数决定的,-13 % 5结果是-3,而13 % -5结果则是3。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Springboot项目接口限流实现方案

    Springboot项目接口限流实现方案

    这篇文章主要介绍了Springboot项目接口限流实现方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • mybatis plus开发过程中遇到的问题记录及解决

    mybatis plus开发过程中遇到的问题记录及解决

    这篇文章主要介绍了mybatis plus开发过程中遇到的问题记录及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • Spring 4 支持的 Java 8 特性

    Spring 4 支持的 Java 8 特性

    Spring 框架 4 支持 Java 8 语言和 API 功能。在本文中,我们将重点放在 Spring 4 支持新的 Java 8 的功能。最重要的是 Lambda 表达式,方法引用,JSR-310的日期和时间,和可重复注释。下面跟着小编一起来看下吧
    2017-03-03
  • java实现Rabbitmq延迟队列和惰性队列

    java实现Rabbitmq延迟队列和惰性队列

    本文主要介绍了java实现Rabbitmq延迟队列和惰性队列,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-12-12
  • hibernate 常用方法介绍

    hibernate 常用方法介绍

    这篇文章介绍了hibernate的常用方法,有需要的朋友可以参考一下
    2013-09-09
  • 基于java配置nginx获取真实IP代码实例

    基于java配置nginx获取真实IP代码实例

    这篇文章主要介绍了基于java配置nginx获取真实IP代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • 详解Java反射各种应用

    详解Java反射各种应用

    Java除了给我们提供在编译期得到类的各种信息之外,还通过反射让我们可以在运行期间得到类的各种信息。通过反射获取类的信息,得到类的信息之后,就可以获取很多相关内容。下面跟着小编一起来看下吧
    2017-01-01
  • Java Integer[]和int[]互相转换方式

    Java Integer[]和int[]互相转换方式

    这篇文章主要介绍了Java Integer[]和int[]互相转换方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • java编写的文件管理器代码分享

    java编写的文件管理器代码分享

    本文给大家分享的是一则使用java编写的文件管理器的代码,新人练手的作品,逻辑上还是有点小问题,大家帮忙看看吧。
    2015-04-04
  • Java集合案例之斗地主游戏

    Java集合案例之斗地主游戏

    这篇文章主要为大家详细介绍了Java集合案例之斗地主游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07

最新评论