Java 要退出for循环吗
当计数变为9时,我想退出两个for循环。我使用了Java 要退出for循环吗,java,for-loop,break,Java,For Loop,Break,当计数变为9时,我想退出两个for循环。我使用了break,但是它只能从第一个for循环退出。怎么做呢 ArrayList<String> list = new ArrayList<String>(); int count = 0; System.out.println("Before entering to loop"); for(int i=0;i<5;i++){ list.a
break
,但是它只能从第一个for循环退出。怎么做呢
ArrayList<String> list = new ArrayList<String>();
int count = 0;
System.out.println("Before entering to loop");
for(int i=0;i<5;i++){
list.add("XYZ"+i);
for( int j=0;j<5;j++){
list.add("ABC"+j);
count++;
if(count==9){
System.out.println("I want to exit from here.");
break;
}
System.out.println("i="+i+"::j="+j);
}
System.out.println("------------");
}
for(String str:list){
System.out.println(str);
}
}
ArrayList list=new ArrayList();
整数计数=0;
System.out.println(“进入循环前”);
对于(int i=0;i在中断内部循环之前,可以将布尔标志设置为true。然后检查外部循环是否为true。如果是这样,也可以中断外部循环。可以引入一个标志,当计数达到9时,在内部循环中设置该标志。外部循环将有一个if语句来检查该标志值。if是的,也要打破外部循环。类似这样:
boolean breakLoop = false;
for(int i=0;i<5;i++){
list.add("XYZ"+i);
for( int j=0;j<5;j++){
list.add("ABC"+j);
count++;
if(count==9){
System.out.println("I want to exit from here.");
breakLoop = true;
break;
}
System.out.println("i="+i+"::j="+j);
}
if(breakLoop)
break;
System.out.println("------------");
}
boolean breakLoop=false;
对于(int i=0;i您可以使用标签:
OUTER: for (...) { // <--
...
for (...) {
if (...)
break OUTER; // <--
}
}
OUTER:for(…){/您可以选择标签
标签:
您可以将标签放在循环的开头。标签是一个标识符,后跟冒号。它只是代码中的一个位置。然后,您可以使用break后跟标签名来中断循环,并将标签放在其中
例如:
public void twoNum( int num, int val )
{
OUTER_LOOP: // OUTER_LOOP is a label
for ( int i = 0 ; i < num ; i++ )
{
for ( int j = 0 ; j < num ; j++ )
{
if ( i + j >= 2 * val )
break OUTER_LOOP ;
val = val / 2 ;
}
}
// break comes here if it runs
public-void-twoNum(int-num,int-val)
{
OUTER\u LOOP://OUTER\u LOOP是一个标签
for(int i=0;i=2*val)
打破外环;
val=val/2;
}
}
//如果它运行,break就会出现在这里
布尔外部=假;
对于(int i=0;i有很多关于break
语句和标签的答案,但是这些构造通常会导致混乱的代码,在第一次阅读时(或在一段时间后重新阅读)很难理解。一般来说,我认为在这种情况下最好进行重构
在您的示例中,您知道要在内部循环的9次迭代后停止,所以为什么要费心将循环计数器设置为5?更清楚的是,要显式地执行您想要的操作:
ArrayList<String> list = new ArrayList<String>();
System.out.println("Before entering to loop");
list.add("XYZ"+i);
for( int j=0;j<5;j++){
list.add("ABC"+j);
}
list.add("XYZ"+i);
for( int j=0;j<4;j++){
list.add("ABC"+j);
}
for(String str:list){
System.out.println(str);
}
}
ArrayList list=new ArrayList();
System.out.println(“进入循环前”);
列表。添加(“XYZ”+i);
对于(intj=0;j只需添加
(计数!=9)
用于循环的条件:
ArrayList<String> list = new ArrayList<String>();
int count = 0;
System.out.println("Before entering to loop");
for(int i=0;i<5;i++){
list.add("XYZ"+i);
for( int j=0;j<5 && count!=9;j++){
list.add("ABC"+j);
count++;
System.out.println("i="+i+"::j="+j);
}
System.out.println("------------");
}
for(String str:list){
System.out.println(str);
}
ArrayList list=new ArrayList();
整数计数=0;
System.out.println(“进入循环前”);
对于(int i=0;i(或),您可以使用Taked break-Available duplicate of Take care,它可能会将您的代码简化为一盘意大利面条。您可能更喜欢在特定的方法中使用循环,在完成时可以返回一些值。或者重构您的算法,使其只有一个循环。
ArrayList<String> list = new ArrayList<String>();
int count = 0;
System.out.println("Before entering to loop");
for(int i=0;i<5;i++){
list.add("XYZ"+i);
for( int j=0;j<5 && count!=9;j++){
list.add("ABC"+j);
count++;
System.out.println("i="+i+"::j="+j);
}
System.out.println("------------");
}
for(String str:list){
System.out.println(str);
}