java中的除法运算和取模运算解读

 更新时间:2023年08月01日 14:19:44   作者:SSS4362  
这篇文章主要介绍了java中的除法运算和取模运算,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

java除法运算和取模运算

A.除法运算

a.含义及其语法

  • 除法运算就是被除数除以除数的这一过程
  • 语法: 被除数/除数
  • 注意:除数不能为0,且被除数和除数都得是数字

b.应用场景

  • 1.和取模运算一起求出整型数字的每一位的数字,可以解决水仙花问题
  • 2.已知天数,求这是第几周(默认第一天为星期一)

c.怎么使用?

c.1被除数和除数皆为整型数据时

  • 如果是整型数据进行除法运算,那么得到的结果就是被除数除以除数的结果,其结果必然是整型数据.
  • 如果除不尽,会把得到的小数部分直接抹去,抹去的时候不要考虑四舍五入的规则

示例代码:

public class Test {
	public static void main(String[] args) {
	   int a=19;
	   int b=2;
	   int c=a/b;
	   System.out.print("c的结果为: "+c);
	}
}

示例代码运行结果

如下图所示:

在这里插入图片描述

c.1被除数和除数至少有一个为浮点型数据时

在除法运算中,如果里面有浮点型数据参与的话,那么结果一定会是浮点类型的数据,计算数值的话就按照我们平常小数和整数之间的除法计算去进行计算即可。

结果会保留小数部分.

示例代码如下:

public class Test {
	public static void main(String[] args) {
	   double a=19;
	   int b=2;
	   double c=a/b;
	   System.out.print("c的结果为: "+c);
	}
}

示例代码运行截图如下所示:

在这里插入图片描述

B.取模运算(求余数)

a.含义及其语法

  • 取模运算就是被除数除以除数后得到的余数
  • 语法: 被除数%除数
  • 注意:除数不能为0,且被除数和除数都得是数字

b.应用场景

  • 1.和除法运算一起求出整型数字的每一位的数字,可以解决水仙花问题
  • 2.已知天数,求此时是星期几(默认第一天为星期一)

c.怎么使用??? c.1取模的核心思路如下所示:

设m为被除数,n为除数

  • 1.若m<n,取模运算结果=余数=n;
  • 2.若m=n,取模运算结果=余数=0;
  • 3.若m>n,取模运算结果=m-n*最多次数;

最多次数就是m能最多减去几个n的次数(这时m不能再减,再减就会小于0了)

c.2 当取模运算两边都是整型数据时

结果=被除数-除数*最多次数,此时结果为整型数据

示例代码:

public class Test {
	public static void main(String[] args) {
	   int a=19;
	   int b=2;
	   int c=a%b;
	   System.out.print("c的结果为: "+c);
	}
}

示例代码运行截图如下所示:

在这里插入图片描述

c.3 取模运算两边至少有一个为浮点型数据时

此时依然还是按照取模的核心思路,该思路不会受到数据类型(整型、浮点型)影响

结果=被除数-除数*最多次数,此时结果要表示为浮点类型的数据

示例代码如下:

public class Test {
	public static void main(String[] args) {
	   double a=19;
	   int b=2;
	   double c=a%b;
	   System.out.print("c的结果为: "+c);
	}
}

示例代码运行截图

如下所示

:在这里插入图片描述

取模运算 整数除运算 +运算

如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。但被模数是负数则不可忽略。此外,取模运算的结果不一定总是整数。

对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。

例如:

int x=3510;x=x/1000*1000; x的结果是?3000 因为整数除的时候是被作为一个int类型的数据,3500/1000 = 3

“+”除字符串相加功能外,还能把非字符串转换成字符串.

例如:System.out.println("5+5="+5+5); //打印结果是?

l以下二者的区别:

System.out.println('*' + '\t' +'*');
System.out.println("*" + '\t' +'*');

上面的char会直接计算unicode值。因为char类型数据运算前会转换成int类型进行计算。

for(int i = 100 ; i <= 999 ;i++){
  int n1 = i%10; //对10取模得到一个个位数。因为任何一个大于10的数对10取模得到就是个位数。比如34%10 = 4  商为3 余数是4
  int n2 = i/10%10;   //首先除以10 丢失个位数精度。
  int n3 = i/100;      //除以100丢失十位数和个位数精度。
  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);
  }
}
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Jmail发送邮件工具类分享

    Jmail发送邮件工具类分享

    这篇文章主要为大家分享了Jmail发送邮件工具类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • Spring Boot中使用RSocket的示例代码

    Spring Boot中使用RSocket的示例代码

    这篇文章主要介绍了Spring Boot中使用RSocket的示例代码,特别是spring boot 如何帮助抽象出更低级别的RSocket API,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • RabbitMQ消息有效期与死信的处理过程

    RabbitMQ消息有效期与死信的处理过程

    利用DLX,当消息在一个队列中变成死信 (dead message) 之后,它能被重新publish到另一个Exchange,这个Exchange就是DLX,本文重点给大家介绍RabbitMQ消息有效期与死信的相关知识,感兴趣的朋友跟随小编一起看看吧
    2022-03-03
  • java 使用异常的好处总结

    java 使用异常的好处总结

    这篇文章主要介绍了java 使用异常的好处总结的相关资料,需要的朋友可以参考下
    2017-03-03
  • java代码抓取网页邮箱的实现方法

    java代码抓取网页邮箱的实现方法

    下面小编就为大家带来一篇java代码抓取网页邮箱的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • Spring Security前后分离校验token的实现方法

    Spring Security前后分离校验token的实现方法

    这篇文章主要介绍了Spring Security前后分离校验token的方法,本次token生成采取jwt的方式,通过引入jwt依赖文件配置token管理器,对Spring Security校验token相关知识感兴趣的朋友一起看看吧
    2022-02-02
  • Spring框架中的@Conditional系列注解详解

    Spring框架中的@Conditional系列注解详解

    这篇文章主要介绍了Spring框架中的@Conditional系列注解详解,我们需要一个类实现Spring提供的Condition接口,它会匹配@Conditional所符合的方法,然后我们可以使用我们在@Conditional注解中定义的类来检查,需要的朋友可以参考下
    2024-01-01
  • SpringBoot ResponseBody返回值处理的实现

    SpringBoot ResponseBody返回值处理的实现

    这篇文章主要介绍了SpringBoot ResponseBody返回值处理的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • springboot清除字符串前后空格与防xss攻击方法

    springboot清除字符串前后空格与防xss攻击方法

    这篇文章主要介绍了springboot清除字符串前后空格与防xss攻击方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • JAVA基础之注解与反射的使用方法和场景

    JAVA基础之注解与反射的使用方法和场景

    这篇文章主要给大家介绍了关于JAVA基础之注解与反射的使用方法和场景的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03

最新评论