目录

一.  嵌套循环(多重循环)

练习1:九九乘法表 

练习2:100以内的所有质数

 练习3:直角三角形  (利用for循环,打印出显现在左边的直角三角形)

二.  break continue的使用

1.  break 的使用 

break 的使用练习:

2 .  continue的使用

continue练习:

3. retutn 的使用

练习:

 总结:



 

一.  嵌套循环(多重循环)

将一个循环放在另一个循环体内,就形成了嵌套循环。其中,for、while、do...while 均可以作为外层循环或内层循环。

实质上,嵌套循环就是把内层循环当成外层循环的循环体。当只有内层循环的循环条件为false时,才会完全跳出内层循环,才可结束外层的当次循环,开始下一次的循环。

设外层循环次数为m次,内层为n次,则内层循环体实质上需要执行m*n次。

通俗讲就是,存在至少2层for循环,根据外层的条件,判断里层能否执行;如果能执行,就把里层代码都循环完毕后,再继续判断是否执行外层循环的下一次循环。

练习1:九九乘法表 

class ForForTest{
    public static void main(String[] args) {
//九九乘法表
        for(int i = 1;i <= 9;i++){
            for(int j = 1;j <= i;j++){
                System.out.print(i + "*" + j + "=" + i*j + " ");
            }
            System.out.println(); //换行
        }
    }
}

快捷键  Ctrl + Shift + F10  运行,控制器输出

for java 循环嵌套类 java循环嵌套原理_System

练习2:100以内的所有质数

class PrimeNuberTest{
    public static void main(String[] args) {
        boolean isFlag = true; //标识是否被除尽,一旦除尽,修改其值。
        for (int i = 2; i <= 100; i++) { //遍历100以内的自然数
            for (int j = 2; j < i; j++) { //j:被i去除 这里写 j < i/2 会更好
                if (i % j == 0) { //i被j除尽
                    isFlag = false;
                }
            }
            if(isFlag == true){
                System.out.println(i);
            }
//重置isFlag
            isFlag = true;
        }
    }
}

快捷键  Ctrl + Shift + F10  运行,控制器输出

for java 循环嵌套类 java循环嵌套原理_for java 循环嵌套类_02

 练习3:直角三角形  (利用for循环,打印出显现在左边的直角三角形)

需要注意的是:在内循环中,需要修改内循环的循环条件,让 j 的最大值随着 i 改变,否则这内循环就成了写死的状态了。

//行1星1 *
//行2星2 * *
//行3星3 * * *
//行4星4 * * * *
//行i星i * * * * *


  class TestForTriangle {
    public static void main(String[] args) {
        for(int i = 1;i<6;i++) {//外循环
            for (int j = 1; j <=i; j++) {//内循环

                //注意:需要修改内循环的循环条件,让j的最大值随着i改变,否则写死了
                System.out.print("*");//在同一轮/同一行打印不换行
            }
            System.out.println();//空白行用来换行
        }
    }
}

控制器输出打印

for java 循环嵌套类 java循环嵌套原理_for java 循环嵌套类_03

 

 

二.  break 、continue、return的使用

1.  break 的使用 

  • break 语句用于终止某个语句块的执行。
  • 在循环中遇到break语句时,循环被终止,在循环后面的语句重新开始。
  • break 语句能使用于任何Java循环中,包括人们有意设置的无限循环
  •   swith 循环语句中break 仅影响 switch 语句,不会影响循环。
  • 在一系列嵌套循环中使用break 语句时,它将仅仅终止最里面的循环。

语法:

{

           ......

           break;

           ......

}

break 的使用练习:

public class Testapp1 {
    public static void main(String[] args) {
        // 外循环,循环5次
        for (int i = 0; i < 5; i++) {
            System.out.print("第" + (i + 1) + "次循环:");
// 内循环,设计为循环10次
            for (int j = 0; j < 10; j++) {
// 判断j是否等于3,如果是,则终止循环
                if (j == 3) {
                    break;
                }
                System.out.print("内循环的第" + (j + 1) + "次循环\t");
            }
            System.out.println();
        }
    }
}

运行输出:

for java 循环嵌套类 java循环嵌套原理_i++_04

2 .  continue的使用

  • continue 只能使用在循环结构中
  • continue 语句用于跳过其所在循环语句块的一次执行,
  • continue 语句是用来加速循环

continue练习:

public class Testapp1 {
    public static void main(String[] args) {
         
        for (int i = 1; i < 10; i++) {
            if (i%3 == 0) {
                continue;
//这里写代码编译会报错
            }
            System.out.println(i);
        }

    }
}

运行输出:

for java 循环嵌套类 java循环嵌套原理_System_05

 

3. retutn 的使用

return :并非专门用于结束循环的,它的功能是结束一个方法,当一个方法执行到一个return语句时,这个方法将被结束。

与break 和 continue 不同的是,return 直接结束整个方法,不管这个return 处于多少层循环之内。

练习:

public class Testapp1 {
    public static void main(String[] args) {
        // 外循环,循环5次
        // 循环 打印 1-10 如果是3的倍数,则不打印
        for (int i = 1; i < 10; i++) {
            if (i%3 == 0) {
//continue;
                return; //直接退出main函数
            }
            System.out.println(i);
        }

    }
}

运行输出:

for java 循环嵌套类 java循环嵌套原理_for java 循环嵌套类_06

 总结:

break 只能用于switch 语句和循环语句中。

continue 只能用于循环语句中。

二者功能类似,但continue 是终止本次循环,break 是终止本层循环。

break、continue 之后不能有其他的语句,因为程序永远不会执行其后的语句。

标号语句必须紧接在循环的头部。标号语句不能用在非循环语句的前面。