本文目錄一覽:
Java中方法內的可變參數怎麼使用
Java1.5增加了新特性:可變參數:
適用於參數個數不確定,類型確定的情況,java把可變參數當做數組處理。
注意:可變參數必須位於最後一項。當可變參數個數多餘一個時,必將有一個不是最後一項,所以只支持有一個可變參數。因為參數個數不定,所以當其後邊還有相同類型參數時,java無法區分傳入的參數屬於前一個可變參數還是後邊的參數,所以只能讓可變參數位於最後一項。
可變參數的特點:
(1)、只能出現在參數列表的最後;
(2)、…位於變量類型和變量名之間,前後有無空格都可以;
(3)、調用可變參數的方法時,編譯器為該可變參數隱含創建一個數組,在方法體中一數組的形式訪問可變參數。
public class Varable {
public static void main(String [] args){
System.out.println(add(2,3));
System.out.println(add(2,3,5));
}
public static int add(int x,int …args){
int sum=x;
for(int i=0;iargs.length;i++){
sum+=args[i];
}
return sum;
}
}
java 可變參數 什麼意思
可變參數就是當你調用這個方法的時候,可以傳給它任意個參數
一半可變參數定義方法都是
prt(int…){
// 這個方法是可變參數的
}
關於Java可變參數問題?
你好,很高興回答你的問題。
這就是java可變參數的傳參方式,可以直接傳一個符合參數數據類型的數組,也可以是用逗號分割的多個符合參數數據類型變量。
如果有幫助到你,請點擊採納。
…的Java中可變參數的符號
在編寫一個方法時,其參數隨着程序運行的條件而變化,在編譯期間無法確定。具體地講,例如編寫一個打印參加聚會party的程序,其中方法printInvitation()將根據作為參數的參加人姓名,打印邀請卡。但這個參數的數量事先並不確定。當然可以編寫許多重載的方法來解決這個問題,如:
void printInvitation(String name);
void printInvitation(String name1, Stringname2);
void printInvitation(String name1, Stringname2, String name3);
問題是編寫多少個重載的方法才可以解決給所有參加者打印邀請卡?也許需要改變您的程序設計,而使用數組或者鏈接表了。
應用可變參數可以方便、靈活地解決這類問題。例如:
void printInvitation(String…names) {
for (String name : names) {
makeCard(name); //調用方法按照姓名打印邀請卡
System.out.println(Recording info: invitation card has been printed for + name);
}
}
這裡,(String…names)便是可變參數。它包括從0到任意個相同類型的參數。在編譯期間,這個可變參數將被轉換為字符串數組形式,即:void printInvitation(String names).
如下是調用這個方法的例子:
printInvitation(李剛, David Smith);
printInvitation(Greg Wu, Paul Nguyen, Liu Wei, 張新);
printInvitation(); //無參數
當在無參數情況下調用這個方法時,將不執行任何這個方法中的代碼。
如下是運行結果:
Recording info: invitation card has been printed for 李剛
Recording info: invitation card has been printed for David Smith
Recording info: invitation card has been printed for Greg Wu
Recording info: invitation card has been printed for Paul Nguyen
Recording info: invitation card has been printed for Liu Wei
Recording info: invitation card has been printed for 張新
原創文章,作者:UBJOZ,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/329482.html