for语句
接下来介绍循环结构的for语句,for语句的语法结构是这样的:
for(初始操作;循环继续条件;每次迭代后的操作)
{
循环体语句
}
for循环的流程图概念为:
具体该怎么用呢?举个栗子:
除了这种格式,JDK5之后有了这样一种for循环。
【JDK5中的增强for循环】
优点:
可以简单地遍历数组和Collection等类型的对象。
格式:
for(循环变量类型 循环变量名称 : 被遍历的对象)
{
循环体//如System.out.println(循环变量名称);
}
例如:
public static void main(String[] args) {
String[] arrayStr = {
"java","asp","php","delphi"};
for(int i=0;i<4;i++) {
System.out.print(arrayStr[i]+"\t");
}
System.out.println("\n使用增强型for遍历:");
for(String s : arrayStr) {
System.out.print(s+"\t");
}
}
}
注意:
for循环中的初始动作可以是零个或多个以逗号隔开的语句列表。for循环中每次迭代后的动作可以是零个或多个以逗号隔开的语句列表。因此,下面两个for循环是都正确的。但是它们很少在实际中使用。
for(int i=1;i<100;System.out.println(i++));
for(int i = 0,j=0;(i+j<10);j++){
//Do something
}
如果省略了for循环中的循环继续条件,这隐含地认为循环继续条件为true。因此下图(a)中给出的语句是正确的,但却是一个无限循环。最好是使用等价循环(b)以免混淆:
在for语句末尾循环体之前添加分号是一个常见的错误,如下所示:
将会是for语句变成一个空语句,无论条件是否处理,循环体都将被执行一次。
在学习了三种循环后,该如何选择循环?
三种形式的循环语句:while、do-while和for在表达的效果上是一样的,也就是说,可以使用三种形式任意之一来编写一个循环。例如:图(a)中的while循环总能转化成图(b)中for循环:
除了在某些特殊情况,下图(a)中的for循环接通常都可以转化成图(b)的while循环:
因此,具体选择哪一种全靠个人喜好,需要注明的是,while和for最少执行零次循环体,而do-while至少执行一次。
【嵌套循环】
嵌套循环是由一个外层循环和一个或多个内层循环组成的。每当重复执行一次外层循环时,将再次进入内部循环并重新开始执行。
使用方法和if语句的嵌套类似。