java中break、continue与return的区别

一、break语句。

break语句:使用场合主要是switch语句和循环结构。

使用break语句需注意:

<1> 在循环结构中使用break语句,如果执行了break语句,那么就退出循环,接着执行循环结构下面的第一条语句。如果在多重嵌套循环中使用break语句,当执行break语句的时候,退出的是它所在的循环结构,对外层循环没有任何影响

<2> 如果循环结构里有switch语句,并且在switch语句中使用了break语句,当执行switch语句中的break语句时,仅退出switch语句,不会退出外面的循环结构

下面通过案例来说明:

break语句1:

for (int i = 0; i < 10; i++) {  
            if (i == 6) { 
                break;  
               // 在执行i==6时强制终止循环,i==6不会被执行  
                }
            System.out.println(i);  
      }

输出结果为0 1 2 3 4 5 ;6以后的都不会输出。

break语句2:

若在上面的代码中加一点代码,看看是否完全理解break的用法。

int index = 0;
for (int i = 0; i < 10; i++) {  
      if (i == 6) {
         index=i;
         break;  
               // 在执行i==6时强制终止循环,i==6不会被执行  
           }     
    }
System.out.println(index); //是在for循环外部

这时,输出的index值为6。

会不会感到有点不解,if条件中的i==6明明已经被终止,为什么index还能被6赋值呢?

原因在于:代码是逐条执行的,当for循环中的i加到6,执行if中的判断时,由于index=i这条语句在break之上,先被执行,i=6赋值给index,然后执行break,终止循环,if中的判断语句不执行(但在终止之前已经赋值给index了),因此跳出循环后,输出index是6。

二、continue语句

continue语句:它与break比较相似,都主要用于switch语句和循环结构中。但又有区别,break语句是直接终止循环,执行循环外的语句;而continue语句并没有真的退出循环,而是仅仅结束本次循环体的执行,所以在使用continue的时候要注意这一点。

continue:终止当前循环,但是不跳出循环(在循环中continue后面的语句是不会执行了),继续往下根据循环条件执行循环。

for (int i = 0; i < 10; i++) {  
    if (i == 6)  {
        continue;  
      // i==6不会被执行,而是被中断了    
       } 
       System.out.println(i);  
   }

输出结果为0 1 2 3 4 5 7 8 9;只有6没有输出。

三、return语句

return语句:使用场合是退出该函数的执行,返回到函数的调用处,如果是main()函数,那么结束整个程序的运行。

使用return语句需注意:

<1> return 从当前的方法中退出,返回到该调用的方法的语句处,继续执行。意思是退出当前方法,继续往下执行。

<2> return 返回一个值给调用该方法的语句,返回值的数据类型必须与方法的声明中的返回值的类型一致。

<3> return后面也可以不带参数,不带参数就是返回空,其实主要目的就是用于想中断函数执行,返回调用函数处。

<4> 返回值为void的方法,从某个判断中跳出,必须用return。

发布了20 篇原创文章 · 获赞 2 · 访问量 1592

猜你喜欢

转载自blog.csdn.net/weixin_42132733/article/details/105106585
今日推荐