62、foreach与可变参数(108)
来源:互联网 发布:天书世界阵法1升2数据 编辑:程序博客网 时间:2024/05/17 22:02
1、foreach循环
2、可变参数
1、foreach循环
JDK1.5也称为JAVASE5.0,这个版本中增加的新功能很多,在后面的课程中会一一为大家讲解。今天要讲的foreach是其中一个。
增强for循环
foreach语法 foreach并不是一个关键字,习惯上将这种特殊的for语句格式称之为“foreach”语句。从英文字面意思理解foreach也就是“for每一个”的意思。实际上也就是这个意思。 (for的一种重载)
for(类型变量名称:数组或集合){
//输出操作
}
没有用i来作为递增变量(内部已经封装了实现细节)
普通for循环
for(inti=0;i<names.length;i++){
System.out.println("for循环的结果:"+names[i]);
}
foreach循环
for(String name:names){ //注意:这里的是一个随意的变量,换成吗m,n都行
System.out.println("foreach循环方式:"+name); //这里方法的参数是上面的随意变量,且要保持一致,不要把参数传成了字符串
}
优缺点:
foreach循环:代码简洁,但可能产生垃圾对象,因为会不断将数组names中的元素取出赋值给name对象,反复不断生成新的name对象
在未来应用中,比较吃内存的如Android应用就不建议使用,如EE中做电脑应用程序就没影响。总结来就是只适用于单纯只遍历(迭代)不考虑内存时。
for循环:可通过变量i来进行一系列输出设置
for(inti=1;i<names.length;i+=i){
System.out.println("for循环改变变量i的结果:"+names[i]);
}
2、可变参数
一个方法中定义好了参数,在调用时必须传入与其一一对应的参数,
但是在JDK1.5之后提供了新的功能,可以根据需要自动传入任意个数的参数。这就是可变参数。
可变参数语法:
返回值类型方法名称(数据类型…参数名称){
}
这里的…代表着同一类型的参数1~n个。可变就体现在同一类型参数的个数上
数组·也是一种类型,可作为参数传递
…连着数据类型写,后接空格形参最为标准。
String... names
…与数据类型间有空格也可。
String ... names
全部连一起也没错。
String...names
可变参数的参数就是一个数组!
public class VariableParameter_0 {public static void main(String args[]){用数组和可变参数作为参数类型时传参的不同点String[] names = {"缪缪","玲玲","琪琪"};//调用数组作为参数的方法。 封装成数组后传进method1(names);//调用可变参数作为参数的方法,可直接写1~n个参数进去。 相当散装method2("缪缪","玲玲","琪琪");//也可传数组进去method2(names);method3(21,names);}//一个参数列表里有多个可变参数时出现受检异常//public static void method3(int... num,String...names){////}//多个参数时,第二个参数作为可变参数public static void method3(int age,String...names){for(String name:names){System.out.println("My wife is "+age+",name is "+name);}}//参数为可变参数public static void method2(String... names){for(String name:names){System.out.println(name+" ");}}//数组作为参数类型public static void method1(String[] names){for(String name:names){System.out.println(name+" ");}}}
1、一个参数列表里只能有一个可变参数,因为可变参数可表示任意多个,如果有两个可变参数,则都会当成第一个可变参数的参数类型,后面的参数永远不会有。
public static void method3(int...num,String...names){
}
在编译期就会报受检期异常
2、在参数列表里有多个参数时,可变参数只能是最后一个,理由同上。
- 62、foreach与可变参数(108)
- Foreach与可变参数
- java中的可变参数与foreach输出
- 8. Java可变参数与foreach
- Java复习之Foreach循环与可变参数
- Java复习——foreach循环与可变参数
- 新特性:可变参数和foreach
- 泛型、foreach、静态导入、可变参数
- java新特性—foreach,可变参数
- 可变长度参数以及foreach循环原理
- 可变参数与printf
- vprintf 与可变参数
- 数组与可变参数
- 新特性对数组的支持(可变参数的使用、foreach输出的使用)
- jdk 1.5新特性——可变参数、Foreach
- 12 foreach 装箱拆箱 可变参数 枚举
- 可变参数的使用和foreach的输出
- 达内课程-foreach循环/可变长参数/枚举/泛型
- 4.关于QT中的QFile文件操作,QBuffer,Label上添加QPixmap,QByteArray和QString之间的区别,QTextStream和QDataStream的区别,QT内存映射(
- 【2-SAT+Tarjan】POJ3207 Ikki's Story IV
- python + sklearn ︱分类效果评估——acc、recall、F1、ROC、回归、距离
- HTTP(一)
- C++中的const讲解(3)---《Effective C++》
- 62、foreach与可变参数(108)
- 【算法入门】广度/宽度优先搜索(BFS)
- 227. Basic Calculator II(unsolved)
- OCP 11G 051题库解析汇总链接
- 【算法入门】A* 寻路算法具体过程及实现
- 用idea创建web项目,servlet response 等出错的原因(jsp中内置对象方法无法被解析的解决办法)
- swift项目中导入OC三方类库时找不到的解决办法
- 字符串扩展进阶
- 1612: [Usaco2008 Jan]Cow Contest奶牛的比赛