Java Number&Math类

Java Number&Math类

一般地,当需要使用数字的时候,我们通常使用内置数据类型,如byte、short、int、long、float、double(char、String、boolean除外(0八进制,0x十六进制,f,d))。

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

所有的包装类(int、long、byte、short、float、double)都是抽象类Number的子类。

这种由编译器特别支持的包装称为装箱,所以当内置数据类型被当作对象使用的时候,编译器会把内置类型装箱为包装类。相似的,编译器也可以把一个对象拆箱为内置类型。Number类属于Java.lang包。

下面是一个使用integer对象的实例:

1 public class Test{
2 public static void main(String[] args){
3 int x=10;
4 x+=5;
5 System.out.println(x);
6 }
7 }

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


 

Java Math类

 Java的Math包含了用于执行基本数学运算的属性和方法,如初等指数、对数、平方根和三角函数。

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

 1 public class MathTest {
 2     public static void main(String[]args){
 3         System.out.println("90度的正弦值:"+Math.sin(Math.PI/2));//Math.PI代表180度???
 4         System.out.println("0度的余弦值:"+Math.cos(0));
 5         System.out.println("60度的正切值:"+Math.tan(Math.PI/3));
 6         System.out.println("1的反正切值:"+Math.atan(1));
 7         System.out.println("Π/2的角度值:"+Math.toDegrees(Math.PI/2));//toDegrees求角度值???
 8         System.out.println(Math.PI);
 9     }
10 }

 


 

Number&Math类方法

 下面的表中列出的是Number&Math类常用的一些方法:


 

Math的floor,round和ceil方法实例比较

 

 1 public class MathTestSecond {
 2     public static void main(String[] args) {
 3         double[] nums={1.4,1.5,1.6,-1.4,-1.5,-1.6};
 4         for(int num=0;num<nums.length;num++){
 5         testNum(nums[num]);
 6         }
 7     }
 8     private static void testNum(double num){
 9         System.out.println("Math.floor("+num+")="+Math.floor(num));
10         System.out.println("Math.round("+num+")="+Math.round(num));
11         System.out.println("Math.ceil("+num+")="+Math.ceil(num));
12 
13     }
14 }

或者

 1 public class MathTestSecond {
 2     public static void main(String[] args) {
 3         double[] nums={1.4,1.5,1.6,-1.4,-1.5,-1.6};
 4         for(double num:nums){
 5         testNum(num);
 6         }
 7     }
 8     private static void testNum(double num){
 9         System.out.println("Math.floor("+num+")="+Math.floor(num));
10         System.out.println("Math.round("+num+")="+Math.round(num));
11         System.out.println("Math.ceil("+num+")="+Math.ceil(num));
12 
13     }
14 }

 


 

posted @ 2020-01-30 10:12  yl新蜜蜂  阅读(148)  评论(0编辑  收藏  举报