写点什么

java 零基础入门 -Number & Math 类

作者:喵手
  • 2022 年 7 月 10 日
  • 本文字数:2386 字

    阅读完需:约 8 分钟

java零基础入门-Number & Math 类

哈喽,各位小伙伴们好,我是喵手。

今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流 学 习,互相学习,才能成长的更快,对吧。

我是一名 java 开发,所以日常接触到最多的就是 java 啦,所以我趁自己有空,就来好好回忆,把自己学到的会的,进行输出,不图什么有回报,只想能帮助到更多的小伙伴,就好。

       小伙伴们在批阅的过程中,如果觉得文章不错,欢迎点赞、收藏、关注哦。三连即是对喵手我创作道路上最好的鼓励与支持!

一、概述

       论前几期啊,我们是分别讲了Object类Date类FormDate类Calendar类System类StringBuilder类,不知道大家掌握的如何,如果没有及时巩固的同学,可以看我这里,我给大家罗列了下,快速学习通道,只希望能帮助到大家更好的学习与成长,这就是我写作的初衷。

二、前言

在日常使用 java 进行项目开发的过程中,经常会遇到要使用对象而不是内置数据类型的场景,那么基于这类场景,我们应该如何去解决呢?需要使用基本教学运算时又该如何去使用?所以今天我要给大家带来的内容就是有关于它的,具有很好的参考价值。

废话不多说,咱们直接步入正题吧。

三、本期教学目标

  • 掌握内置数据类型

  • 掌握 Number 抽象类

  • 掌握 Number 子类

  • 理解装箱 | 拆箱概念

  • 掌握 Math 类

  • 了解 Math 类的常用方法 Api

  • ...

四、正文

1️⃣内置数据类型

通常,我们在使用数字时,我们都可能都使用内置的数据类型,比如:int、long、float、double 等,具体使用比如:


    int a = 1;    float b = 13.1f;    double c = 1.21;    byte d = 1;
复制代码

对于基本数据类型的使用,这在日常开发中都很常见,对吧,但是对于某些场景,就得使用到其对应的封装类,为了解决这个问题,其实 java 有提供一整套数据类型封装类,其中就有(Integer、Long、Byte、Double、Float、Short)等。

具体对于关系请看如下:

2️⃣Number 抽象类

对于数值类型,比如 byte、short、integer 等,他们的父类都是 Number 类(抽象类),位于 java.lang 包。具体可以看下如下示意图:

对于抽象类而言,不能直接被实例化,要实例化其具体的子类才行。但子类等可以使用父类的所有方法。而且为 Number 的子类有提供将表示的数值转换为对于基础数据类型的方法,共有 6 个,比如对于 int ,有 intValue()方法,返回一个 int 类型的值,再比如 double Double(),返回一个 double 类型的数值类型。代码演示:

				Number num = new Double(13.14);        System.out.println("返回 double 类型的值:" + num.doubleValue());        System.out.println("返回 int 类型的值:" + num.intValue());
复制代码

执行结果如下:

明显可以看到该被实例化的 num,可以有各种方法

3️⃣Number 子类

       对于 Number 类,它拥有如下六种子类,具体如下:Double、Float、Byte、Short、Integer 以及 Long,抽象类它不能直接被实例化,只能实例化其具体的子类。

因此,这里会有个概念出现,具体示例请看如下:

Integer e = 520;        int sum = e+1;        System.out.println(sum);
复制代码

       可想而知,输出值肯定是 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 !!!

-------------------------------------------

⭐️若喜欢我,就请关注我叭。

⭐️若对您有用,就请点赞叭。

⭐️若有疑问,就请评论留言告诉我叭。

-------------------------------------------

发布于: 刚刚阅读数: 7
用户头像

喵手

关注

还未添加个人签名 2022.07.05 加入

还未添加个人简介

评论

发布
暂无评论
java零基础入门-Number & Math 类_喵手_InfoQ写作社区