package com.qf.demo2;
public class Test {
public static void main(String[] args) {
// 增强for循环
// 数据类型 变量 : 数组名/集合名字
for (String string : args) {
}
int[] a = {1,3,5,3,2,6};
for (int i : a) {
System.out.print(i+"\t");
}
// 增强for循环 书写比普通for简单
// 执行效率也比普通的for循环要高
Person[] persons = new Person[]{new Person("邓超", 42),new Person("孙俪", 34),new Person("等等", 5)};
int i= 0;
for (Person person : persons) {
if(i==1){
person.age = 35;
}
System.out.println(person.toString());
i++;
}
// 当数组循环到第二次的时候给person重新附年龄
for (int j = 0; j < persons.length; j++) {
if(j==1){
persons[j].age = 35;
}
System.out.println(persons[j].toString());
}
// 增强for循环的缺点:没有办法使用for中的索引
}
}
class Person{
String name;
int age;
public Person(String name ,int age){
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Person [name=" + name + ", age=" + age + "]";
}
}
可变长度数组
package com.qf.demo2;
/**
* 可变长度数组
* 格式:
* int...a;
* @author Administrator
*
*/
public class Test2 {
public static void main(String[] args) {
//int... a;// 必须放到方法的形式参数列表上
// 可变长度数组赋值 需要这样去赋
test(1,2,5,3,2,1);
test(3,"aaaaaaa","hello","word");
}
public static void test(int... a){
for (int i = 0; i < a.length; i++) {
System.out.print(a[i]+"\t");
}
}
public static void test(int b,String... a){
for (int i = 0; i < a.length; i++) {
System.out.print(a[i]+"\t");
}
}
// 可变长度数组必须方法形式参数列表的最后一个
}