如何将此Java代码转换为流程图

问题描述

我有功课,但是在理解此代码时遇到了问题,因为它对我来说是新的,它被称为Labeled break语句,我很难将代码转换为流程图。

代码

1. class LabeledBreak {
2. public static void main(String[] args) {
3.
4. first:
5. for( int i = 1; i < 5; i++) {
6.
7. second:
8. for(int j = 1; j < 3; j ++ ) {
9. System.out.println("i = " + i + "; j = " +j);
10.
11. if ( i == 2)
12. break first;
13. }
14. }
15. }
16.}

我希望有人能帮助我将其翻译成流程图,并且也做一个解释,这样我才能理解这个标记为break的语句是如何工作的。

解决方法

所以基本上,这是打印出i和j Here is the flowchart that i created

,

break语句使程序的控制脱离了写入break语句的最内层循环。

带标签的中断写为break <label>;。这里的标签是一个标识符,通常给一个循环。在给定程序中,外部(i)循环被赋予标签first,内部(j)循环被赋予标签second。因此,在遇到break first;语句时,控件会从标记为第一个的循环(即外部循环)中退出

因此,在您的程序中,控制权转到第15行。