• Java 嵌套循环结构与break 、continue、return 的使用


    目录

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

    练习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:九九乘法表 

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

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

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

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

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

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

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

    1. //行1星1 *
    2. //行2星2 * *
    3. //行3星3 * * *
    4. //行4星4 * * * *
    5. //行i星i * * * * *
    6. class TestForTriangle {
    7. public static void main(String[] args) {
    8. for(int i = 1;i<6;i++) {//外循环
    9. for (int j = 1; j <=i; j++) {//内循环
    10. //注意:需要修改内循环的循环条件,让j的最大值随着i改变,否则写死了
    11. System.out.print("*");//在同一轮/同一行打印不换行
    12. }
    13. System.out.println();//空白行用来换行
    14. }
    15. }
    16. }

    控制器输出打印

     

     

    二.  break 、continue、return的使用

    1.  break 的使用 

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

    语法:

    {

               ......

               break;

               ......

    }

    break 的使用练习:

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

    运行输出:

    2 .  continue的使用

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

    continue练习:

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

    运行输出:

     

    3. retutn 的使用

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

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

    练习:

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

    运行输出:

     总结:

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

    continue 只能用于循环语句中。

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

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

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

  • 相关阅读:
    基于粒子滤波和帧差法的目标跟踪matlab仿真
    nms非极大抑制
    22-08-29 西安 JUC(02)线程安全集合类、 juc强大的辅助类
    为什么要学习TypeScript
    pip安装报错 RuntimeError:Python version 2.7 or 3.4+ is required——解决办法
    连接表(二)
    MySQL 日志管理
    SCAR的pytorch实现
    六级备考24天|CET-6|翻译技巧1&2|理解背诵|11:00~12:00+14:20~15:30
    Java之反射获取和赋值字段
  • 原文地址:https://blog.csdn.net/m0_57448314/article/details/126220582