zoukankan      html  css  js  c++  java
  • for循环里的break,continue和return有什么差别

    break: 此语句导致程序终止包含它的循环,并进行程序的下一阶段(整个循环后面的语句),即,不是跳到下一个循环周期而是退出循环。如果break语句包含在嵌套循环里,它只跳出最里面的循环。

    如下代码

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    public class Test {

        public static void main(String[] args) {

            for(int i=0; i<10; i++){

                if(i==5){

                    break;

                }

                System.out.print(i+" ");

            }

        }

    }

    可以看到程序输出了01234到5的时候跳出了循环

    continue:循环语句里有此语句时,程序运行到此语句时,不在执行循环体里continue后面的语句而是跳到下一个循环入口处执行下一个循环。

    把break改为continue

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    public class Test {

        public static void main(String[] args) {

            for(int i=0; i<10; i++){

                if(i==5){

                    continue;

                }

                System.out.print(i+" ");

            }

        }

    }

    可以看到只有5没有输出,也即当i=5时没有执行打印操作,直接到下一次循环

    而return是表示从被调函数返回到主调函数继续执行,返回时可附带一个返回值,由return后面的参数指定。return后函数就结束了,后面的语句不再执行

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    public class Test {

        public static void fun(){

            for(int i=0; i<10; i++){

                if(i==5){

                    return;

                }

                System.out.print(i+" ");

            }

            System.out.println("hello");

        }

        public static void main(String[] args) {

            fun();

        }

    }

    可以看到后面的hello并没有打印出来

  • 相关阅读:
    二叉树同构
    L1-001 Hello World--java
    关于Hanoi的递归分析
    L1-049 天梯赛座位分配
    1001 害死人不偿命的(3n+1)猜想 && 1005 继续(3n+1)猜想
    L1-046 整除光棍
    L1-043 阅览室
    lambda_Consumer接口
    lambda_Supplier接口
    Veu_v-for
  • 原文地址:https://www.cnblogs.com/pengmn/p/14652828.html
Copyright © 2011-2022 走看看