Java 读书笔记 (十一) Number & Math 类

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

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

实例:

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

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

 1 /*
 2 
 3  java 中的自动装箱与拆箱:
 4 
 5       装箱就是自动将基本数据类型转换为包装器类型;
 6 
 7       拆箱就是自动将包装器类型转换为基本数据类型。
 8 */
 9 
10 public class Number{
11     public static void main(String[]args){
12          /*
13          Integer i1=128;    //装箱,相当于Integer.valueOf(128);
14          int t=i1;              //相当于i1.intValue()拆箱
15          System.out.println(t);
16          */
17        
18          /*
19          对于-128到127(默认是127)之间的值,被装箱后,会被放在内存里进行重用,但是如果超出了这个值,系统会重新new一个对象
20          */
21           Integer i1=200;
22           Integer i2=200;
23 
24           /*
25           注意==与equals的区别
26           == 它比较的是对象的地址
27           equals 比较的是对象的内容
28           */
29          
30           if(i1==i2){
31                 System.out.println("true");
32           } else {
33                  System.out.println("false");
34           }
35      }
36 } 

Java Math 类

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

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

 1 public class Test{
 2     public static void main(String[]args)
 3     {
 4           System.out.println("90度的正弦值: "+Math.sin(Math.PI/2));
 5           System.out.println("0度的余弦值: "+Math.cos(0); 
 6           System.out.println("60度的正切值: "+Math.tan(Math.PI/3)); 
 7           System.out.println("1的反正切值: "+Math.atan(1)); 
 8           System.out.println("π/2的角度值: "+Math.toDegrees(Math.PI/2)); 
 9           System.out.println(Math.PI);
10      }
11 }
12 
13 /* 执行结果:
14    90度的正弦值:1.0
15    0度的余弦值:1.0
16    60度的正切值: 1.7320508075688767
17    1的反正切值: 0.7853981633974483
18    π/2的角度值: 90.0
19    3.141592653589793
20 */
原文地址:https://www.cnblogs.com/cheese320/p/8109058.html