Java中for循环中执行顺序问题及bre…

最近在机子上装了jdk1.4.2,装了编辑器eclipse3.0.1,用后感觉eclipse确实很好用,特别是参数提示功能。
网上的java资源也还不少,看了《thinking in java》中文版前几章,记点问题与发现在这里:
1. for循环的一个问题
for(int i=1, j=i+10 i<5; i++ j=i*2)
system.out.println("i="+i+" j="+j);

运行结果:
i=1 j=11
i=2 j=4
i=3 j=6
i=4 j=8

而改动一点后:
for(int i=1, j=i+10; i<5; i++){
j=i*2;
system.out.println("i="+i+" j="+j);
}

结果又为:
i=1 j=2
i=2 j=4
i=3 j=6
i=4 j=8

经网上求助后发现,原因在于:for循环在执行条件测试后,先执行程序部分,再只是步进。

2. break 与 continue 加标签用法
在java语句里,唯一能放标签的地方是在循环语句前面。而且循环语句跟标签之间不能有任何东西。
label1:
outer-iteration {
  inner-iteration {
      //...
      break; // 1
      //...
      continue; // 2
      //...
      continue label1; // 3
      //...
      break label1; // 4
   }
}

案例1会中断内部循环。2会中断内部当前循环,直接跳入下一轮循环。案例3中断内部和外部循环,跳到label1,从外部开头重新开始循环。案例4跳到label1,且不在进入循环。

下面举例:

public class labeledfor {
  static test monitor new test();
  public static void main(string[] args) {
      int 0;
      outer: // cant have statements here
      for(; true ;) // infinite loop
           inner: // cant have statements here
           for(; 10; i++) {
                system.out.println("i i);
                if(i == 2) {
                    system.out.println("continue");
                    continue;
                }
                if(i == 3) {
                    system.out.println("break");
                    i++; // otherwise never
                          // gets incremented.
                    break;
                }
                if(i == 7) {
                    system.out.println("continue outer");
                    i++; // otherwise never
                           // gets incremented.
                    continue outer;
                }
                if(i == 8) {
                    system.out.println("break outer");
                    break outer;
                }

                for(int 0; 5; k++) {
                    if(k == 3) {
                         system.out.println("continue inner");
                         continue inner;
                    }
                }
           }
      }
  }
///:~

结果:
"i 0",
"continue inner",
"i 1",
"continue inner",
"i 2",
"continue",
"i 3",
"break",
"i 4",
"continue inner",
"i 5",
"continue inner",
"i 6",
"continue inner",
"i 7",
"continue outer",
"i 8",
"break outer"

 


Java中for循环中执行顺序问题及break, <wbr>continue用法~
文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值