Dúvida básica - Sintaxe no For

Pessoal, já encontrei em vários códigos essa síntaxe do for:

for(String valor: valores) {
fw.write(valor + “=” + propriedades.get(valor) + “\r\n”);
}

No caso, esse ":"está fazendo o que? como funciona esse laço?

Dá uma olha nesse link: http://java.sun.com/j2se/1.5.0/docs/guide/language/foreach.html

Essa é uma caracteristica nova da versao 5 para interar em uma Coleção, antigamente na 1.4 era assim

for (Iterator iter = listaDeCliente.iterator(); iter.hasNext();) {
   Cliente cliente = (Cliente) iter.next();
   cliente.fazalgo();
}

Agora no Java 5, como voce postou, é assim

for(Cliente cliente: listaDeCliente) { 
   cliente.fazalgo();
}

A interação já é feita com esses “:”

Abraços