1. 程式人生 > >JDK7新特性_JDK7的六個新特性

JDK7新特性_JDK7的六個新特性

二進位制字面量
	JDK7開始,終於可以用二進位制來表示整數(
	byte,short,int和long)。使用二進位制字面
	量的好處是,可以使程式碼更容易被理解。
	語法非常簡單,只要在二進位制數值前面加 0b或者0B
	舉例:
		int x = ob110110
		
數字字面量可以出現下劃線
	為了增強對數值的閱讀性,如我們經常把資料用逗號分隔一樣。JDK7提供了_對資料分隔。
	舉例:
		int x = 100_1000;
注意事項:
	不能出現在進位制標識和數值之間
	不能出現在數值開頭和結尾
	不能出現在小數點旁邊

switch 語句可以用字串
	switch 語句可以用字串

泛型簡化
	在集合中講解泛型的時候已經使用過了
	
異常的多個catch合併
	在異常的時候,已經使用了
	
try-with-resources 語句
	格式:
		try(必須是java.lang.AutoCloseable的子類物件){…}
	好處:
		資源自動釋放,不需要close()了
		把需要關閉資源的部分都定義在這裡就ok了
		主要是流體系的物件是這個介面的子類(看JDK7的API)



package cn.itcast_03;

import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;

public class Demo {
	public static void main(String[] args) {
		// 二進位制字面量
		int x = 0b100101;
		System.out.println(x);
		// 數字字面量可以出現下劃線
		int y = 1_1123_1000;
		// 不能出現在進位制標識和數值之間
		int z = 0x111_222;
		// 不能出現在數值開頭和結尾
		int a = 0x11_22;
		// 不能出現在小數點旁邊
		double d = 12.3_4;
		// switch 語句可以用字串
		// 泛型簡化
		ArrayList<String> array = new ArrayList<>();
		// 異常的多個catch合併
		method();
	}

	private static void method() {
		// try-with-resources 語句
		// try(必須是java.lang.AutoCloseable的子類物件){…}

		try {
			FileReader fr = new FileReader("a.txt");
			FileWriter fw = new FileWriter("b.txt");
			int ch = 0;
			while ((ch = fr.read()) != -1) {
				fw.write(ch);
			}
			fw.close();
			fr.close();
		} catch (IOException e) {
			e.printStackTrace();
		}

		// 改進版的程式碼
		try (FileReader fr = new FileReader("a.txt");
				FileWriter fw = new FileWriter("b.txt");) {
			int ch = 0;
			while ((ch = fr.read()) != -1) {
				fw.write(ch);
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}