Oracle于2011年7月28日發(fā)布JDK7,這是Oracle自2010年4月收購Sun之后第一次對JDK進行升級,升級版本的jdk7的發(fā)布距離今天已有4年多的時間了,隨著jdk7在開發(fā)中的使用越來越廣泛,也為了在實際使用中更好的使用jdk7,現(xiàn)在為大家分享下jdk7在語法上的部分新特性:
1.整數(shù)二進制字面量表示
從JDK7開始支持使用二進制字面量來表示整數(shù)(byte、short、int、long)。直接使用二進制數(shù)來表示整數(shù)會讓我們的代碼看起來更加容易理解了。其使用語法也非常簡單,只要在二進制數(shù)值前面加 0b(b不區(qū)分大小寫)即可。為了方便介紹,這里的二進制數(shù)只使用四位(不是計算機內(nèi)部二進制數(shù)的真實位數(shù))來表示。示例如下:
比如二進制數(shù)2
使用byte類型表示為: byte bt=(byte)0b0010; //2
使用short類型表示為:short st=(short)0b0010; //2
使用int類型表示為:int it=0b0010; //2
使用long類型表示為:long ln=0b0010L; //2
2.下劃線在數(shù)字字面量中的使用
在現(xiàn)實世界里人們表示一些較大的數(shù)字時,為了增加數(shù)字的可讀性,通常會這么做,如:10000000被表示為10,000,000。大家不難看出被使用分割表示的數(shù)字在讀數(shù)時非常輕松,且不易出錯。那么在編程中能否借鑒這種表示方式呢?答案是肯定的。自jdk7提供了一種解決方案,對于一些比較大的數(shù)字,可以使用下劃線對數(shù)字進行分割。示例如下:
比如整數(shù):10,000,000
使用int表示為 int i=10_000_000; //10000000
再比如小數(shù):10,000,000.0
使用float表示為 float f=10_000_000.0f; //1.0E7
以上方法非常簡單的就解決了數(shù)字易讀性的問題,但是要注意:這個用于分割數(shù)字的下劃線只能用在數(shù)字之間。不能用在以下幾個地方:
1.數(shù)字的開頭或結(jié)尾處;
如: int i=10_000_000_; 下劃線在結(jié)尾處是錯誤的用法
2.小數(shù)點的前或后;
如:float f=10_000_000_.0f; 下劃線在小數(shù)點的前面是錯誤的用法
3.后綴f(f不區(qū)分大小寫)的前或后;
如:float f=10_000_000.0_f; 下劃線在后綴符號f的前面是錯誤的用法
3.switch語句對字符串的支持
我們知道java中switch語句對常量表達式的數(shù)據(jù)類型是有限制的,只能是短整型、整型、byte或字符型。這種限制給我們的實際應(yīng)用帶來了諸多不便,以致于在實際使用中我們盡可能的繞過switch語句(因為在程序中字符串的使用頻率是最高的,所以通常我們會使用if-else-if代替之)。然而自jdk7打破了這種限制,添加了switch語句對字符串的支持,那么從現(xiàn)在開始我們可以愛上這位美麗的switch語句了。具體示例如下:
System.out.println("請選擇您的祖國:");
switch("中國"){
case "中國":
System.out.println("我愛死你了,我美麗的祖國!");
break;
case "兔兒起":
System.out.println("我怎么就頂下了餓鍋的飛機昵!");
break;
case "餓鍋":
System.out.println("天殺的兔兒起,額和你沒完!");
break;
case "蓄力牙":
System.out.println("額們的地溝油怎么就溜到你兔兒起去了昵!");
break;
default:
System.out.println("妹鍋大哥應(yīng)該說句公道話昵!");
}
本文版權(quán)歸傳智播客
Java培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明作者出處。謝謝!