JAVA 入坑教程 | 章节八 什么是Number 类?

简介: JAVA 入坑教程 | 章节八 什么是Number 类?为什么需要Number类?怎么使用?来看下前面提及的基本数据类型,《JAVA 入坑教程 | 章节二 基本数据类型》,再来看一张图片先:在实际开发过程中,我们经常会遇到需要使用对象,而不是内置数据类型的情形。

JAVA 入坑教程 | 章节八 什么是Number 类?为什么需要Number类?怎么使用?

来看下前面提及的基本数据类型,《JAVA 入坑教程 | 章节二 基本数据类型》,再来看一张图片先:

这里写图片描述

在实际开发过程中,我们经常会遇到需要使用对象,而不是内置数据类型的情形。所谓的内置数据类型其实就是:byte、int、long、double 等。为了解决这个问题,Java 为每一个内置数据类型提供了对应的包装类。


所有的包装类(Integer、Long、Byte、Double、Float、Short)都是抽象类 Number 的子类。


这种由编译器特别支持的包装称为装箱,所以当内置数据类型被当作对象使用的时候,编译器会把内置类型装箱为包装类。相似的,编译器也可以把一个对象拆箱为内置类型。Number 类属于 java.lang 包。
下篇讲解装箱和拆箱的概念《JAVA 入坑教程 | 章节九 装箱和拆箱》


其实和正常使用的没什么区别,只是首字母改成大写,可以静态调用自身的方法,如:

//数据类型转换
Integer.parseInt();  //把字符串转换为Integer

Double.parseDouble();//把字符串转换为Double

//...其它类型都是用parse....的形式
//正常使用
public class Test{ 
   public static void main(String args[]){
      Integer x = 10;
      x =  x + 10;
      System.out.println("数量为:"+x); 
   }
}

运行结果-> 数量为:20



提示:当x被赋为整型值时,由于x是一个对象,所以编译器要对x进行装箱。然后,为了使x能进行加运算,所以要对x进行拆箱。

Number 方法
序号 方法与描述
1 xxxValue()  将number对象转换为xxx数据类型的值并返回。
2 compareTo()  将number对象与参数比较。
3 equals()  判断number对象是否与参数相等。
4 valueOf()  返回一个 Number 对象指定的内置数据类型
5 toString()  以字符串形式返回值。
6 parseInt()  将字符串解析为int类型。
7 abs() 返回参数的绝对值。
8 ceil() 对整形变量向左取整,返回类型为double型。
9 floor() 对整型变量向右取整。返回类型为double类型。
10 rint() 返回与参数最接近的整数。返回类型为double。
11 round() 返回一个最接近的int、long型值。
12 min() 返回两个参数中的最小值。
13 max() 返回两个参数中的最大值。
14 exp() 返回自然数底数e的参数次方。
15 log() 返回参数的自然数底数的对数值。
16 pow() 返回第一个参数的第二个参数次方。
17 sqrt() 求参数的算术平方根。
18 sin() 求指定double类型参数的正弦值。
19 cos() 求指定double类型参数的余弦值。
20 tan() 求指定double类型参数的正切值。
21 asin() 求指定double类型参数的反正弦值。
22 acos() 求指定double类型参数的反余弦值。
23 atan() 求指定double类型参数的反正切值。
24 atan2() 将笛卡尔坐标转换为极坐标,并返回极坐标的角度值。
25 toDegrees() 将参数转化为角度。
26 toRadians() 将角度转换为弧度。
27 random() 返回一个随机数。




|| 版权声明:本文为博主杜锦阳原创文章,转载请注明出处。

相关文章
|
3天前
|
Java 开发者
Java面试题:请解释内存泄漏的原因,并说明如何使用Thread类和ExecutorService实现多线程编程,请解释CountDownLatch和CyclicBarrier在并发编程中的用途和区别
Java面试题:请解释内存泄漏的原因,并说明如何使用Thread类和ExecutorService实现多线程编程,请解释CountDownLatch和CyclicBarrier在并发编程中的用途和区别
9 0
|
3天前
|
设计模式 测试技术 Python
《手把手教你》系列基础篇(九十二)-java+ selenium自动化测试-框架设计基础-POM设计模式简介(详解教程)
【7月更文挑战第10天】Page Object Model (POM)是Selenium自动化测试中的设计模式,用于提高代码的可读性和维护性。POM将每个页面表示为一个类,封装元素定位和交互操作,使得测试脚本与页面元素分离。当页面元素改变时,只需更新对应页面类,减少了脚本的重复工作和维护复杂度,有利于团队协作。POM通过创建页面对象,管理页面元素集合,将业务逻辑与元素定位解耦合,增强了代码的复用性。示例展示了不使用POM时,脚本直接混杂了元素定位和业务逻辑,而POM则能解决这一问题。
21 6
|
20小时前
|
设计模式 Java 测试技术
《手把手教你》系列基础篇(九十四)-java+ selenium自动化测试-框架设计基础-POM设计模式实现-下篇(详解教程)
【7月更文挑战第12天】在本文中,作者宏哥介绍了如何在不使用PageFactory的情况下,用Java和Selenium实现Page Object Model (POM)。文章通过一个百度首页登录的实战例子来说明。首先,创建了一个名为`BaiduHomePage1`的页面对象类,其中包含了页面元素的定位和相关操作方法。接着,创建了测试类`TestWithPOM1`,在测试类中初始化WebDriver,设置驱动路径,最大化窗口,并调用页面对象类的方法进行登录操作。这样,测试脚本保持简洁,遵循了POM模式的高可读性和可维护性原则。
11 2
|
5天前
|
XML Java 测试技术
《手把手教你》系列基础篇(九十一)-java+ selenium自动化测试-框架设计基础-Logback实现日志输出-下篇(详解教程)
【7月更文挑战第9天】在Java项目中,使用Logback配置可以实现日志按照不同包名输出到不同的文件,并且根据日志级别分开记录。
20 4
|
3天前
|
安全 Java 开发者
Java面试题:什么是Java 15中的密封类以及其限制?还有哪些其他特性用于限制类继承的机制吗?
Java面试题:什么是Java 15中的密封类以及其限制?还有哪些其他特性用于限制类继承的机制吗?
12 1
|
3天前
|
设计模式 存储 安全
Java面试题:设计一个线程安全的单例类并解释其内存占用情况?使用Java多线程工具类实现一个高效的线程池,并解释其背后的原理。结合观察者模式与Java并发框架,设计一个可扩展的事件处理系统
Java面试题:设计一个线程安全的单例类并解释其内存占用情况?使用Java多线程工具类实现一个高效的线程池,并解释其背后的原理。结合观察者模式与Java并发框架,设计一个可扩展的事件处理系统
10 1
|
2天前
|
设计模式 Java 测试技术
《手把手教你》系列基础篇(九十三)-java+ selenium自动化测试-框架设计基础-POM设计模式实现-上篇(详解教程)
【7月更文挑战第11天】页面对象模型(POM)通过Page Factory在Java Selenium测试中被应用,简化了代码维护。在POM中,每个网页对应一个Page Class,其中包含页面元素和相关操作。对比之下,非POM实现直接在测试脚本中处理元素定位和交互,代码可读性和可维护性较低。
|
3天前
|
存储 运维 前端开发
Java面试题:什么是Java的异常处理机制?列举常见的异常类,并说明使用场景
Java面试题:什么是Java的异常处理机制?列举常见的异常类,并说明使用场景
13 0
|
3天前
|
安全 Java 数据处理
Java面试题:什么是Java中的Optional类及其使用场景?
Java面试题:什么是Java中的Optional类及其使用场景?
7 0
|
3天前
|
前端开发 Java 编译器
Java面试题:描述Java类的加载过程,包括加载、链接、初始化等阶段。
Java面试题:描述Java类的加载过程,包括加载、链接、初始化等阶段。
8 0