Java新特性(二)
這段時間太忙,更新的頻率有點小了!剛解決了一個復雜的算法問題,現在就抽這點時間來講講剩下的一部分java新特性。
在上一節中我們學過泛型、自動裝箱拆箱、for循環,這一節的內容是可變長參數、枚舉類型和靜態引用。
我們需要構造一個或多個方法來解決一個實際的問題,而每個方法又包括方法名、方法權限、返回參數、形參類型、形參和方法體等。其中,方法形參可以是一個,也可以是多個。在實際開發中,通常會遇到這樣的情況,我們需要向同一個方法中傳入類型相同而個數不定的形參,例如現有一個方法sum(int?x,int?y),通過sum(2,3)調用這個方法,可以返回2+3=5的值,如果現在我有很多類型與之相同的表達式需要計算,比如2+5+6,2+9+7+7...由于表達式太多,我們不可去能重載sum()方法,那么java的新特性可變參數就開始起作用了。
觀察下面一段程序:
public?class?ChangeableVariable
{
/**
?*?@param?args
?*/
public?static?void?main(String[]?args)
{
System.out.println(sum(1));
System.out.println(sum(1,2));
System.out.println(sum(1,2,3));
}
public?static?int?sum(int...n)
{
int?sum=0;
for(int?x:n)
{
sum+=x;
}
return?sum;
}
}
運行結果:
1
3
6
是不是感覺很驚奇呢?在以上代碼中,我們僅僅使用了一個函數就完成了表達式1,1+2,1+2+3的計算,這樣的做法在java?1.5之前是不可思議的。現在我們來簡單地分析一下以上代碼的原理,首先我們觀察int?sum(int...n),里面的int...n就是所謂的可變參數,我們可以向其中傳入任意個參數進行運算(注意:參數的類型必須相同,運算類型可以根據實際情況有所不同)。在對可變參數進行取值時,又要用到前面所學的java新特性for循環,這兩種新特性加在一起使用,大大地減輕了程序員的負擔。
大家對于枚舉類型一點也不陌生,不管是面向過程的C語言,還是面向對象的C++,都存在枚舉類型。然而,java在1.5版本前是沒有枚舉類型的,那么在實際運用中,如果想要達到如C/C++中枚舉類型的效果,一般都是聲明多個String的靜態常量,這樣做存在著諸多安全問題,同時,當程序編譯完成后如果對其值進行修改,那么程序不得不重新進行編譯。所以,java在1.5版本中重新引入枚舉的概念。由于枚舉的內容很簡單,這里只做一下簡單的介紹。
枚舉的聲明格式為:
[權限符]+enum+枚舉名{成員1,成員2...}
程序中的調用格式為:
枚舉名.成員
至于靜態引用的問題,跟C++的內容很相似,并且在前面的內容中已經講了很多了,這里就不再多講了。
下節將講解面向對象編程基礎,這節的內容就到這里。
轉載于:https://www.cnblogs.com/jeancandoit/archive/2011/10/30/2306699.html
總結
以上是生活随笔為你收集整理的Java新特性(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 芭乐的正确吃法
- 下一篇: java美元兑换,(Java实现) 美元