JavaNumber类&JavaMath类

Java Number类&Java Math

 

Java Number类中的方法

 

1.xxxValue()包装类----->原始数据类型

2.compareTo(参数)相同数据类型的比较

3.equals(Object o)包装类之间的比较

4.valueOf()方法原始数据类型/String----->包装类

5.toString()方法原始数据类型/包装类---->String

6.parseInt()通过number类的parsexxx()方法使String-->原始数据类型

Java Math类中的方法

1.abs()绝对值

2.ceil()向上取整

3.floor()向下取整

4.round()四舍五入

5.rint()返回最接近参数的整数值

6.min()两个参数的最小值

7.max()两个参数的最大值

8.exp()e的参数次方

9.log() 参数的log值

10.pow()第一个参数的第二个参数的次方

11.sqrt()参数的算术平方根

12.sin() cos() tan()

13.asin() acos() atan()

14.atan2()y/x的反正切值

15.toDegrees()参数->角度

16.toRadians()角度->弧度

17.random()随机数

 

 

java Number类

 在实际开发过程中,我们经常会遇到需要使用对象,而不是内置数据类型的情形。为了解决这个问题,Java语言为每一个内置数据类型提供了对应的包装类

 

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

 

这种由编译器特别支持的包装称为装箱,所以当内置数据类型被当作对象使用的时候,编译器会把内置类型装箱为包装类。

相似的,编译器也可以把一个对象拆箱为内置类型。Number类属于java.lang包。

 

public void test(){

    Integer a = 10;//此时a是一个对象,要进行赋值,必须进行装箱
    a = a +10;//此时a要进行运算,需要拆箱,这时a是一个int型变量
}

 

public void test(){
  1.xxxValue()
  包装类----->原始数据类型
  将number对象转换为xxx数据类型的值并返回
  Integer A = 10;
  Byte B = 1;
  int a = A.intValue();
  int b = B.byteValue();
  //byteValue();doubleValue();floatValue();
  //longValue();shortValue(); intValue()
  
  2.compareTo(参数)
  相同数据类型的比较
  该方法用于Number对象与方法的参数进行比较。
  该方法用于两个相同数据类型的比较,两个不同类型的数据不能用此方法来比较。
  
  返回值:
    如果指定的数与参数相等返回0.
    如果指定的数小与参数返回-1.
    如果指定的数大于参数返回1.
    Integer C = 10;
    sysout(C.compareTo(10));//0
    sysout(C.compareTo(5));//-1
    sysout(C.compareTo(15));//1
  
   3.equals(Object o)方法
    包装类之间的比较
    o - 任何对象
    当Number对象不为Null,且与方法的参数类型数值都相等返回True,否则返回false
    Double和Float对象还有一些额外的条件
    Integer A  = 10;
    Integer B  = 5;
    Integer C  = 10;
    Short   D  = 10;
    sysout(A.equals(B));//false
    sysout(A.equals(C));//true
    sysout(A.equals(D));//false
  
    4.valueOf()方法
    原始数据类型/String----->包装类
    用于返回给定参数的原生Number对象值,参数可以是原生数据类型,String等。
    该方法是静态方法,该方法可以接收两个参数一个是字符串,一个时基数。
    
    语法格式:
    static Integer valueOf(int i)
    static Integer valueOf(String s)
    static Integer valueOf(String s, int radix)
    
    参数:
  
    i -- Integer 对象的整数。
    s
-- Integer 对象的字符串。

    radix --在解析字符串 s 时使用的基数,用于指定使用的进制数。
    
    返回值:
    Integer valueOf(int i):返回一个表示指定的 int 值的 Integer 实例。
    Integer valueOf(String s):返回保存指定的 String 的值的 Integer 对象。
    Integer valueOf(String s, int radix): 返回一个 Integer 对象,该对象中保存了用第二个参数提供的基数进行解析时从指定的 String 中提取的值。
         
     例子:
     Integer x = Integer.valueOf(9);         Double c = Double.valueOf(5);         Float a = Float.valueOf("80");         Integer b = Integer.valueOf("444",16); // 使用 16 进制         System.out.println(x); //9         System.out.println(c);//5.0         System.out.println(a);//80.0         System.out.println(b);//1092

     5.toString()方法
      原始数据类型/包装类---->String

     用于返回一个字符串表示的Number对象值。
     如果方法使用了原始的数据类型作为参数,返回原始数据类型的String对象值。
     如果方法有两个参数,返回用第二个参数指定基数表示的第一个参数的字符串表示形式。

      语法:
         String toString()
         static String toString(int i)
      参数:
        i - 要转换的整数
      返回值
        toString():返回表示Integer值的String对象。
        toString(int i):返回表示指定int的String对象。
      实例
          Integer x = 5;        
          System.out.println(x.toString());//5       
          System.out.println(Integer.toString(12));//12


      6.parseInt()方法
        通过number类的parsexxx()方法使String-->原始数据类型
        用于将字符串参数作为有符号的十进制整数进行解析
        语法:
        static int  parseInt(String s)
        static  int  parseInt(String s,int radix)
        参数:
          s--十进制表示的字符串
          radix--指定的基数
        返回值
          parseInt(String s):返回用十进制参数表示的整数值
          parseInt(int i):使用指定基数的字符串参数表示的整数(基数是进制)

        实例
            int x =Integer.parseInt("9");      
             double c = Double.parseDouble("5");        
            int b = Integer.parseInt("444",16);        
           System.out.println(x);  //9      
           System.out.println(c);  //5.0     
          System.out.println(b);//1092

}

 

 

Java Math类

Math的方法都被定义static形式,通过Math类可以在主函数中直接调用。

 

      1.abs()方法
      返回参数的绝对值,参数是原始数据类型
      Math.abd(a);//a的绝对值

      2.ceil()方法
      向上取整
      对一个数进行上舍入,返回值大于或等于给定的参数
      参数为float/double双精度浮点型
      Math.ceil(100.2341);//101.0

      3.floor()方法
      向下取整
      对一个数进行下舍入,返回给定参数最大的整数,该整数小于或等于给定的参数
      参数为float/double双精度浮点型
      Math.floor(100.2341);//100

      4.round()方法
      四舍五入,返回最接近的int、long型值。
      参数为float/double双精度浮点型
      Math.round(100.2314);//100

      5.rint()方法
      返回最接近参数的整数值,若100.500,则100.0,返回类型为double。
      参数double原始数据类型
      Math.rint(100.675);//100.0
      
      6.min()方法
      返回两个参数的最小值
      参数:
         该方法接收两个原生数据类型作为参数
      返回值:
         返回两个参数的最小值
      Math.min(float a1,float a2);

      7.max()方法
      返回两个参数的最大值
      参数:
          该方法接收两个原生数据类型作为参数
      返回值:
          返回两个参数的最大值
      Math.max(double a1,double a2);

      8.exp()方法               Math.E//e的值
      返回自然数底数e的参数次方
      参数:
        原生数据类型
      返回值:
        返回自然数底数e的参数次方
      Math.exp(x);//e^x;
  
      9.log()方法
      返回参数的自然数底数的对数值
      参数:
        原生数据类型
      返回值:
        返回参数的自然数底数的对数值
      Math.log(x);//log(x)=?

      10.pow()方法
      返回第一个参数的第二个参数次方
      参数:
        两个参数都可是任何原生数据类型
      返回值:
        返回第一个参数的第二个参数次方
      Math.pow(int i1,int i2); i1的i2次方
      
      11.sqrt()方法
      返回参数的算术平方根
      参数:
        任何原生数据类型
      返回值:
        返回参数的算术平方根
      Math.sqrt(x);//x的算术平方根

      12.sin()  cos()  tan() 
      sin()参数的正弦值
      cos()参数的余弦值
      tan()参数的正切值
      参数:
         任何原生数据类型
      double degrees = 45.0;
      double radians = Math.toRadians(degrees);//将度数转成弧度
      
      System.out.format("%.1f 度的正弦值为 %.4f%n", degrees, Math.sin(radians));
      //45.0度的正弦值是0.7071
      
          System.out.format("%.1f 度的余弦值为 %.4f%n", degrees, Math.cos(radians));
      //45.0度的余弦值是0.7071
          System.out.format("%.1f 度的正切值是 %.4f%n", degrees, Math.tan(radians));
       //45.0度的正切值是1.0000
           

      13.asin()  acos()  atan() 
      asin()返回参数的反正弦值
      acos()返回参数的反余弦值
      atan()返回参数的反正切值
    
      参数:
         任何原生数据类型
      返回值:
         返回指定double类型参数的反正弦值
      
      
      double degrees = 45.0;

      double radians = Math.toRadians(degrees);//将度数转成弧度


       System.out.format("%.4f 的反正弦值为 %.4f 度 %n", Math.sin(radians), Math.toDegrees(Math.asin(Math.sin(radians))));
      
    //  0.7071 的反正弦值为 45.0000 

       System.out.format("%.4f 的反余弦值为 %.4f 度 %n", Math.cos(radians), Math.toDegrees(Math.acos(Math.sin(radians))));

    //  0.7071 的反余弦值为 45.0000 度 

      System.out.format("%.4f 的反正切值 %.4f 度 %n", Math.cos(radians), Math.toDegrees(Math.atan(Math.sin(radians))));

    //   0.7071 的反正切值 35.2644 度 


       14.atan2()  
  atan2()用于将矩形坐标 (x, y) 转换成极坐标 (r, theta),返回所得角 theta。该方法通过计算 y/x 的反正切值来计算相角 theta,范围为从 -pi 到 pi。
  double  atan2(double x,double y);
  参数:
      Y-纵坐标
      X-横坐标

  返回值:
      与笛卡儿坐标中点(x,y)对应的极坐标中点(r,theta)的theta组件
       double x = 45.0;
       double y = 30.0;
       System.out.println( Math.atan2(x, y) );

        
       15.toDegrees()方法
       toDegrees()方法用于将参数转换为角度
       double toDegrees(double d)
       参数:
          任何原生数据类型
       返回值:
          double值
       
           double x = 45.0;
          double y = 30.0;

          System.out.println( Math.toDegrees(x) );//2578.310078887044
          System.out.println( Math.toDegrees(y) );//1718.8733853924698

        16.toRadians()方法
        用于将角度转换为弧度
        
             参数:
            任何原生数据类型
        返回值:
            double值

            double x = 45.0;
            double y = 30.0;

            System.out.println( Math.toRadians(x) );0.7853981633974483
             System.out.println( Math.toRadians(y) );0.5235987755982988

        16.random()方法
        random() 方法用于返回一个随机数,随机数范围为 0.0 =< Math.random < 1.0。
        没有参数。
        返回值:
          返回一个double值
         System.out.println( Math.random() );
         

 

posted @ 2019-03-31 20:53  鸿森  阅读(276)  评论(0编辑  收藏  举报