宁海在线

 找回密码
 立即注册

QQ登录

只需一步,快速开始

快捷登录

客服电话:0574-65520000
搜索
查看: 1226|回复: 0

[电脑] java基础--循环控制语句

[复制链接]

17

主题

20

帖子

185

积分

Lv.1 婴儿

Rank: 1

积分
185
在线时间
6 小时
发表于 2010-11-4 15:16:35 | 显示全部楼层 |阅读模式 | 来自北京
java基础--循环控制语句

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

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

【1】 for 循环

for 循环的句法是:

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


例如:

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


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

示例如下:

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


  1. public class Test {
  2.    public static void main(String[] args) {
  3.       for(;;){
  4.          System.out.println("Java私塾");
  5.       }
  6.    }
  7. }
!discuzcode_copyclipboard!


示例 2:可以省略部分


  1. public class Test {
  2.    public static void main(String[] args) {
  3.       for(int i=0;;){
  4.          System.out.println("Java私塾"+i);
  5.       }
  6.    }
  7. }
!discuzcode_copyclipboard!


示例 3:可以省略部分


  1. public class Test {
  2.    public static void main(String[] args) {
  3.       for(int i=0;i<3;){
  4.          System.out.println("Java私塾"+i);
  5.      }
  6.    }
  7. }
!discuzcode_copyclipboard!


示例 4:可以省略部分


  1. public class Test {
  2.    public static void main(String[] args) {
  3.       for(int i=0;;i++){
  4.          System.out.println("Java私塾"+i);
  5.       }
  6.    }
  7. }
!discuzcode_copyclipboard!


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

while 循环的句法是:

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


例如:


  1. int i = 0;
  2. while (i < 10) {  
  3.    System.out.println("Are you finished yet?");  
  4.    i++;  
  5. };  
  6. System.out.println("Finally!");
!discuzcode_copyclipboard!


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

【3】do 循环

do 循环的句法是:

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

例如:


  1. int i = 0;
  2. do {  
  3.    System.out.println("Are you finished yet?");  
  4.    i++;  
  5. } while (i < 10);  
  6. System.out.println("Finally!");
!discuzcode_copyclipboard!


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

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

【4】 特殊循环流程控制

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

break [标注];

continue[标注];

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

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

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

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

例 1:break 的使用

  1. public class Test {
  2.    public static void main(String[] args) {
  3.       for (int i = 0; i < 10; i++) {
  4.          if (i == 5) {
  5.             break;
  6.          }
  7.          System.out.println("i==" + i);
  8.       }
  9.    }
  10. }
!discuzcode_copyclipboard!


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

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

例 2:continue 的使用


  1. public class Test {
  2.    public static void main(String[] args) {
  3.       for (int i = 0; i < 5; i++) {
  4.          if (i == 3) {
  5.             continue;
  6.          }
  7.          System.out.println("i==" + i);
  8.       }
  9.    }
  10. }
!discuzcode_copyclipboard!


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

例 3:label 的使用


  1. public class Test {
  2.    public static void main(String[] args) {
  3.       L: for (int i = 0; i < 5; i++) {
  4.          if (i == 3) {
  5.             break L;
  6.          }
  7.          System.out.println("i==" + i);
  8.       }
  9.    }
  10. }
!discuzcode_copyclipboard!


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

例 4:label 的使用


  1. public class Test {
  2.    public static void main(String[] args) {
  3.       for (int i = 0; i < 5; i++) {
  4.          L:if (i == 3) {
  5.             break L;
  6.          }
  7.          System.out.println("i==" + i);
  8.       }
  9.    }
  10. }
!discuzcode_copyclipboard!


运行的结果是:i==0 一直到 i==4
下载宁海在线客户端
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|客户端|浙公网安备案 33022602000116|宁海在线 ( 浙B2-20200368

关于我们|电话:0574-65520000 ,GMT+8, 2024-11-23 22:02 , Processed in 0.080725 second(s), 23 queries , Apc On.

Powered by Discuz! X3.4

© 2000-2015 NHZJ Inc.

违法和不良信息举报电话:13819844444  邮箱:admin@nhzj.com
 未成年人保护服务电话:13819844444  邮箱:admin@nhzj.com
快速回复 返回顶部 返回列表