方式一:可以在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break 语句,即可跳出外层循环。
这种方式都知道,且简单。
我要说的肯定是方式二:让外层的循环条件表达式的结果可以受到里层循环体代码的控制,例如,要在二维数组中查找到某个数字,代码如下:
class ArryDemo
{
public static void main(String[] args)
{
int arr[][] = {{1,2,3},{4,5,6,7},{9}};
boolean found = true;
for(int i=0;i<arr.length && found;i++)
{
int j=0;//j必须定义在for循环外面,否则最下面的输出语句无法使用j
for( ;j<arr[i].length;j++)
{
if(arr[i][j] == 9)
{
//数据找到后found变成false,break跳到外面的for循环时判断条件为false从而结束外循环
found = false;
break;//跳出里面的for循环
}
System.out.println("i=" + i + ",j="+ j);//输出寻找的过程
}
if (found==false)//此处必须判断,否则i每遍历一次下面的语句就会输出一次
{
System.out.println("此数在二维数组中的位置为:a["+i+"]["+j+"]");
}
}
}
}
输出结果为:
i=0,j=0
i=0,j=1
i=0,j=2
i=1,j=0
i=1,j=1
i=1,j=2
i=1,j=3
此数在二维数组中的位置为:a[2][0]
|
|