0
public class Try {


public static void main(String[] args) {
int i=0;
    while(i<10)
    {
        System.out.println("Hello World");

        if (i==6)
        {
            // The Execution pointer should go back to this statement (int i=0);
        }
        i++;
    }

}
}

我们goto在 VB 中使用关键字将执行指针放在特定的语句集上。请告诉我这在 Java 中是如何实现的。我们如何将执行指针放在特定的语句集上?

4

7 回答 7

5

goto已在 Java 中删除,因此您无法使用它。您将不得不使用continuebreak

请不要真的这样做。正确设计的代码不需要跳转到代码中的特定行。当我十几岁开始编程时,goto 在 BASIC 中是一个简单的拐杖,但它仍然是一个拐杖。

另请阅读:转到被认为有害的声明

于 2013-07-17T06:12:52.123 回答
1

您需要使用标签continue,但编写意大利面条代码是一种不好的做法。

somepoint: { int i=0;
while(i<10)
{
    System.out.println("Hello World");

    if (i==6)
    {
       continue somepoint;
    }
    i++;
}
}

阅读JLS 14.7以获取标签语句

与 C 和 C++ 不同,Java 编程语言没有 goto 语句;标识符语句标签与出现在标记语句中的任何位置的 break (§14.15) 或 continue (§14.16) 语句一起使用。

甲骨文教程。

根据JLS 3.9

关键字 const 和 goto 是保留的,即使它们当前没有被使用。如果这些 C++ 关键字错误地出现在程序中,这可能允许 Java 编译器生成更好的错误消息。

另请阅读我应该避免使用 Java 标签语句吗?

于 2013-07-17T06:09:35.750 回答
0

这里的 continue 语句呢是对 continue 语句的解释

于 2013-07-17T06:14:18.627 回答
0
  1. 您的代码不会将指针移动到int i=o,它只会移动到 while 循环。

  2. i=o in if(i==6)由于您添加了条件,它将进入无限循环。

所以这是完全错误的。

于 2013-07-17T07:38:37.773 回答
0

Java 有标准的关键字:

break;

将退出循环。

continue;

将跳转到循环的开始。此外,如果您有“循环内循环情况”,您可以使用标签。

label1: while(true){
    ...
    label2: while(true){
        ...
        break label2;
        ...
     }
     ...
}
于 2013-07-17T06:10:55.837 回答
0

java中没有goto。你可以通过

i=0;
while(i<10)
{
    System.out.println("Hello World");

    if (i==6)
    {
        i=0;
        continue;
    }
    i++;
}
于 2013-07-17T06:12:26.893 回答
0

尝试这个

   public class Try {


   public static void main(String[] args) {
   int i=0;
   while(i<10)
   {
    System.out.println("Hello World");

    if (i==6)
    {
      i=0;
      continue;  // The Execution pointer should go back to this statement (int i=0);
    }
    i++;
    }

  }
 }
于 2013-07-17T06:13:25.777 回答