如何在java中使用标签?

如何在java中使用标签?,java,netbeans-8,Java,Netbeans 8,我需要帮忙。 我想在java中使用标签。类似于c中的标签,但goto不能在java中使用。如何在java中移动到标签? 节目: ulang: switch (menu){ case 1 : input(); goto ulang; break; } 如何将代码更改为java代码?java中没有goto。我建议使用循环 while (true) { switch (menu){ case 1 : input(); continue; break; } break; }

我需要帮忙。 我想在java中使用标签。类似于c中的标签,但goto不能在java中使用。如何在java中移动到标签? 节目:

ulang:
switch (menu){
case 1 : input(); goto ulang;
break;
}

如何将代码更改为java代码?

java中没有
goto
。我建议使用循环

while (true) {
  switch (menu){
    case 1 : input(); continue;
    break;
  }
  break;
}

Bellow并没有像我预期的那样在Java中工作,它会生成一个带标签的switch语句,break+label会断开一个开关,不会转到标签(谢谢@xiaofeng.li和@YatiSawhney):


阅读SO文章

如果想重复,只需使用循环即可

do{
   /* code to display your menu here */
   switch(pilih){
      case 1 : input();break;
      case 2 : ..../*continue with your other selection*/
   }

}while(pilih!=5) // assume 5 is the exit choice

Java不支持
goto
。尽管您可以在嵌套循环和switch语句中使用带标签的
break
continue
,但它们只是告诉编译器您所引用的代码块,而不是实际跳转到该位置。例如,您可以编写:

ulang:
switch(menu) {
case 1: input(); break ulang; // break the switch labelled by 'ulang'
}
但这和

switch(menu) {
case 1: input(); break;
}

我不建议使用标签(goto)。(只是为了了解情况)以下是让您理解相同内容的片段<使用
标签
进行编码>中断将使您脱离带有标签的外部循环

label: for( initialization ; condition ; modification ){

    for( initialization ; condition ; modification ){
        if(condition){
            break label;
        }
    }

}

你最好使用循环。似乎您可以在循环中使用标签,请参见:即使在C中,
goto
也应该很少使用,并且只用于向下,而不是向上(如您的示例中所示)。不要使用
goto
。还有其他方法可以完成同样的事情。
label: for( initialization ; condition ; modification ){

    for( initialization ; condition ; modification ){
        if(condition){
            break label;
        }
    }

}