日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java新特性(二)

發布時間:2023/12/31 java 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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

是不是感覺很驚奇呢?在以上代碼中,我們僅僅使用了一個函數就完成了表達式11+2,1+2+3的計算,這樣的做法在java?1.5之前是不可思議的。現在我們來簡單地分析一下以上代碼的原理,首先我們觀察int?sum(int...n),里面的int...n就是所謂的可變參數,我們可以向其中傳入任意個參數進行運算(注意:參數的類型必須相同,運算類型可以根據實際情況有所不同)。在對可變參數進行取值時,又要用到前面所學的java新特性for循環,這兩種新特性加在一起使用,大大地減輕了程序員的負擔。

大家對于枚舉類型一點也不陌生,不管是面向過程的C語言,還是面向對象的C++,都存在枚舉類型。然而,java1.5版本前是沒有枚舉類型的,那么在實際運用中,如果想要達到如C/C++中枚舉類型的效果,一般都是聲明多個String的靜態常量,這樣做存在著諸多安全問題,同時,當程序編譯完成后如果對其值進行修改,那么程序不得不重新進行編譯。所以,java1.5版本中重新引入枚舉的概念。由于枚舉的內容很簡單,這里只做一下簡單的介紹。

枚舉的聲明格式為:

[權限符]+enum+枚舉名{成員1,成員2...}

程序中的調用格式為:

枚舉名.成員

至于靜態引用的問題,跟C++的內容很相似,并且在前面的內容中已經講了很多了,這里就不再多講了。

下節將講解面向對象編程基礎,這節的內容就到這里。

轉載于:https://www.cnblogs.com/jeancandoit/archive/2011/10/30/2306699.html

總結

以上是生活随笔為你收集整理的Java新特性(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。