java 零基础入门 -Number & Math 类
哈喽,各位小伙伴们好,我是喵手。
今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流 学 习,互相学习,才能成长的更快,对吧。
我是一名 java 开发,所以日常接触到最多的就是 java 啦,所以我趁自己有空,就来好好回忆,把自己学到的会的,进行输出,不图什么有回报,只想能帮助到更多的小伙伴,就好。
小伙伴们在批阅的过程中,如果觉得文章不错,欢迎点赞、收藏、关注哦。三连即是对喵手我创作道路上最好的鼓励与支持!
一、概述
论前几期啊,我们是分别讲了Object类
、Date类
、FormDate类
、Calendar类
、System类
及StringBuilder类
,不知道大家掌握的如何,如果没有及时巩固的同学,可以看我这里,我给大家罗列了下,快速学习通道,只希望能帮助到大家更好的学习与成长,这就是我写作的初衷。
二、前言
在日常使用 java 进行项目开发的过程中,经常会遇到要使用对象而不是内置数据类型的场景,那么基于这类场景,我们应该如何去解决呢?需要使用基本教学运算时又该如何去使用?所以今天我要给大家带来的内容就是有关于它的,具有很好的参考价值。
废话不多说,咱们直接步入正题吧。
三、本期教学目标
掌握内置数据类型
掌握 Number 抽象类
掌握 Number 子类
理解装箱 | 拆箱概念
掌握 Math 类
了解 Math 类的常用方法 Api
...
四、正文
1️⃣内置数据类型
通常,我们在使用数字时,我们都可能都使用内置的数据类型,比如:int、long、float、double 等,具体使用比如:
对于基本数据类型的使用,这在日常开发中都很常见,对吧,但是对于某些场景,就得使用到其对应的封装类,为了解决这个问题,其实 java 有提供一整套数据类型封装类,其中就有(Integer、Long、Byte、Double、Float、Short)等。
具体对于关系请看如下:
2️⃣Number 抽象类
对于数值类型,比如 byte、short、integer 等,他们的父类都是 Number 类(抽象类),位于 java.lang 包。具体可以看下如下示意图:
对于抽象类而言,不能直接被实例化,要实例化其具体的子类才行。但子类等可以使用父类的所有方法。而且为 Number 的子类有提供将表示的数值转换为对于基础数据类型的方法,共有 6 个,比如对于 int ,有 intValue()方法,返回一个 int 类型的值,再比如 double Double(),返回一个 double 类型的数值类型。代码演示:
执行结果如下:
明显可以看到该被实例化的 num,可以有各种方法
3️⃣Number 子类
对于 Number 类,它拥有如下六种子类,具体如下:Double、Float、Byte、Short、Integer 以及 Long,抽象类它不能直接被实例化,只能实例化其具体的子类。
因此,这里会有个概念出现,具体示例请看如下:
可想而知,输出值肯定是 521. 可你细看,明明是个 Integer 封装类型,却能跟 int 类型进行相加,而且编译还不报错,其实啊,这就涉及到了类型拆箱,啥意思?请看第 4 点介绍。
4️⃣装箱 | 拆箱
何为装箱?又何为拆箱?说说了装箱就是自动将基本数据类型转换为包装类。而拆箱就是自动将包装类转换为基本数据类型。
而对于上方,正是当 sum 被指定成一个整数型时,编译器对 e 进行装箱,因为 e 是一个对象,然后为了 e 能进行运算与 1 相加,就对 e 进行了拆箱。
5️⃣Math 类
对于该类,顾名思义,就是一个数学类,位于 java.lang 包中,包含各种数学公式,比如提供了初等指数、对数、取平方根、求三角函数等方法。
由于它的构造方法都是私有的(private),想使用它就不能直接创建 Math 类对象,并且 Math 类中的所有方法都是类方法,都被 static 修饰,所以可以直接通过类名来进行方法调用。
6️⃣Math 类常用方法 Api
如下我来给大家普及一下 Math 类的常用方法。在日后的实际开发中,也是非常会遇到使用,虽然不要去必须掌握,但是起码知道该类提供这些方法就行。
public static int abs(int a)
作用:返回参数 a 的绝对值。
public static double ceil(double a)
作用:返回大于或等于参数 a 的最小(最接近负无穷大)double 值。
public static double floor(double a)
作用:返回小于或等于参数且等于数学整数的最大(最接近正无穷大)double 值。
public static int round(float a)
作用:按照四舍五入返回最接近参数 a 的整数。
public static int max(int a,int b)
作用:返回两个 int 值中的较大值。
public static int min(int a, int b)
作用:返回两个 int 值中的较小值。
public static double pow(double a,double b)
作用:返回 a 的 b 次幂的值。
public static double random()
作用:生成 [0.0, 1.0) 范围内的伪随机浮点数。
... ...
好啦,以上就是本期内容的全部教学内容啦,如果对文中的任何知识点有疑问,欢迎评论区评论留言呀,我看见都会一一解答的。
五、文末
教学是结束了,但是有些话不知我但讲不当讲,啊哈哈, 可我还是想说给你们听听。如下是我很喜欢的一句话,我打算送给你们,希望我们都能变得更好更优秀。
学习不分先后,知识不分多少;事无巨细,当以虚心求教;三人行,必有我师焉!!!
wished for you successed !!!
-------------------------------------------
⭐️若喜欢我,就请关注我叭。
⭐️若对您有用,就请点赞叭。
⭐️若有疑问,就请评论留言告诉我叭。
-------------------------------------------
版权声明: 本文为 InfoQ 作者【喵手】的原创文章。
原文链接:【http://xie.infoq.cn/article/e4dc66dd7da4659af55ae129d】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论