日期:2014-05-20  浏览次数:20818 次

JAVA FOR语句问题
import java.util.*;
public class EmployeeTest{
public static void main(String[] args){
//fill tjhe staff array with three Employee objects
Employee[] staff=new Employee[3];
staff[0]=new Employee("Carl Cracker",75000,1987,12,15);
staff[1]=new Employee("Harry Hacker",50000,1989,10,1);
staff[2]=new Employee("Tony Tester",40000,1990,3,15);
// raise everyone's salary by 5%
for (Employee e:staff)
e.raiseSalary(5);
// print out information bout all Employyee objects
for(Employee e:staff)
System.out.println("name="+e.getName()+",salary="+e.getSalary()+".hireDay="+e.getHireDay());

}

}
class Employee{
public Employee(String n, double s,int year,int month,int day){
name=n;
salary=s;
GregorianCalendar calendar=new GregorianCalendar(year,month-1,day);
// GregorianCalendar uses 0 for January
hireDay=calendar.getTime();
}
public String getName(){
return name;
}
public double getSalary(){
return salary;
}
public Date getHireDay(){
return hireDay;
}
public void raiseSalary(double byPercent){
double raise=salary*byPercent/100;
salary+=raise;
}
private String name;
private double salary;
private Date hireDay;
}
 代码能运行,但我不懂for(Employee e:staff)括号里的意思,高手能否解释

------解决方案--------------------
这是java5新添的for each循环方式
对于每一个Employee类型的e元素(在staff中的)
循环遍历之。