第二十九課:Number類

一般地,當需要使用數字的時候,我們通常使用內置數據類型,如:byte、int、long、double等。

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

然而,在實際開發過程中,我們經常會遇到需要使用對象,而不是內置數據類型的情形。為了解決這個問題,Java語言為每一個內置數據類型提供了對應的包裝類。
所有的包裝類(Integer、Long、Byte、Double、Float、Short)都是抽象類Number的子類。

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); 
   }
}
Paste_Image.png
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));


    }
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容