最近在机子上装了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 i = 0; outer: // cant have statements here for(; true ;) { // infinite loop inner: // cant have statements here for(; i < 10; i++) { system.out.println("i = " + i); if(i == 2) { system.out.println("continue"); continue; } if(i == 3) { system.out.println("break"); i++; // otherwise i never // gets incremented. break; } if(i == 7) { system.out.println("continue outer"); i++; // otherwise i never // gets incremented. continue outer; } if(i == 8) { system.out.println("break outer"); break outer; } for(int k = 0; k < 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" 文章整理:西部数码--专业提供 域名注册、 虚拟主机服务 http://www.west263.com 以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
| |