JAVA之变长参数.doc_第1页
JAVA之变长参数.doc_第2页
JAVA之变长参数.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大家还记得前面的教程中,我给大家讲解了使用数组作为形式参数来构造可变长度的参数,那时我告诉大家Java中支持直接的可变长度的参数的。今天我就给大家讲解下Java中可变长度的参数的语法规则。在Java中,可变长度的参数在类型后面加三个点()来表示。如:Java代码1. staticvoidyourMethodInVarargs(int.v)上面的yourMethodInVarargs方法可以使用0个或多个参数来调用。这里的v其实是一个int数组,然后在方法内部使用v的时候和正常的数组一样使用。下面我给大家一个使用可变长度参数的例子:Java代码1. publicclassMainClass 2. /vaTest()nowusesavararg. 3. publicstaticvoidvaTest(int.v) 4. System.out.print(Numberofargs:+v.length+Contents:); 5. /Jdk1.5的增强循环 语法就和C#的foreach一样 它在底层是使用的迭代子(Iterator)循环的方式(数组除外) 支持的是数组和Collection(包括List和Set等) 也存在迭代子循环在多线程的即时失败的异常6.7. for(intx:v) 8. System.out.print(x+); 9. 10. System.out.println(); 11. 12. 13. publicstaticvoidmain(Stringargs) 14. vaTest(10);/1arg 15. vaTest(1,2,3);/3args 16. vaTest();/noargs 17. 18. 上面的代码中,我们定义了一个可变长度参数的方法vaTest,然后在其中,我们先输出了当前有几个参数被传递到方法中,然后我们用for循环将这些参数的值都输出到控制台。下面是它的运行结果。Number of args: 1 Contents: 10 Number of args: 3 Contents: 1 2 3 Number of args: 0 Contents:使用可变长度参数的时候大家需要注意一个问题,如果方法带有多个参数的时候,可变长度的参数一定要放着最后一个参数的位置,否则报错。这里我想大家 都应该可以明白为何要这样做,因为参数长度可变,如果将可变长度的参数放到前面的话,在运行时无法判断参数是固定的还是可变的。同时,根据上述讲解,我想大家也能推出一个结论,可变长度参数在一个方法内只能有一个。为什么呢?因为可变长度的参数只能是最后一个参数,如果有两个可变长度的参数的话,那么就会出现一个可变长度的参数不是最后一个参数的情况,这是不允许的。我们前面讲过方法的重载,那么是不是带有可变长度的参数的方法也可以重载呢?答案是肯定的。下面我就给出一个例子,大家自己看看。Java代码1. classMainClass 2. staticvoidvaTest(int.v) 3. System.out.print(vaTest(int.):+Numberofargs:+v.length+Contents:); 4. for(intx:v) 5. System.out.print(x+); 6. 7. System.out.println(); 8. 9. 10. staticvoidvaTest(boolean.v) 11. System.out.print(vaTest(boolean.)+Numberofargs:+v.length+Contents:); 12. 13. for(booleanx:v) 14. System.out.print(x+); 15. 16. System.out.println(); 17. 18. 19. staticvoidvaTest(Stringmsg,int.v) 20. System.out.print(vaTest(String,int.):+msg+v.length+Contents:); 21. 22. for(intx:v) 23. System.out.print(x+); 24. 25. System.out.println(); 26. 27. 28. publicstaticvoidmain(St

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论