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 classTest{2 public static voidmain(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 classMathTest {2 public static voidmain(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 classMathTestSecond {2 public static voidmain(String[] args) {3 double[] nums={1.4,1.5,1.6,-1.4,-1.5,-1.6};4 for(int num=0;num
13 }14 }
或者
1 public classMathTestSecond {2 public static voidmain(String[] args) {3 double[] nums={1.4,1.5,1.6,-1.4,-1.5,-1.6};4 for(doublenum:nums){5 testNum(num);6 }7 }8 private static void testNum(doublenum){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 }