Java基础 五
嵌套循环
继上一章的延伸:
▶ 将一个循环结构A(内层循环) 放在另一个 循环结构B(外层循环) 内,就形成了嵌套循环。
▶ 且只有内层循环的循环条件为false时,才会完全跳出内层循环,才可结束外层的当次循环,开始 下一次的循环。
▶ 设外层循环次数为m次,内层为n次,则内层循环体实际上需要执行m*n次。
▶ 其中,for ,while ,do…while均可以作为外层循环或内层循环。
打印99乘法表:
class NineTable{
public static void main(String[] NineTable){
for(int m = 1 ; m < 10 ; i++ ){
for(int n = 1 ; n <= m ; n++){
System.out.print( n + "*" + m + "=" + (n * m) + "\t");
}
System.out.println();
}
}
}
技巧:外层循环控制行数,内层循环控制列数。
Break和Continue的基本使用
使用范围 | 作用 | |
---|---|---|
Break | switch-case 循环结构 | 结束当前循环 |
Continue | 循环结构 | 过滤当前循环 |
示例:
class BreakContinue{
public static void main(String[] args){
for(int i = 1 ; i < 9 ; i++ ){
if(i % 4 == 0){
break; //输出 1 2 3
}
System.out.print(i+" ");
}
//******************************
System.out.println();
for(int i = 1 ; i < 9 ; i++ ){
if(i % 4 == 0){
continue; //输出 1 2 3 5 6 7
}
System.out.print(i+" ");
}
}
}
注:Break、Continue后面不能声明执行语句。
嵌套循环中的使用
class BreakContinue{
public static void main(String[] args){
for(int i = 1 ; i < 7 ; i++ ){
for(int j = 1 ; j < 9 ; j++ ){
if( i % 2 == 0){ //∵i=2时,i%2==0
break; //∴break对i=2时有效,即循环8次j
}
System.out.print(i+" ");
}
System.out.println(\n);
}
System.out.println("//******************");
for(int i = 1 ; i < 7 ; i++ ){
for(int j = 1 ; j < 9 ; j++ ){
if( j % 2 == 0){ //同理,这里j=2跳出循环,i循环6次
break;
}
System.out.print(j+" ");
}
System.out.println();
}
}
}
注:多层循环默认跳出(break)或跳过(continue)包裹此关键字最近的一层循环。
另外:label 标签可指定结束一层循环结构
class BreakContinue{
public static void main(String[] args){
l:for(int i = 1 ; i < 7 ; i++ ){
for(int j = 1 ; j < 9 ; j++ ){
if( j % 2 == 0){
break l; //j%2==0时,i的循环也立刻跳出
}
System.out.print(i+" ");
}
System.out.println();
}
}
}