第二十九课:Number类

一般地,当需要使用数字的时候,我们通常使用内置数据类型,如:byte、int、long、double等。

int i = 5000;
float gpa = 13.65;
byte mask = 0xaf;

然而,在实际开发过程中,我们经常会遇到需要使用对象,而不是内置数据类型的情形。为了解决这个问题,Java语言为每一个内置数据类型提供了对应的包装类。
所有的包装类(Integer、Long、Byte、Double、Float、Short)都是抽象类Number的子类。

第二十九课:Number类_第1张图片
Paste_Image.png

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

public class Test{

   public static void main(String args[]){
      Integer x = 5; // boxes int to an Integer object
      x =  x + 10;   // unboxes the Integer to a int
      System.out.println(x); 
   }
}
第二十九课:Number类_第2张图片
Paste_Image.png
第二十九课:Number类_第3张图片
Paste_Image.png
public class OverClass{  

    
    public static void main(String[] args) {
        
        // Integer 两个构造方法
        Integer a = new Integer(3);
        Integer b = new Integer("123");// NumberFormatException
        System.out.println(a);
        System.out.println(b);

        int ab = a+b;
        System.out.println(ab);

        String [] str = {"1","23","43"};
        int sum = 0;
        for (int i = 0;i < str.length ;i++ ) {
            
            int m = Integer.parseInt(str[i]);
            sum += m;
        }
        System.out.println(sum);

        String age = Integer.toString(21);
        String binary = Integer.toBinaryString(21);
        System.out.println("二进制:"+binary);
        int max = Integer.MAX_VALUE;
        int min = Integer.MIN_VALUE;
        int intSize = Integer.SIZE;
        System.out.println(max);
        System.out.println(min);
        System.out.println(intSize);

        int result = Integer.compare(4,5);
        System.out.println("比较结果:"+result);
        int resultAnother = a.compareTo(b);
        System.out.println("比较结果2:"+resultAnother);

        // Boolean 提供了3个常量
        Boolean b1 = new Boolean(true);
        Boolean b2 = new Boolean("ok");
        Boolean b3 = new Boolean("FALSE");
        System.out.println("b1:"+b1);
        System.out.println("b2:"+b2);
        System.out.println("b3:"+b3);
        System.out.println("b3取反:"+!b3);

        boolean resultB = b1.equals(b2);
        System.out.println("Boolean比较:"+resultB);

        // Character
        Character char1 = new Character('A');
        Character char2 = new Character('B');
        Character char3 = new Character(' ');
        System.out.println("大写:"+Character.isUpperCase(char1));
        System.out.println("大写:"+Character.isLowerCase(char2));
        System.out.println("white Space:"+Character.isWhitespace(char3));


    }
}

你可能感兴趣的:(第二十九课:Number类)