多层循环,让内循环控制外循环
boolean flag=false;
int a[][]={{1,3,5},{11,20,15},{14}};
for(int i=0; flag!=true &&i<a.length; i++)
{
for(int j=0;j<a[i].length; j++)
{
System.out.println("i is:"+i+" "+"j is:"+j);
if(a[i][j]==20)
{
flag=true;
System.out.println("输出数组的值:"+a[i][j]);
// break;
}
}
}
通过一个内循环boolean 类型flag来控制外循环的条件.
只有当flag为true时,外循环for由于条件2,将会终止,但内循环还是会执行。
假如是break的话,就是终止整个循环,连内循环System.out.println("i is:"+i+" "+"j is:"+j);语句都不会执行,直接跳出内外循环。
这个内外循环,让我想起杀头的故事,一共是有10个人,最后只有一个人活着.怎么样做你才是最幸运的呢!
统治者给他们一个死法: 一共10个人,每次报到3,这个人就要被杀掉.
实现原理: 利用循环链表,head和rear指针,当两者相等的时候,那么这个人最幸运.
for(; head!=rear; )
{
for(int j=0; j<3; j++)
{
Rear=head;
head=head->next;
}
}
两者有相同之处,都是由内循环来控制外循环的。