Java:可變引數列表
阿新 • • 發佈:2019-01-08
知識總結:
package imooc.method; public class ArgsDemo { //求和 public void sum(int...n){ int sum=0; for(int i:n) { sum+=i; } System.out.println("sum="+sum); } public static void main(String[] args) { // TODO Auto-generated method stub ArgsDemo ad=new ArgsDemo(); ad.sum(1);//累加和 ad.sum(1,2);//3 ad.sum(1,3,4);//8 } }
可變引數的查詢問題:
可變引數列表必須寫在引數的最後一個,陣列也可以做微可變引數列表的引數!
package imooc.method; public class ArgsDemo { //查詢 public void search(int n,int...a)//可變引數列表只能寫在最後一個引數 { boolean flag=false; for(int a1:a){ if(a1==n){ flag=true; } } if(flag){ System.out.println("找到了 "+n); }else { System.out.println("沒找到 "+n); } } public static void main(String[] args) { // TODO Auto-generated method stub ArgsDemo ad1=new ArgsDemo(); ad1.search(1,1,2,3,4,5,6,7);//除了第一個數都是後面都是可變引數列表的值 ad1.search(0,2,3,2,3,4,5,6,7); //可以將陣列傳遞給可變引數列表 int[] a={1,2,3,4,5}; ad1.search(3,a); } }
陣列向可變引數列表傳值是可以相容的,是允許的!但是,可變引數列表項陣列傳值是不允許的!
package imooc.method; public class ArgsDemo { //查詢 public void search(int n,int...a)//可變引數列表只能寫在最後一個引數 { boolean flag=false; for(int a1:a){ if(a1==n){ flag=true; } } if(flag){ System.out.println("找到了 "+n); }else { System.out.println("沒找到 "+n); } } public static void main(String[] args) { // TODO Auto-generated method stub ArgsDemo ad1=new ArgsDemo(); ad1.search(1,1,2,3,4,5,6,7);//除了第一個數都是後面都是可變引數列表的值 ad1.search(0,2,3,2,3,4,5,6,7); //可以將陣列傳遞給可變引數列表 int[] a={1,2,3,4,5}; ad1.search(3,a); } }
可變引數列表作為方法引數的過載問題:
注意:可變引數列表方法是最後系統訪問的,也就是說在同時存在兩個方法過載的情況下,應該先呼叫不可變引數的方法!
文件註釋:/**+回車
可以用@標記程式的版本,作者等!