【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的子类。 在基本类型和包装类型之间,会涉及到装箱和拆箱的操作

包装类 基本数据类型
Boolean boolean
Byte byte
Short short
Integer int
Long long
Character char
Float float
Double double

介绍

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


目录
相关文章
|
18小时前
|
安全 Java C++
JUC(java.util.concurrent)的常见类(多线程编程常用类)
JUC(java.util.concurrent)的常见类(多线程编程常用类)
|
19小时前
|
存储 Java 容器
Java LinkedList类详解
Java LinkedList类详解
|
19小时前
|
安全 Java API
Java String类(3):StringBulider和StringBuffer详解
Java String类(3):StringBulider和StringBuffer详解
|
19小时前
|
Java 索引
Java ArrayList类详解
Java ArrayList类详解
|
19小时前
|
缓存 安全 Java
Java String类(2)
Java String类(2)
|
19小时前
|
存储 Java C语言
Java String类(1)
Java String类(1)
|
19小时前
|
存储 Java 数据库
Java类与对象详解(3)
Java类与对象详解(3)
|
19小时前
|
Java 编译器
Java类与对象详解(2)
Java类与对象详解(2)
|
19小时前
|
存储 算法 Java
java类和对象详解(1)
java类和对象详解(1)
|
1天前
|
Java 关系型数据库 MySQL
37、一篇文章学习 Java 中的日期相关类(Date 和 Calendar),非常常用
37、一篇文章学习 Java 中的日期相关类(Date 和 Calendar),非常常用
6 0

相关产品

  • 云迁移中心