Java中跳转语句的学习
跳转语句
break语句
break 语句可用于上一节介绍的 while、 repeat-while 和 for 循环结构,它的作用是强
行退出循环体,不再执行循环体中剩余的语句。
在循环体中使用 break 语句有两种方式:带有标签和不带标签。语法格式如下:
break; //不带标签
break label; //带标签, label是标签名
不带标签的 break 语句使程序跳出所在层的循环体,而带标签的 break 语句使程序跳
出标签指示的循环体。
下面看一个示例,代码如下:
int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
for (int i = 0; i < numbers.length; i++) {
if (i == 3) {
//跳出循环
break;
}
System.out.println("Count is:" + i);
}
在上述程序代码中, 当条件 i==3 的时候执行 break 语句, break 语句会终止循环,程序运行的结果如下:
Count is: 0
Count is: 1
Count is: 2
break 还可以配合标签使用, 示例代码如下:
label1: for(int x = 0; x < 5; x++) { ①
for (int y = 5; y > 0; y--) { ②
if (y == x) {
//跳转到label1指向的循环
break label1; ③
}
System.out.printf("(x,y) =(%d,%d)", x, y);
// 打印一个换行符,实现换行
System.out.println();
}
}
System.out.println("Game Over!");
默认情况下, break 只会跳出最近的内循环(代码第②行 for 循环)。如果要跳出代码第①行的外循环,可以为外循环添加一个标签 label1, 注意在定义标签的时候后面跟一个冒号。 代码第③行的 break 语句后面指定了label1 标签,这样当条件满足执行 break 语句时,程序就会跳转出label1 标签所指定的循环。
程序运行结果如下:
(x,y) = (0,5)
(x,y) = (0,4)
(x,y) = (0,3)
(x,y) = (0,2)
(x,y) = (0,1)
(x,y) = (1,5)
(x,y) = (1,4)
(x,y) = (1,3)
(x,y) = (1,2)
Game Over!
如果 break 后面没有指定外循环标签,则运行结果如下:
(x,y) = (0,5)
(x,y) = (0,4)
(x,y) = (0,3)
(x,y) = (0,2)
(x,y) = (0,1)
(x,y) = (1,5)
(x,y) = (1,4)
(x,y) = (1,3)
(x,y) = (1,2)
(x,y) = (2,5)
(x,y) = (2,4)
(x,y) = (2,3)
(x,y) = (3,5)
(x,y) = (3,4)
(x,y) = (4,5)
Game Over!
continue语句
continue 语句用来结束本次循环,跳过循环体中尚未执行的语句,接着进行终止条件
的判断,以决定是否继续循环。对于 for 语句,在进行终止条件的判断前,还要先执行迭
代语句。
在循环体中使用 continue 语句有两种方式可以带有标签,也可以不带标签。语法格式如下:
continue //不带标签
continue label//带标签, label是标签名
下面看一个示例,代码如下:
在上述程序代码中,当条件 i==3 的时候执行continue 语句, continue 语句会终止本次循环,循环体中 continue 之后的语句将不再执行,接着进行下次循环,所以输出结果中没有 3。 程序运行结果如下:
int[] numbers= { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
for (int i =0; i < numbers.length; i++) {
if (i == 3) {
continue;
}
System.out.println("Countis: " + i);
}
以下是运行结果:
Count is: 0
Count is: 1
Count is: 2
Count is: 4
Count is: 5
Count is: 6
Count is: 7
Count is: 8
Count is: 9
带标签的 continue 语句示例代码如下:
label1: for(int x = 0; x < 5; x++) { ①
for (int y = 5; y > 0; y--) { ②
if (y == x) {
continue label1; ③
}
System.out.printf("(x,y) = (%d,%d)", x,y);
System.out.println();
}
System.out.println("GameOver!");
默认情况下, continue 只会跳出最近的内循环(代码第②行 for 循环), 如果要跳出
代码第①行的外循环,可以为外循环添加一个标签 label1,然后在第③行的 continue 语句
后面指定这个标签 label1,这样当条件满足执行 continue 语句时,程序就会跳转出外循
环。
程序运行结果如下:
(x,y) = (0,5)
(x,y) = (0,4)
(x,y) = (0,3)
(x,y) = (0,2)
(x,y) = (0,1)
(x,y) = (1,5)
(x,y) = (1,4)
(x,y) = (1,3)
(x,y) = (1,2)
(x,y) = (2,5)
(x,y) = (2,4)
(x,y) = (2,3)
(x,y) = (3,5)
(x,y) = (3,4)
(x,y) = (4,5)
Game Over!
由于跳过了 x == y,因此下面的内容没有输出。
(x,y) = (1,1)
(x,y) = (2,2)
(x,y) = (3,3)
(x,y) = (4,4)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix