Java中关于除号(/)和模(%)你可能不知道的细节
一.除号问题
//我们先来看看整型除整型
System.out.println(10/4);
//你觉得它会等于多少? 2.5?
//我们可以尝试运行一下,你会发现结果是 2,是不是很震惊?//我们再来看看浮点型除整型
System.out.println(10.0/4);
//你觉得这个结果又会是啥? 2?
//我们再次尝试一下可以发现,结果为 2.5,就是正常的运算结果
为什么会这样子呢?
因为在Java中,运算的结果是由运算数中范围最大的类型来决定的
那么int类型之间的相互运算只有int类型,double和int类型进行运算的话,输出就是double了
二.模/取余(%)
我们经常在进行模运算的时候分不清结果正负号的问题,我们接下来来探讨一下:
我们分别用正负号相互运算
System.out.println(10 % 3); //结果1
System.out.println(-10 % 3); //结果-1
System.out.println(10 % -3); //结果1
System.out.println(-10 % -3); //结果-1
我们可以从这些结果得出,貌似结果的正负值只与第一位数有关
事实也正是如此,结果的正负值与后面值的正负没有关系,实在分不清我们可以套用一下公式:
//公式 a % b = a - a/b * b
int i = -10 - (-10)/(-3)*-3;
//可以多操作一下看看是不是这个结果
System.out.println("i=" + i); //结果为-1
System.out.println(-10.5 % 3); //结果-1.5
三.对于除和模的应用
1.定义一个变量保存华氏度,请求出华氏温度对应的摄氏温度
华氏度与摄氏度转换公式: 5/9*(华氏度-100)
Scanner scanner = new Scanner(System.in);System.out.print("请输入华氏温度:");
double hua = scanner.nextDouble();she = 5.0/9.0*(hua -100.0);
System.out.println(she);
大家可以试一试,我觉得还是挺有意思的
Java中关于除号(/)和模(%)你可能不知道的细节相关推荐
- 在html页面中的js如何调试,你可能不知道的14个JavaScript调试技巧
以更快的速度和更高的效率调试你的 JavaScript 了解你的工具可以在完成任务的过程中发挥重大作用.尽管传言 JavaScript 难以调试,但是如果你掌握了一些调试技巧,那么你将会花费更少的时间 ...
- java输出x的值或无解,你所不知道的Java之Integer
以下内容为作者辛苦原创,版权归作者所有,如转载演绎请在"光变"微信公众号留言申请,转载文章请在开始处显著标明出处. 实参形参 有些触发,之前也研究过Java的Integer,所以写 ...
- cad中直径符号不显示_CAD中各种比例你知道多少,不知道的赶快来看看
CAD中涉及比例的概念有很多,有些 概念比较直观,好理解,但是许多合在一起就会混乱,搞得稀里糊涂.所以今天在这里盘点一下经常出现的,看看你知道几个. 1.图纸比例 纸张的尺寸有固定的规格,比如A4A3 ...
- Java 中的设计模式
1.设计模式概念 1.1 什么地方可以用到设计模式 面向对象(OO)=>功能模块[设计模式+算法(数据结构)]=>框架[使用多种设计模式]=>架构[服务器集群] 复制代码 1.2 使 ...
- 好好说说Java中的常量池之Class常量池
前言 在Java中,常量池的概念想必很多人都听说过.这也是面试中比较常考的题目之一.在Java有关的面试题中,一般习惯通过String的有关问题来考察面试者对于常量池的知识的理解,几道简单的Strin ...
- 好好说说Java中的常量池之Class常量池 1
转载自 好好说说Java中的常量池之Class常量池 在Java中,常量池的概念想必很多人都听说过.这也是面试中比较常考的题目之一.在Java有关的面试题中,一般习惯通过String的有关问题来考 ...
- java中的取模_Java 中的取模和取余
期末复习密码学时需要用到取模运算,发现 Java 中的 % 运算符并不是取模运算(Modulo Operation),而是取余运算(Complementation). 计算方法 对于整数 a,b 来说 ...
- Java 操作符:Java 中操作符优先级、一二三元操作符及逻辑操作符的中德模佛定理
文章目录 前言 一.操作符介绍与优先级表 二.一元运算符与二元运算符的区别? 三.Java 中唯一的三元操作符 四.逻辑操作符中的德模佛定理 总结 前言 在 Java 中我们常见的操作符分为三种,分别 ...
- 编写程序,使用一维数组,模拟栈数据结构。 要求: 1、这个栈可以存储java中的任何引用类型的数据。 2、在栈中提供push方法模拟压栈。(栈满了,要有
代码 /*第一题:编写程序,使用一维数组,模拟栈数据结构.要求:1.这个栈可以存储java中的任何引用类型的数据.2.在栈中提供push方法模拟压栈.(栈满了,要有提示信息.)3.在栈中提供pop方法 ...
最新文章
- Linux下C++开发工具介绍
- hdoj1002解题报告
- Hybird混合开发APP初学体验
- ie6常见css bug
- Java开发笔记(三十三)字符包装类型
- 巧用Angular项目的get设置Angular class属性访问的别名
- Flex 传JAVA BEAN 到后台 JAVA
- 2021年中国仪表阀市场趋势报告、技术动态创新及2027年市场预测
- SpringFox Swagger2注解基本用法
- Source Insight 4.0常见问题和常用配置
- babel import语法 js_webstorm配置babel自动转译es6的两种方法
- 如何使用AxureShare创建团队文件
- 问题分析:5W2H分析法
- Flutter Sliver滚动组件
- 【正解】LaTex插入空白页
- 月薪过2w的IT程序员都是怎么做到的?
- 企业Web安全防御:防火墙概述
- vue工程屏蔽打包legacy文件
- 时空图神经网络(ST-GNN)
- Grub for DOS/NTLDR中文版Climbing定制版第四版(完全淘汰VFloppy)
热门文章
- 如何提高Assignment写作效率?
- 倍福TwinCAT3上位机与PLC通信测试(ADS通信) 包含C#和C++代码
- 创建和调用存储过程:查询Stu数据库中某个同学的选修课程的信息,包括学号,姓名,课程名称,成绩
- 常州SEO姜东:搜索引擎的工作原理抓取、索引和排名-搜索引擎如何工作
- 区块链加速实现普惠金融
- 基于JAVA高校后勤保修系统计算机毕业设计源码+数据库+lw文档+系统+部署
- BOM,什么是BOM?
- python字典保存用户名和密码_Python开发之用户密码存储
- 联想ThinkPad系列笔记本进bios设置u盘启动教程
- 影视APP源码电视盒子源码对接苹果CMS后台新增蓝光