当前位置: 首页 > article >正文

Java铸基之路:运算符的深入学习!(上)

🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝

🥇博主昵称:小菜元

🍟博客主页:小菜元

🥗感谢点赞👍评论🃌

⚇很方便的在线编辑器:Lightly

让我们一起在写作中记录学习吧!

运算符的重要性

在Java的基础学习以及之后的进阶学习里,运算符都是必备的知识点,他不仅可以帮助我们进行复杂数值的计算,也可以帮助我们进行进行字符串的连接,是我们编程学习中必备的,所以我们一定要学好他!

算术运算符

在Java中常用的运算符有:+、-、*、/分别表示加减乘除的运算,当两个数都是整数参与除法运算(/)时,这就表示整数除法;否则,就是浮点除法。整数有时称为取模表示为(%),就像18/8=2,而18.0/8=2.25,从这计算中,我们很容易看到,这个运算方式显然与我们的刻板记忆不一样

PS:整数被0除将会产生一个异常,而浮点数被0除则会出现无穷大或者是NaN

数学函数和常量

Math类中包含了许多的数学函数,接下来我会给大家几个事例

Math.sqrt(x)        //平方根
Math.sin()        //三角函数
Math.cos()
Math.tan()
Math.atan()
Math.atan2()
Math.exp()    //指数函数以及对数函数和以10为底的对数函数
Math.log()
Math.log10()
Math.PI        //pai和e接近的常量
Math.E
Math.pow(x,a)    //x的a次幂

PS:在使用的时候没必要在前面都加上Math,只要在代码最前面加上此段代码即可

import static java.lang.Math.*

这个就是将Math类中的全部方法导入此文件,这样我们就可以使用这个类里面的全部文件了!

PS:在计算时要自主考虑这个类型的最大值,否则一旦超过Java将会得出错误的值

数值之间的类型转换

我们先给大家说明几个转换信息无丢失的和丢失的类型转换

无丢失:byte到short到int到long、char到int到double

有丢失:long到float、double,int到float

例如12345678的整数类型转换成浮点类型就会损失部分精度

在进行不同类型数值之间的计算时,我们需要将他们转换成相同的类型,否则他将遵循以下规则

两个数中有一个是double类型就会转换成double类型

其次是float以及long类型,否则就都转换成int类型

数据类型强转

数据类型的转换平常也很常见,例如将double类型的数据转换成int类型的数据,例如9.91转换成int类型,那么他就会截取整数部分9,而舍弃后面的小数,如果想要舍入就需要用到Math.round方法

double x = 9.91
int xx = (int)Math.round(x)

一般的数据类型转换如下

double x = 9.91
int xx = (int)x

括号里面的数值为需要转换成的类型,因为上述math方法返回的类型是long所以需要强转成int(在使用时,需要辨别类型的取值范围,当大范围转成小范围类型,就容易出现数据变形的情况,而当小范围数据类型转换成大范围数据类型就可以放心转换)


http://www.kler.cn/news/303049.html

相关文章:

  • uni-app--》打造个性化壁纸预览应用平台(三)
  • HTML 转 PDF API 接口
  • 需求分析例题
  • 基于SpringBoot+Vue+MySQL的影院购票系统
  • SpringMvc 之处理器方法参数解析器(HandlerMethodArgumentResolver)
  • 前端vue项目服务器部署(docker)
  • [linux 驱动]platform总线设备驱动详解与实战
  • WEB渗透Linux提权篇-MYSQL漏洞提权
  • Spring Boot实现大文件分块上传
  • woocommerce 调用当前product_tag 为标题
  • swoole协程 是单线程的,还是多线程的
  • 数学建模笔记—— 整数规划和0-1规划
  • 跟我一起写 SIPp XML scenario file 之二
  • LeetCode 每日一题 2024/9/2-2024/9/8
  • OpenAI gym: Trouble installing Atari dependency (Mac OS X)
  • CVE-2024-38063 ipv6远程蓝屏
  • 基于SpringBoot+Vue+MySQL的招聘管理系统
  • 【课程系列12】某客时间AI大模型微调训练营
  • C#中的可空类型和空合并运算符
  • Perfetto 如何查看主线程哪些操作最耗时
  • P1332 血色先锋队
  • 为什么在EffectiveJava中建议用EnumSet替代位字段,以及使用EnumMap替换序数索引
  • layui复选框删除
  • 计算机毕业设计选题推荐-流浪动物领养管理系统-Java/Python项目实战(亮点:数据可视化分析、智能推荐)
  • 开发模式和环境搭建
  • Android 开发避坑经验第三篇:RecyclerView 高效使用与常见问题解决
  • centos下nvme over rdma 环境配置
  • vue原理分析(十二)研究new Vue()中的 initInjections
  • MVVM 基础
  • 计算机科学基础 -- 超流水线