Использование «для» в Java

Я довольно новичок в Java и в другом вопросе переполнения стека одля петель ответ сказал, что было два использования для в Java:

for (int i = 0; i < N; i++) {
}


for (String a : anyIterable) {
}

Я знаю первое использование для и использовал его много, но я никогда не видел второго. Что он делал, и когда я буду его использовать?