【JAVA】与数字相关的类,Number Math 类

在这里插入图片描述


个人主页:【😊个人主页】
系列专栏:【❤️初识JAVA】


文章目录

  • 前言
  • 数据类型
  • Number类
    • 介绍
    • 数据格式化
    • 实例
  • Math类
  • 介绍
    • 静态常量
    • 实例


前言

为了解决对数字、日期和系统设置进行处理的困难,如:一些数字&数学问题、随机数问题、日期问题和系统设置问题等。Java为我们提供了多个处理相关问题的类,比如Number类、Math类、Random类、BigInteger类、BigDecimal类、Date类、System类等。今天我们就来学习Number& Marh两个类。

在这里插入图片描述


数据类型

Java里的数据类型可以分为引用类型和基本类型,其中基本类型有3大类8个子类在这里插入图片描述

Number类

Java为每一个内置的基本数据类型提供了对应的包装类。其中,6个数值型对应的包装类(Byte、Short、Integer、Long、Float、Double),都是抽象类Number的子类。 在基本类型和包装类型之间,会涉及到装箱和拆箱的操作

包装类基本数据类型
Booleanboolean
Bytebyte
Shortshort
Integerint
Longlong
Characterchar
Floatfloat
Doubledouble

在这里插入图片描述

介绍

Number 是一个抽象类,也是一个超类(即父类)。Number 类属于 java.lang 包,所有的包装类(如 Double、Float、Byte、Short、Integer 以及 Long)都是抽象类 Number 的子类。

Number 类定义了一些抽象方法,以各种不同数字格式返回对象的值。如 xxxValue() 方法,它将 Number 对象转换为 xxx 数据类型的值并返回

无论是整数型还是浮点型,它们都是数值型,当我们定义数值型变量时,都是直接操作的数字。

方法说明
byte byteValue();返回 byte 类型的值
double doubleValue();返回 double 类型的值
float floatValue();返回 float 类型的值
int intValue();返回 int 类型的值
long longValue();返回 long 类型的值
short shortValue();返回 short 类型的值

抽象类不能直接实例化,而是必须实例化其具体的子类

数据格式化

Java自带了一个DecimalFormat类,可以对数字进行格式化处理
DecimalFormat是NumberFormat的子类,用于格式化十进制数字,该类包含一个模式和一组符号

实例

public class Test01 {public static void main(String[] args) {Byte n = 5;Integer n1 = 5;Short n2 = 5;Long n3 = 5L;Float n4 = 0.02f;Double n5 = 0.02;Character n6 = 'A';Boolean n7 = true;System.out.println(n);System.out.println(n1);System.out.println(n2);System.out.println(n3);System.out.println(n4);System.out.println(n5);System.out.println(n6);System.out.println(n7);}
}

输出结构
5
5
5
5
0.02
0.02
A
true

Math类

Java 的 Math 包含了用于执行基本数学运算的属性和方法,如初等指数、对数、平方根和三角函数。
Math 的方法都被定义为 static 形式,通过 Math 类可以在主函数中直接调用。

介绍

为了方便实现这些数学计算功能,Java自身就给我们提供了一个Math数学类,用于进行各种常见的数学操作

Math中提供了用于执行基本数学运算的多个属性和方法,如初等指数、对数、平方根和三角函数等。Math 类位于 java.lang包中,它的构造方法是 private私有的,因此我们无法创建 Math类对象。

为了方便调用这些方法和属性,Math类中的很多方法和属性都被定义为static形式

静态常量

Math类给我们提供了两个比较常用的静态常量,分别是 E 和 PI,它们的值分别等于 e(自然对数) 和 π(圆周率)

public static void main(String[] args)
{
//静态常量E和PI
System.out.println("E常量的值:"+Math.E);
System.out.println("PI常量的值"+Math.PI);
}

实例

public class Test {  public static void main (String []args)  {  System.out.println("90 度的正弦值:" + Math.sin(Math.PI/2));  System.out.println("0度的余弦值:" + Math.cos(0));  System.out.println("60度的正切值:" + Math.tan(Math.PI/3));  System.out.println("1的反正切值: " + Math.atan(1));  System.out.println("π/2的角度值:" + Math.toDegrees(Math.PI/2));  System.out.println(Math.PI);  }  
}

90 度的正弦值:1.0
0度的余弦值:1.0
60度的正切值:1.7320508075688767
1的反正切值: 0.7853981633974483
π/2的角度值:90.0
3.141592653589793

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/22814.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

React中 Real DOM 和 Virtual DOM 的区别?优缺点?

一、是什么 Real DOM,真实 DOM,意思为文档对象模型,是一个结构化文本的抽象,在页面渲染出的每一个结点都是一个真实 DOM 结构,如下: Virtual Dom,本质上是以 JavaScript 对象形式存在的对 DOM …

【Visual Studio】在 Windows 上使用 Visual Studio 配合 Qt 构建 VTK

知识不是单独的,一定是成体系的。更多我的个人总结和相关经验可查阅这个专栏:Visual Studio。 编号内容1【Visual Studio】在 Windows 上使用 Visual Studio 构建 VTK2【Visual Studio】在 Windows 上使用 Visual Studio 配合 Qt 构建 VTK3【VTK】VTK 显…

OpenCv色彩空间

目录 一、RGB 二、图像处理入门 三、色彩空间的转换 一、RGB 在表示图像时,有多种不同的颜色模型,但最常见的是红、绿、蓝(RGB) 模型RGB 模型是一种加法颜色模型,其中原色 (在RGB模型中,原色是红色 R、绿色 G 和蓝色 B)混合在…

打工人如何利用自动化实现职场突围

作为优秀的打工人,如果可以将办公中的重复性、繁琐性、低效性工作自动化,那么将省去许多日常工作。许亚宁就是这样一个优秀的打工人,善于使用各类自动化工具来提升工作效率,上周的直播他分享了如何利用自动化工具,实现…

Qt,day4

闹钟 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget) {ui->setupUi(this);this->setWindowTitle("闹钟");this->setWindowIcon(QIcon("D:\\HQYJRJ\\QT\\day1\\…

运输层(TCP运输协议相关)

运输层 1. 运输层概述2. 端口号3. 运输层复用和分用4. 应用层常见协议使用的运输层熟知端口号5. TCP协议对比UDP协议6. TCP的流量控制7. TCP的拥塞控制7.1 慢开始算法、拥塞避免算法7.2 快重传算法7.3 快恢复算法 8. TCP超时重传时间的选择8.1 超时重传时间计算 9. TCP可靠传输…

Linux中ssh登陆慢的两种原因

useDNS配置导致登陆慢 如果ssh server的配置文件(通常是 /etc/ssh/sshd_config )中设置 useDNS yes ,可能会导致 ssh 登陆卡住几十秒。将该配置项设为 no,然后重启 ssh 服务,再次登陆就恢复正常。将useDND配置为yes会…

Camtasia Studio 2023 最新中文版,camtasiaStudio如何添加背景音乐

Camtasia2023的视频编辑工具可以帮助用户剪辑、裁剪、旋转、调整大小、添加特效、混合音频等。用户还可以使用Camtasia2023的字幕功能添加字幕和注释,以及使用其内置的特效和转场来提高视频的视觉效果。 Camtasia Studio 2023新功能介绍 的光标增强 由于光标在屏幕…

容器化背后的魔法之Docker底层逻辑解密

Docker内部工作原理是怎样的? 现在我们知道了Docker是什么以及它提供了哪些好处,让我们逐个重要的细节来了解。 什么是容器?它们是如何工作的? 在深入研究Docker的内部机制之前,我们首先要了解容器的概念。简单地说…

解密Prompt系列4. 升级Instruction Tuning:Flan/T0/InstructGPT/TKInstruct

这一章我们聊聊指令微调,指令微调和前3章介绍的prompt有什么关系呢?哈哈只要你细品,你就会发现大家对prompt和instruction的定义存在些出入,部分认为instruction是prompt的子集,部分认为instruction是句子类型的prompt…

前端下载PDF内容空白且大小偏大问题解决

前端使用React框架axios请求后端接口下载文件,请求返回正常但文件大小和内容异常。经排查,其原因是使用了mockjs用作数据模拟,导致了请求异常,将其注释掉后,文件大小与内容恢复正常。 目录 1.文件异常 2.定位问题 3…

idea-控制台输出乱码问题

idea-控制台输出乱码问题 现象描述: 今天在进行IDEA开发WEB工程调式的时候控制台日志输出了乱码,如下截图 其实开发者大多都知道乱码是 编码不一致导致的,但是有时候就是不知到哪些地方不一致,今天我碰到的情况可能和你的不相同…