天天看點

JDK1.5新特性之(增強for循環、可變參數、靜态導入)

增強for循環

      增強for循環簡化了一般for的書寫,但增強for循環卻不可以完全替代普通for循環,比如向控制台循環用星号列印出一個三角形,就必須用普通for循環,增強for循環再疊代集合數組時顯示了它的簡便,為了代碼的簡便課選用增強for循環。

增強for循環的書寫格式如下:

for(type 變量名:集合變量名){...}

可變參數

       在JDK1.5之前不确定方法的參數個數,是使用的是數組作為參數進行傳遞或者是方法進行重載,每次還要定義一個數組十分的不友善,要是重載那就更不友善,那該寫多少個。可變參數的出現解決了這些繁重的工作,使得編寫代碼更加的簡便。

可變參數的書寫格式如下:

權限修飾詞   傳回類型   方法名(參數類型 參數名 ...){方法體}

注意:

①    那三個點點隻能出現在參數清單的最後;

②    隻能出現在參數和變量名之間,前後有無空格都可以;

③    調用可變參數的方法時,編譯器為該可變參數隐含建立一個數組,

④    在方法體中以數組的形式通路可變參數。

增強for循環和可變參數代碼如下:

class Demo
{
	public static int add(int x,int ... args){
		int sum = x;
		for(int arg : args){
			sum+=arg;
		}
		return sum;
	}
	public static void main(String[] args) 
	{
               System.out.println(add(4,5,6,7,8));//30
	}
}
           

靜态導入

import語句不僅可以導入類,還增加了導入靜态方法和靜态域的功能。

靜态導入的格式:

import static 靜态方法的包名

例如:如果在源檔案的頂部,添加一條指令:

import static java.lang.System.*;

就是可以使用System類的靜态方法和靜态域,而不必加類名字首。

out.println("Goodbye,world!");

exit(0);

另外,還可以導入特定的方法或域:

import static java.lang.System.out;

     實際上,是否有更多的程式員采用System.out或System.exit的簡寫形式,是一件值得懷疑的事情。這種編寫形式不利于代碼的清晰度。不過,靜态導入有兩個實際的應用更合人心意。

算術函數:如果對Math類使用靜态導入,就可以采用更加自然的方式使用算術函數。

例如:

sqrt(pow(x,2)+pow(y,2))

看起來比

Math.sqrt(Math.pow(x,2)+Math.pow(y,2))

清晰得多。

笨重的常量:如果需要使用大量帶有冗長名字的常量,就應該使用靜态導入。例如:

if(d.get(DAY_OF_WEEK)==MONDAY)

看起來比

if(d.get(Calendar.DAY_OF_WEEK)==Calendar.MONDAY)

容易得多。

繼續閱讀