for (int i = initializer; i >= 0; i--) { ... }
int limit = calculateLoopLimit();
for (int i = 0; i < limit; i++) { ... }
Type[] array = getMyArray();
for (Type obj : array) { ... } for (int i = 0; i < array.length; i++) { ... }
for (int i = 0; i < this.var; i++) { ... }
for (int i = 0; i < obj.size(); i++) { ... }
Iterable<Type> list = getMyList();
for (Type obj : list) { ... }