What does this for(:) mean in Java?
<pre><code>package MyTest;

import java.beans.BeanInfo;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;

class Person {
...
}

class Student extends Person {
...
}

public class IntrospectorDemo {

    /**
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        BeanInfo info = Introspector.getBeanInfo(Student.class, Person.class);
        PropertyDescriptor[] props = info.getPropertyDescriptors();
        for (PropertyDescriptor prop : props) {
            System.out.println(prop.getName() + "::" + prop.getPropertyType());
        }
    }

}
</code></pre>

<p>I am learning the above code which tells me what is introspector and what is stopClass.
But I don't understand what is meaning of this? <code>for (PropertyDescriptor prop : props)</code> ?
Usually a for() should be like this: <code>for(i=0;i&lt;100;i++)</code>
Could anyone please help to further explain it? Thanks!</p>
