Это вопрос о .NET. Он спрашивает не о JVM, а о .NET CLR.

татья предполагает иначе. Но все еще необходимо оценить состояние цикла. Ява просто использует конкретный трюк, чтобы распознать этот случай?