增強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)
容易得多。