zoukankan      html  css  js  c++  java
  • return, break and continue

    最近学习多线程看到了一个描述不太准确的地方,让我对return break continue个语句的不同开始详细了解了一番,之前只是知道怎么使用,不是很深入研究,基本遇到了跳出就用return来解决全部问题。

    代码:

     1 public class Test {
     2    public static void main(String[] args) {
     3       try {
     4          Mythread mythread=new Mythread();
     5          mythread.start();
     6          Thread.sleep(1000);
     7          mythread.interrupt();
     8       } catch (InterruptedException e) {
     9          e.printStackTrace();
    10       }
    11    }
    12 }
    13 
    14 class Mythread extends Thread{
    15    public void run(){
    16       super.run();
    17       for(int i=0;i<500000;i++){
    18          if(this.interrupted()){       //判断线程是否停止
    19             System.out.println("STOP!!");
    20             break;
    22          }
    23          System.out.println("i= "+(i+1));
    24       }
    25       System.out.println("END!!!");
    26    }
    27 }

    在看这段代码的时候是这样解释的:虽然停止了线程,但是如果for之后还有语句,还是会继续运行的。让我错误的理解为在这里使用break的时候会线程先退出了,然后又重启了。显然这样的理解是不对的,应该是break只是退出了这个for循环语句,线程继续执行直到这个方法结束。

    首先,return:

    return这个语句是作为返回的语句,将函数或者方法的值返回给主调函数,然后改函数执行结束。

    比如:

    1 for(int i=0;i<500000;i++){
    2          if(i==1){      
    3             System.out.println("STOP!!");
    4             return 0;
    5          }
    6          System.out.println("i= "+(i+1));
    7       }

    这里返回值为0,当i的值为1的时候输出了STOP并且这个函数/方法的返回值为0,然后这个函数就停止执行,return语句直接跳出就跳出了函数,包括函数中的方法。

    之后就是 break

    break一般作为条件分之或者循环的跳出语句,使程序跳出循环执行之后的继续执行之后的程序。

    比如第一个程序中使用的break,程序的for循环遇到线程停止的结果的时候会执行break语句,然后跳出这个for循环,之后继续执行这个方法中之后的语句,知道之后的代码运行完成之后。

    最后一个是continue语句

    这个语句我使用的很少,基本没有用到过,这个语句就是跳过循环一次继续执行这个,这个应该很好想了。

    =========================================

  • 相关阅读:
    [poj_3469]多核CPU
    割点与桥,强连通分量,点双,边双[poj_1236]学校网络
    Iview 启动报错 TypeError [ERR_INVALID_CALLBACK]: Callback must be a function
    修改JAVA_HOME失效
    命令模式
    gradle implementation runtimeOnly 和api 区别
    spring boot 整合 RabbitMQ 错误
    关于技术的想法
    eclipse 背景绿豆沙颜色
    抽象工厂模式
  • 原文地址:https://www.cnblogs.com/Summer7C/p/5013486.html
Copyright © 2011-2022 走看看