Java中 break 和 continue 标签的使用
2009-08-07 18:01
288 查看
Java 中有 goto 关键字,但这个关键字没有任何作用,换句话说,我们不能使用 goto 来进行跳转到某行。实际上,结构化程序设计完全不需要 goto 语句即可完成各种流程,而 goto 语句的使用往往会使程序的可读性降低,所以 Java 不允许 goto 跳转。
Java 中同样可以定义标签,使用标识符加冒号 (:) 的形式,如“mylabel:”。不过既然 Java 中的 goto 没有实质性的作用,标签的设计当然就不是为了 goto。
Java 中的标签是为循环设计的,是为了在多重循环中方便的使用 break 和 coutinue 而设计的。正是由于这个原因,Java 的标签只能定义在三种循环 (for() {}, do{} while(), while() {}) 的开始位置,否则编译器会报告说找不到标签。稍后的例子即可更直观的说明。
在循环前面加上标签,就好像给循环起了个名字。而后在循环中使用 break 或者 continue 语句的时候,就可以带上这个标签做为参数,指明跳出 (break) 或者继续 (continue) 哪一个循环,如“break mylabel;”、“continue mylabel;”。
/** *//** *//** *//**
* 演示查找过程,使用带标签的 break 和 continue 语句。
*/
public void search() ......{
//loop1:
// 若在此处定义标签,由于不是其后紧跟循环语句,所以会被勿略掉。
// 被忽略掉的标签,如果在 break 或者 continue 语句中用到,编译时不能通过。
// 如果没有在 break 或者 continue 中用到则编译可以成功。
System.out.println("--- Begin Searching ---");
loop1: for (int i = 0; i < row; i++) ......{
for (int j = 0; j < col; j++) ......{
if (data[i][j] > lookfor) ......{
System.out.println("--- JUMP ---");
continue loop1; // 想想此处用 break,结果会有什么变化
}
if (data[i][j] == lookfor) ......{
System.out.println("FOUND: data[" + i + "][" + j + "] = "
+ lookfor);
break loop1; // 想想此处用 return,结果会有什么变化
}
System.out
.println("data[" + i + "][" + j + "] = " + data[i][j]);
}
System.out.println("--- LOOP2END ---");
}
System.out.println("--- End Searching ---");
}
文章出处:http://www.diybl.com/course/3_program/java/javajs/2007917/71602.html
Java 中同样可以定义标签,使用标识符加冒号 (:) 的形式,如“mylabel:”。不过既然 Java 中的 goto 没有实质性的作用,标签的设计当然就不是为了 goto。
Java 中的标签是为循环设计的,是为了在多重循环中方便的使用 break 和 coutinue 而设计的。正是由于这个原因,Java 的标签只能定义在三种循环 (for() {}, do{} while(), while() {}) 的开始位置,否则编译器会报告说找不到标签。稍后的例子即可更直观的说明。
在循环前面加上标签,就好像给循环起了个名字。而后在循环中使用 break 或者 continue 语句的时候,就可以带上这个标签做为参数,指明跳出 (break) 或者继续 (continue) 哪一个循环,如“break mylabel;”、“continue mylabel;”。
/** *//** *//** *//**
* 演示查找过程,使用带标签的 break 和 continue 语句。
*/
public void search() ......{
//loop1:
// 若在此处定义标签,由于不是其后紧跟循环语句,所以会被勿略掉。
// 被忽略掉的标签,如果在 break 或者 continue 语句中用到,编译时不能通过。
// 如果没有在 break 或者 continue 中用到则编译可以成功。
System.out.println("--- Begin Searching ---");
loop1: for (int i = 0; i < row; i++) ......{
for (int j = 0; j < col; j++) ......{
if (data[i][j] > lookfor) ......{
System.out.println("--- JUMP ---");
continue loop1; // 想想此处用 break,结果会有什么变化
}
if (data[i][j] == lookfor) ......{
System.out.println("FOUND: data[" + i + "][" + j + "] = "
+ lookfor);
break loop1; // 想想此处用 return,结果会有什么变化
}
System.out
.println("data[" + i + "][" + j + "] = " + data[i][j]);
}
System.out.println("--- LOOP2END ---");
}
System.out.println("--- End Searching ---");
}
文章出处:http://www.diybl.com/course/3_program/java/javajs/2007917/71602.html
相关文章推荐
- Java break&continue标签的使用
- java中标签的使用(附带break和continue)
- Java中标签的使用 break continue
- Java中的break和continue关键字的使用方法总结
- break、continue关键字配合标签使用,实现跳转功能
- php和java中break和continue的使用异同
- JAVA中的break[标签]continue[标签]用法
- Java中带标签的break和continue——如何跳出当前的多重嵌套循环
- Java带标签循环的break和continue
- 小东吖 之 java的基础知识以及break 和 continue 关键字的使用
- 浅谈一下Java基础中的break和continue关键字(带标签和不带标签问题)
- Thinking in Java之break与continue的使用
- Java中终止语句continue和break的使用
- Java 带标签的continue和break的解析
- Java中带标签的 break 和 continue
- 在Java8的foreach()中使用return/break/continue
- JAVA 带标签的break continue
- java中的标签(结合continue和break)
- java基础之 break与continue 使用随机生成7个不重复的数
- 在Java中使用 break/continue 语句来控制多重嵌套循环的跳转