浅析java中的取整(/)和求余(%)

  • 更新时间:2022-06-15 15:49:06
  • 编辑:万博延
给网友朋友们带来一篇java相关的编程文章,网友须嘉祯根据主题投稿了本篇教程内容,涉及到java、取整(/)和求余(%)、java、取整、求余相关内容,已被606网友关注,内容中涉及的知识点可以在下方直接下载获取。
精通Java Web整合开发
精通Java Web整合开发
  • 大小:231 MB
  • 发布人:张熠彤
  • 下载:Java

1.取整运算符

取整从字面意思理解就是被除数到底包含几个除数,也就是能被整除多少次,那么它有哪些需要注意的地方呢?先看下面的两端代码:

  int a = 10;
  int b = 3;
  double c= a / b;
  System.out.println(c);

第一段代码的运行结果是3.0, 其中double c = a / b;//c = (10/3) = (double)3 = 3.0,这里面涉及到一个低精度到高精度的隐式装换。

  int a = 10;
  int b = 3;
  double c= (double)a / b;
  System.out.println(c);

第二段代码的运行结果是3.3333333333333335,其中double c = (double)a / b;等价于double c= 10.0 / 3.0;
减乘除计算,会先统一操作数的精度,其规则是先统一成精度高的数。
double型/int型、int型/double型,最后都转成double型/double型。

2.求余运算符

取余运算符是%是一个双目运算符,它的操作数通常是正整数也可以是负数甚至是浮点数,如果负数参与此运算,则结果的正负取决于前面一个数是整数还是负数。
对于整数,java的取余运算规则如下 

a%b=a-(a/b)*b 
5%3=5-(5/3)*3=2 
5%-3=5-(5/-3)*-3=2 
-5%3=-5-(-5/3)*3=-2 
-5%-3=-5-(-5/-3)*-3=-2 

如果操作数中有浮点数则采用的规则为 

a%b=a-(b*q),这里q=int(a/b) 
5.2%3.1=5.2-1*3.1=2.1 
5.2%-3.1=5.2-(-1)*(-3.1)=2.1 
-5.2%3.1=-5.1-(-1)*3.1=-2.1 
-5.2%-3.1=-5.1-(-1)*(-3.1)=-2.1 

示例代码:

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。

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

相关下载

  • Java开发实战经典

    大小:8.7 MB
  • 《21天学通Java 6(第5版)》源代码

    大小:2.72 MB
  • Java jdk12 API官方文档(jdk13帮助文档)

    大小:85.9 MB
  • Effective Java

    大小:56 MB
  • Java ME手机应用开发技术与案例详解

    大小:22.45MB

相关教程

  • 深入理解Java线程池从设计思想到源码解读

    深入理解Java线程池从设计思想到源码解读

    给网友朋友们带来一篇关于Java的教程,这篇文章主要介绍了深入理解Java线程池从设计思想到源码解读,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

    发布时间:2022-06-15主题:java线程池

    查看详情
  • Java基础教程之八大基本数据类型

    Java基础教程之八大基本数据类型

    这篇文章主要给大家介绍了关于Java基础教程之八大基本数据类型的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学

    发布时间:2022-06-15主题:

    查看详情
  • Java编程实现邻接矩阵表示稠密图代码示例

    Java编程实现邻接矩阵表示稠密图代码示例

    给大家整理了关于Java的教程,这篇文章主要介绍了Java编程实现邻接矩阵表示稠密图代码示例,具有一定参考价值,需要的朋友可以了解下。

    发布时间:2022-06-12主题:

    查看详情
  • Java实现微信公众平台朋友圈分享功能详细代码

    为网友们分享了关于java的教程,这篇文章主要介绍了Java实现微信公众平台朋友圈分享功能详细代码,小编觉得挺不错的,这里分享给大家,供需要的朋友参考。

    发布时间:2022-06-10主题:

    查看详情
  • java各种数据类型的互相转换实例代码

    给大家整理了关于java的教程,这篇文章主要介绍了java 各种数据类型的互相转换实例代码,需要的朋友可以参考下

    发布时间:2022-06-12主题:java数据类型的互相转换

    查看详情
  • Java实现base64图片编码数据转换为本地图片的方法

    给网友们整理关于java的教程,这篇文章主要介绍了Java实现base64图片编码数据转换为本地图片的方法,涉及java编码转换及图片文件生成相关操作技巧,需要的朋友可以参考下

    发布时间:2022-06-10主题:

    查看详情
  • Java的接口和抽象类深入理解

    给网友朋友们带来一篇关于java的教程,这篇文章主要介绍了Java的接口和抽象类深入理解的相关资料,希望通过本文大家能够理解应用接口与抽象类的使用方法,需要的朋友可以参考下

    发布时间:2022-06-11主题:

    查看详情

用户留言