The for loop header has parts separated by semicolons: initialization, condition, and update.
for (initialization; condition; update) {
// body
}
Initialization runs once before the loop starts. You typically declare and set a loop variable here: int i = 0.
Condition is checked before each iteration. If it's false, the loop ends. Example: i < 10.
Update runs after each iteration of the body. This is where you move the variable closer to the termination condition: i++.
The execution order is: initialize, check condition, run body, update, check condition, run body, update, and so on. The update always happens after the body, not before it.