I'm a bit surprised to see people say they've never seen braces omitted. Unless you just mean on a do loop, which is maybe understandable because do/while is fairly rare in the first place. But in general, braces may be omitted from any for, while, do, if or else clause,
if the body attached to that clause consists of just one statement. In this particular case that's less obvious because the statement a for loop - but note that there's only one line-ending semicolon in that for loop. That's how you can tell that it's just one statement:
[praks]: The braces are required to make code readable and clearer. Well, that's a matter of opinion. Some of us view unnecessary braces as line noise.

It's true that many people consider it bad form to omit braces in these cases. However I certainly think it's necessary for programmers to be able to read and understand such code, even if they believe code shouldn't be written that way. I don't remember if
SCJP intentionally tests on this point - I think it does, but I'm not sure. Regardless, I think any professional
Java programmer should understand the language rules well enough to successfully understand why something like this does not work:
while this does:
Because at some point in your career, you will probably see examples like both of those.
[ December 07, 2006: Message edited by: Jim Yingst ]