前言
为了解决对数字、日期和系统设置进行处理的困难,如:一些数字&数学问题、随机数问题、日期问题和系统设置问题等。Java为我们提供了多个处理相关问题的类,比如Number类、Math类、Random类、BigInteger类、BigDecimal类、Date类、System类等。今天我们就来学习Number& Marh两个类。
数据类型
Java里的数据类型可以分为引用类型和基本类型,其中基本类型有3大类8个子类
Number类
Java为每一个内置的基本数据类型提供了对应的包装类。其中,6个数值型对应的包装类(Byte、Short、Integer、Long、Float、Double),都是抽象类Number的子类。 在基本类型和包装类型之间,会涉及到装箱和拆箱的操作
介绍
Number 是一个抽象类,也是一个超类(即父类)。Number 类属于 java.lang 包,所有的包装类(如 Double、Float、Byte、Short、Integer 以及 Long)都是抽象类 Number 的子类。
无论是整数型还是浮点型,它们都是数值型,当我们定义数值型变量时,都是直接操作的数字。
抽象类不能直接实例化,而是必须实例化其具体的子类
数据格式化
Java自带了一个,可以对数字进行格式化处理。
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);
}
}
Math类
Java 的 Math 包含了用于执行基本数学运算的属性和方法,如初等指数、对数、平方根和三角函数。
Math 的方法都被定义为 static 形式,通过 Math 类可以在主函数中直接调用。
介绍
为了方便实现这些数学计算功能,Java自身就给我们提供了一个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);
}
}