循环是程序中的重要流程结构之一。循环语句能够使程序代码重复执行,适用于需要重复一段代码直到满足特定条件为止的情况。
所有流行的编程语言中都有循环语句。Java 中采用的循环语句与C语言中的循环语句相似,主要有 while、do-while 和 for。
另外 Java 5 之后推出了 for-each 循环语句,for-each 循环是 for 循环的变形,它是专门为集合遍历而设计的。for-each 并不是一个关键字。
在 JDK 1.8 版本以后,我们还可以使用 Stream 来对进行循环,这个就是后面的其他的专题内容了。
本短文只对 do- while 和 while 来进行一些说明。
在循环中,我们首先想到的可能就是用的 for 循环,因为 For 循环更加好理解,同时因为 Index i 的使用,让循环更加直观和能够更好的跳出循环。
while 类的循环在一些时候可以简化代码,但是相比 for 循环来说没有那么用得多。
do- while 和 while
do- while 和 while 的循环基本相同,唯一不同的就是先循环还是先判断。
在网络上找到了上面一张图,还是很容易说明问题的。
do- while 简单点来说,不管条件是什么,Do 里面的语句总会被执行一次。
这个时候可能会出现一些情况,比如说 Java 中的空对象异常,因为啥都没干,直接拿空对象来进行循环了。
所以我们会看到 do- while 循环在代码中比 while 更少见。
考察下面的代码:
int i = 0;
do {
System.out.println(i);
i++;
}
while (i < 5);
和
int i = 0;
while (i < 5) {
System.out.println(i);
i++;
}
在 While 循环中,while 后面跟着的都是判断条件,这个判断条件只能是 T/F,因为我们需要这个条件来跳出循环。
对于 while 循环,因为我们是先判断的后执行的,所以我们就简化掉不用了 do 这个关键字了,直接用大括号就可以了。
上面的语法其实都是可以用 for 循环来实现的,这也就是很多人第一想到循环的时候用 for 的原因。