一般地, 当需要使用数字的时候, 我们通常使用内置数据类型, 如 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 对象的实例:
- public class Test{
- public static void main(String[] args){
- int x=10;
- x+=5;
- System.out.println(x);
- }
- }
当 x 被赋为整型值时, 由于 x 是一个对象, 所以编译器要对 x 进行装箱. 然后, 为了使 x 能进行 jia 运算, 所以要对 x 进行拆箱.
Java Math 类
Java 的 Math 包含了用于执行基本数学运算的属性和方法, 如初等指数, 对数, 平方根和三角函数.
Math 的方法都被定义为 static 形式, 通过 Math 类可以在主函数中直接调用.
public class MathTest { public static void main(String[]args){ System.out.println("90 度的正弦值:"+Math.sin(Math.PI/2));//Math.PI 代表 180 度??? 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));//toDegrees 求角度值??? System.out.println(Math.PI); } }
Number&Math 类方法
下面的表中列出的是 Number&Math 类常用的一些方法:
Math 的 floor,round 和 ceil 方法实例比较
public class MathTestSecond { public static void main(String[] args) { double[] nums={1.4,1.5,1.6,-1.4,-1.5,-1.6}; for(int num=0;num<nums.length;num++){ testNum(nums[num]); } } private static void testNum(double num){ System.out.println("Math.floor("+num+")="+Math.floor(num)); System.out.println("Math.round("+num+")="+Math.round(num)); System.out.println("Math.ceil("+num+")="+Math.ceil(num)); } }
或者
public class MathTestSecond { public static void main(String[] args) { double[] nums={1.4,1.5,1.6,-1.4,-1.5,-1.6}; for(double num:nums){ testNum(num); } } private static void testNum(double num){ System.out.println("Math.floor("+num+")="+Math.floor(num)); System.out.println("Math.round("+num+")="+Math.round(num)); System.out.println("Math.ceil("+num+")="+Math.ceil(num)); } }
来源: http://www.bubuko.com/infodetail-3399158.html