luodis 发表于 2010-11-4 15:16:35

java基础--循环控制语句

java基础--循环控制语句

Java 私塾跟我学系列——JAVA 篇   网址:www.javass.cn

循环语句使语句或块的执行得以重复进行。Java 编程语言支持三种循环构造类型:for,while 和 do 循环。for 和 while 循环是在执行循环体之前测试循环条件,而 do 循环是在执行完循环体之后测试循环条件。这就意味着 for 和 while 循环可能连一次循环体都未执行,而 do 循环将至少执行一次循环体。

【1】 for 循环

for 循环的句法是:

for (初值表达式; boolean 测试表达式; 改变量表达式){
    语句或语句块


例如:

for (int i = 0; i < 10; i++) {
   System.out.println("Are you finished yet?");
}
System.out.println("Finally!");


注意:for 语句里面的 3 个部分都可以省略,但是我们不建议这么做。

示例如下:

示例 1:就是一个无限循环


public class Test {
   public static void main(String[] args) {
      for(;;){
         System.out.println("Java私塾");
      }
   }
}

示例 2:可以省略部分


public class Test {
   public static void main(String[] args) {
      for(int i=0;;){
         System.out.println("Java私塾"+i);
      }
   }
}

示例 3:可以省略部分


public class Test {
   public static void main(String[] args) {
      for(int i=0;i<3;){
         System.out.println("Java私塾"+i);
   }
   }
}

示例 4:可以省略部分


public class Test {
   public static void main(String[] args) {
      for(int i=0;;i++){
         System.out.println("Java私塾"+i);
      }
   }
}

当然还有其他的组合方式,都是可以的。
【2】 while 循环

while 循环的句法是:

while(布尔表达式) {
   语句或块


例如:


int i = 0;
while (i < 10) {
   System.out.println("Are you finished yet?");
   i++;
};
System.out.println("Finally!");

请确认循环控制变量在循环体被开始执行之前已被正确初始化,并确认循环控制变量是真时,循环体才开始执行。控制变量必须被正确更新以防止死循环。

【3】do 循环

do 循环的句法是:

do {
   语句或块;
}while (布尔测试);

例如:


int i = 0;
do {
   System.out.println("Are you finished yet?");
   i++;
} while (i < 10);
System.out.println("Finally!");

象 while 循环一样,请确认循环控制变量在循环体中被正确初始化和测试并被适时更新。作为一种编程惯例,for 循环一般用在那种循环次数事先可确定的情况,而 while 和 do用在那种循环次数事先不可确定的情况。

do 循环与 while 循环的不同这处在于,前者至少执行一次,而后者可能一次都不执行。

【4】 特殊循环流程控制

下列语句可被用在更深层次的控制循环语句中:

break [标注];

continue[标注];

label: 语句;//这里必须是任意的合法的语句;

break 语句被用来从 switch 语句、循环语句和预先给定了 label 的块中退出,跳出离 break 最近的循环。

continue 语句被用来略过并跳到循环体的结尾,终止本次循环,继续下一次循环。

label 可标识控制需要转换到的任何有效语句,它被用来标识循环构造的复合语句。它类似以前被人诟病的“goto”语句,我们应该尽量避免使用。

例 1:break 的使用

public class Test {
   public static void main(String[] args) {
      for (int i = 0; i < 10; i++) {
         if (i == 5) {
            break;
         }
         System.out.println("i==" + i);
      }
   }
}

运行的结果:i==0 一直到 i==4

因为当 i==5 的时候,执行 break,跳出 for 循环。

例 2:continue 的使用


public class Test {
   public static void main(String[] args) {
      for (int i = 0; i < 5; i++) {
         if (i == 3) {
            continue;
         }
         System.out.println("i==" + i);
      }
   }
}

运行的结果:i==0 一直到 i==4,就是不包括 i==3。因为当 i==3 的时候,执行 continue,终止本次循环,继续下一次循环。

例 3:label 的使用


public class Test {
   public static void main(String[] args) {
      L: for (int i = 0; i < 5; i++) {
         if (i == 3) {
            break L;
         }
         System.out.println("i==" + i);
      }
   }
}

运行的结果是:i==0 一直到 i==2

例 4:label 的使用


public class Test {
   public static void main(String[] args) {
      for (int i = 0; i < 5; i++) {
         L:if (i == 3) {
            break L;
         }
         System.out.println("i==" + i);
      }
   }
}

运行的结果是:i==0 一直到 i==4
页: [1]
查看完整版本: java基础--循环控制语句