如何在Java中跳过一组特定的语句

时间:2013-07-17 06:08:19

标签: java

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++;
    }

}
}

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

7 个答案:

答案 0 :(得分:5)

在Java中删除了

goto,因此您无法使用它。您必须使用continuebreak

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

请阅读此内容:Go To Statement Considered Harmful

答案 1 :(得分: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)语句一起使用。

Oracle tutorial

根据JLS 3.9

  

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

另请阅读Should I avoid using Java Label Statements?

答案 2 :(得分:0)

Java有关于此的标准关键字:

break;

将退出循环。

continue;

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

label1: while(true){
    ...
    label2: while(true){
        ...
        break label2;
        ...
     }
     ...
}

答案 3 :(得分:0)

java中没有goto。你可以通过

实现这一目标
i=0;
while(i<10)
{
    System.out.println("Hello World");

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

答案 4 :(得分: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++;
    }

  }
 }

答案 5 :(得分:0)

这里的继续声明如何解释The continue Statement

答案 6 :(得分:0)

@ruchira

  1. 您的代码不会将指针移动到int i = o,它只会移动到while循环。

  2. 它将进入无限循环,因为你在if(i == 6)条件下添加了i = o。

  3. 所以这是完全错误的。