执行结果如下图所示:
相比于while循环和do-while循环,for循环看起来更加层次分明。因为for循环将初始化语句和迭代语句也囊括在了一个括号中,不像while循环和do-while循环那样,将初始化语句放在循环之前,迭代语句放在循环体中。当然,这只是感官上的区别。
实际上,在大多数情况下,for循环完全可以取代while循环和do-while循环。
另外需要强调一点的是,尽量避免在循环中修改循环变量的值。否则就可能出现死循环。下图就是一个在循环中修改循环变量,从而导致死循环的例子。
此外for循环还有多种省略写法,其中,初始化语句、循环条件、迭代语句甚至循环体都可以省略,最简洁的for循环为:
for(;;) {
}
这种写法在语法上是允许的。只不过由于没有循环条件,因此会一直执行循环体。虽然循环体中没有任何的语句,但是这依然是个死循环,导致程序无法跳出循环继续向下执行。当然,这种玩法也只有在各种面试题中见到,日常开发中很少见。
以上所讲得都是单层循环,实际上循环是可以多层嵌套的。比如下图所示:
执行结果如下图所示: