JAVA Number与Math类

时间:2024-07-02 14:36:26

Number类:

当要用到数字的时候,我们除了使用内置数据类型byte,int,double等来声明,我们还把它声明为一个对象;

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

当被声明为对象时,编译器会把该类型装箱为包装类,运算时再拆箱为内置类型;

Number 类属于 java.lang 包。

      Integer x = 5;
x = x + 10;

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

Math类:

math类定义了基本数学运算的属性和方法,所有方法都为static,可以通过math类在主函数直接调用。

         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);

Number类与Math类的方法:

1.intValue():(其他类型同理)

  以int形式返回

       Integer x = 5;
// 返回 byte 原生数据类型
System.out.println( x.byteValue() ); // 返回 double 原生数据类型
System.out.println(x.doubleValue()); // 返回 long 原生数据类型
System.out.println( x.longValue() );

2.compareTo(referenceName):  referenceName -- 可以是一个 Byte, Double, Integer, Float, Long 或 Short 类型的参数。

比较该数与给定参数的大小:

  如果小于参数返回-1;

    等于返回0;

    大于返回1;

       Integer x = 5;
System.out.println(x.compareTo(3));

3.equals(o):  o--任何对象

判断该对象与参数对象的类型和数值是否相等:

  都相等返回True;

  不相等返回false;

         Integer x = 5;
Integer y = 10;
Integer z =5;
Short a = 5; System.out.println(x.equals(y));
System.out.println(x.equals(z));
System.out.println(x.equals(a));

4.valueof():静态方法,三种重载,返回一个number对象

 static Integer valueOf(int i)
static Integer valueOf(String s)
static Integer valueOf(String s, int radix)    //radix为返回的进制
         Integer x =Integer.valueOf(9);
Double c = Double.valueOf(5);
Float a = Float.valueOf("80");
    Integer b = Integer.valueOf("444",16); // 使用 16 进制

5.toString():返回一个字符串表示的number值,两种格式:

  如果方法有两个参数, 返回用第二个参数指定基数表示的第一个参数的字符串表示形式。

 String toString()
static String toString(int i)
         Integer x = 5;

         System.out.println(x.toString());
System.out.println(Integer.toString(12));

6.parseInt():将字符串参数作为有符号的十进制整数进行解析 

 static int parseInt(String s)

 static int parseInt(String s, int radix)
         int x =Integer.parseInt("9");
double c = Double.parseDouble("5");
int b = Integer.parseInt("444",16);

7.abs():返回绝对值

         Integer a = -8;
double d = -100;
float f = -90; System.out.println(Math.abs(a));
System.out.println(Math.abs(d));
System.out.println(Math.abs(f));

8.ceil():向上取整    9.floor():向下取整    参数:double或者float    返回值:保留小数点后一位

         double d = 100.675;
float f = -90; System.out.println(Math.ceil(d));
System.out.println(Math.ceil(f)); System.out.println(Math.floor(d));
System.out.println(Math.floor(f));

9.rint(double):返回与参数最近的整数,保留一位小数

10.round():四舍五入,返回一个整数,算法为floor(x+0.5)

11.min  12.max  返回两个参数中的最小,最大值

13.exp(d):返回e的d次方

double exp(double d)

14.log(d):返回以e为底的d的对数

15.pow(a,b):返回a的b次方

16.random():返回一个[0,1)的随机数