1. 程式人生 > 實用技巧 >Introduction to the UIO

Introduction to the UIO

目錄

  • 靜態匯入
  • 自動裝箱/拆箱
  • for-each迴圈
  • 可變引數 列舉

JDK 5.0 新特性簡介

JDK 5.0 的一個重要主題就是通過新增一些特性來簡化開發,這些特性包括:

  • 靜態匯入
  • 自動裝箱/拆箱
  • for-each迴圈
  • 可變引數
  • 列舉
  • 泛型
  • 註解

  使用這些特性有助於編寫更加清晰,精悍,安全的程式碼。

1.靜態匯入

  JDK5.0增加的靜態匯入語法用於匯入指定類的某個靜態屬性值(方法),

  或全部靜態屬性值(方法) 靜態匯入語句使用 import static 語句

  匯入指定類的單個靜態屬性: import static java.lang.System.out

  匯入指定類全部靜態屬性 import static java.lang.Math.*

2.自動裝箱/拆箱

  自動裝箱(autoboxing):把一個基本資料型別直接賦給對應的包裝類變數, 或者賦給 Object 變數

  自動拆箱:把包裝類物件直接賦給一個對應的基本型別變數

Ø基本資料型別的自動拆箱與裝箱

  • 自動裝箱: Integer num1 = 12;
  • 自動拆箱: System.out.println(num1 + 12);

    基本資料型別的物件快取: Integer num1 = 12; Integer num2 = 12;

    //這塊相等,<=127都是真的 System.out.println(num1 == num2);

    Integer num3 = 129; 這塊不相等,因為是物件 Integer num4 = 129;

    System.out.println(num3 == num4); Integer num5 = Integer.valueOf(12);

    Integer num6 = Integer.valueOf(12) ; 這塊的道理同上 System.out.println(num5 == num6);

  自動拆裝箱
  * 針對java八大基本資料型別推出
  * question1:
  * int
  * double
  *float
  * byte
  * char
  * short
  *boolean 布林
  *long

3.for-each迴圈

使用foreach迴圈遍歷陣列和集合元素時, 無須獲得陣列和集合長度, 無須根據索引來訪問陣列元素和集合元素, forearch 迴圈自動遍歷陣列和集合的每個元素

語法格式: for(type varName : array | collection) { //varName 自動迭代訪問每一個元素 }

4.可變引數

從JDK5.0 開始, Java 允許定義形參長度可變的引數,從而允許為方法指定數量不確定的形參 若在定義方法時,

在最後一個形參的型別後增加三點(…), 則表明該形參可以接受多個引數值, 多個引數值被當成陣列傳入 可變形參只能處於形參列表的最後,

所以一個方法最多隻能有一個長度可變的形參 呼叫包含一個可變形參的方法時, 可以為該形參傳入多個引數或一個數組

5.列舉類入門

JDK5 新增的enum關鍵字用於定義列舉類 列舉類和普通類的區別:

使用 enum 定義的列舉類預設繼承了java.lang.Enum類 列舉類的構造器只能使用private訪問控制符 列舉類的所有例項必須在列舉類中顯示列出(”,”分隔,”;”結尾). 列出的事例系統會自動新增 public static final 修飾 所有的列舉類都提供了一個values方法, 該方法可以很方便地遍歷所有的列舉值 JDK5.0 中可以在 switch 表示式中使用列舉類的物件作為表示式, case 子句可以直接使用列舉值的名字, 無需新增列舉類作為限定


java程式碼(自動拆裝箱)

public class Demo1 {
    public static void main(String[] args) {
        int i=200;
        Integer int1=300;
        Integer int2=300;
        System.out.println(int1==int2);
        System.out.println(int1.equals(int2));
        System.out.println("-----------------------");

        Integer int3=100;
        Integer int4=100;
        System.out.println(int3==int4);
        System.out.println(int3.equals(int4));
        System.out.println("--------------------------");



        Integer int5=Integer.valueOf(103);
        Integer int6=Integer.valueOf(103);
        System.out.println(int5==int6);
        int x = int5;
    }
}

java程式碼(for迴圈)

public class Demo3 {
    public static void main(String[] args) {
        int[] arr = new int[]{10,20,30,40,50};
        for (int i:arr) {
            System.out.println(i);
        }

        Set<String> set = new HashSet();
        set.add("a");
        set.add("b");
        set.add("c");
        set.add("d");
        set.add("e");
        for (String s:
             set) {
            System.out.println(s);
        }


    }
}

java程式碼(可變引數)

public class Demo4 {
    public static void main(String[] args) {
        Demo4.fun("aa");
        Demo4.fun("bb",1);
        Demo4.fun("cc",1,2,3);
        int[] arr = new int[]{10,20,30};
        Demo4.fun("dd",arr);

    }
    public static  void fun(String s,int... x){
        System.out.println("___________");
        System.out.println(x.length);
        for (int i: x) {
            System.out.println(i);

        }
    }
}

心得:

  總會有些人,與我們漸行漸遠。努力才能找到方向、找到方法,至少能夠讓自己變得真正優秀起來。

  只有站在足夠的高度上,才會擁有更多的選擇權利,也才有可能引導生活向你所希望的方向行進。