A simple for statement would be:
for(ForInit/*Optional*/; EXPRESSION/*Optional*/; ForUpdate/*Optional*/) {
}
ForInit:
StatmentExpressionList
LocalVariableDecleration
StatmentExpressionList
e.g
int i = 0; a = 10, z = 2;
Each expression in the sequence is evaluated from left to right and if any expression completes abruptly the for statement completes abruptly and evaluation of the sequence ends from where it has completed. The values of any of the expression which are evaluated left to right are discarded.
Now what would cause the expression to complete abruptly?
At what stage of evaluating each expression in the sequence is the value of that expression discarded, and if the value of that expression is discarded than how does the rest of the for loop execute?
An example for first parameter
For the second parameter
And for the third (can you guess it?)
Of course the rest of the loop is not executed.
UPDATE: I interpret the reference to “discarded values” (can’t check now) as: