Java中 goto
Java中 goto http://lavasoft.blog.51cto.com/62575/178997/ Java语言中goto是保留关键字,没有goto语句,也没有任何使用goto关键字的地方。 Java中也可在特定情况下,通过特定的手段,来实现goto的功能。显然Java不愿意开发者随意跳转程序。下面解释两个特定: 特定情况: 只有在循环体内,比如for、while语句 (含do…while语句) 中。 特定手段: 语句标签和循环控制关键字break、continue,语法格式是: break/continue 语句标签。 一、break、continue和语句标签 语句标签 语句标签的语法是: 标签名: 语句标签可以定义在方法体内的最后一条语句之前即可。但是语句标签实际使用的机会是与break和continue结合使用的,而break和continue是和循环语句结合使用的,因此实际上语句标签的使用也是和循环紧密结合的。 语句标签在被使用的情况,只能定义在循环迭代语句之前,否则编译出错! 因此,有意义、可使用的标签含义是: 指定循环语句的标识! break、continue语句单独使用 单独使用情况下: break语句作用是结束当前的循环迭代体,进而执行剩余的语句。 continue语句的作用是结束本次迭代过程,继续执行下一轮迭代。 break、continue语句结合语句标签的使用 为什么需要语句标签呢? 原因是因为程序可能有循环的嵌套,当多层循环嵌套时候,有时候需要一次跳出多级循环,这种情况下就需要结合语句标签才能实现此功能了。 带标签使用情况下: break中断并跳出标签所指定循环,continue跳转到标签指定的循环处,并继续执行该标签所指定的循环。 为了说明情况,看看下面的例子: import java.util.Random; /** 语句标签测试 @author leizhimin 2009-7-16 11:43:08 */ public class TestLable { public static void main(String[] args) { outer: for (int i = 0; i < 10; i++) { System.out.println("\nouter_loop:" + i); inner: for (int k = 0; i < 10; k++) { ...