Java 包裝類、集合框架概述

==== 1 包裝類
基本數據類型 (原生類)
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean

//例子 取int 型的最大值
   Integer.MAX_VALUE
   
//例子 把一個字符變大寫
   System.out.println( Character.toUpperCase('a'));
   
//例子,判斷一個字符是不是數字 ,是不是字母
System.out.println(Character.isDigit('9')); // true
System.out.println(Character.isLetter('a')); // true

//例子 把一個數字轉成字符串
int x=90;
String str=x+"";

 或:
 Integer.toString(x);

//例子 把 字符串轉成數值
String d=“30”;
String pi=“3.14”;
System.out.println(Integer.parseInt(d) * Float.parseFloat(pi));

//例子 
  Integer x=new Integer("90");  //這裏傳數字類型的90也可以   
  int a=x.intValue();
  
//例子 與進制轉換相關
int a=90;

//2進制
System.out.println(Integer.toBinaryString(a));  //0B1011010  
//16進制
System.out.println(Integer.toHexString(a)); //0x5A
//8進制
System.out.println(Integer.toOctalString(a)); //0132


如何行成類似 101010 ,101011,011111,010111 這樣的串
 int result=new Random().nextInt(0B111111+1);
 System.out.println(Integer.toBinaryString(result));
 
 然後在前面補0就可以了  "000000" .... 
 

關於裝箱和拆箱 

 裝箱: 就是把基本數據類型轉成包裝類的過程 10 == > Integer(10)
 拆箱: 就是把包裝類的對象還原成基本數據型的過程   Integer(10) > 10
 
 //例 
 Integer x =new Integer(9);   
 Integer y =new Integer("9");

 System.out.println(x==y);  //false
 System.out.println(x.equals(y));  //true
  
 從jdk1.5以後 
  Integer x=5;  //可以,它會自動裝箱 
  x+=3;         //可以,先自動拆箱,進行運算後,再把結果自動裝箱
  
  傳參的時候 基本數據類型,和包裝類是完全兼容的
  public static void main(String[] args) {
   Integer x=5;
   test(x);  //ok 
   test2(9); //ok
 }
 
 static void test(int a) { 
 }
 
 static void test2(Integer a) {  
 }
 
包裝類的對象是可以取null值的,但要注意進行運算的時候容易出錯
Integer x=null;
x+=3;   //不可以 引發 NullPointerException  空指針異常

//例
Integer a =100;
Integer b =100;
System.out.println(a==b); //true

     Integer a =128;   當integer的值超過127的時候,它的存放發生了變化

Integer b =128;
System.out.println(a==b); //false

==== 2 集合框架概述
數組 :元素類型必須相同, 長度一經創建就不能改變

集合類: 用於存放一組對象,長度可變 ,如果不加限定,可以存放任意類型對象
    
                  Collection  (接口)                                          Map(接口)
           List                     Set                            HashMap              TreeMap
ArrayList LinkedList Vector   HashSet   TreeSet                  LinkedHashMap
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章