return关键字

程序执行到方法里面的return语句时,方法就会返回,return下面的语句不会被执行。
例:

public class MethodTest{

    public static void main(String[] args){
        //不接收返回值也行,符合语法规则,编译可以通过。
        sumInt(10,20);

        //对于有返回值的方法,通常都会定义变量用来接收方法的返回值
        int result = sumInt(10,20);

        System.out.println("计算结果是:"+result);
    }


    public static int sumInt(int a,int b){

        int c = a + b;

        return c; //程序执行到此处sumInt方法执行结束。并将int类型的值c返回

    }

    public static int test1(){
        return 1; //这行代码只要执行,整个方法就结束了。
        //System.out.println("hello"); //这里的代码是无法执行的,编译报错。
    }

    public static void test2(){
        return; //可以,return后面没有返回任何数据
    }

    /*
    public static int test3(){
        return; //错误
    }
    */
}

如果方法有返回值,那么要在其方法里面设置返回值。

例:

public class MethodTest{


    /*
     * 编译阶段不会运行代码,编译器并不知道flag的值,它只知道flag要么是true,要么是false。
     * 对于test1方法,编译器会考虑到当flag为false的时候,该方法就没有返回值了,所以在编译阶段会报错
     * 
     */

    /*public static int test1() {
        boolean flag = true;
        if (flag) {
            return 1;
        }
    }*/

    //以下程序还是编译报错,因为编译器就认为以下的这个if语句的大括号当中的代码可能执行,也可能不执行。
    /*
    public static int test2(){
        if(true){
            return 1;
        }
    }
    */



    //if结合else使用,这样要么执行if中的语句,要么执行else中的语句。
    //此时编译器可以判定这个程序return 语句一定会执行的
    public static int test3(boolean flag) {

        /*
         * 下面这种写法会报错,需要在else里面设置返回值 
         */
        /*if (flag) {
            return 0;
        } else {
            System.out.println("1");
        }*/

        if (flag) {
            return 0;
        } else {
            return 1;
        }

    }

    //下面程序会报错吗?
    //不会报错,因为这样编写可以保证一定会有一个return语句执行
    public static int test4(){
        boolean flag = false;
        if(flag){
            return 1;
        }
        return 0;
    }
}

break,continue和return的区别
break; 和 continue; 这两个语句主要是用来控制循环的,跟方法没有关系。

return; 和以上的两个语句不是一个级别的,return;是用来终止当前方法的。

public class Test {


    public static void main(String[] args){

        test();
        System.out.println("hello world!");

    }

    public static void test() {

        for( int i = 0 ; i < 10 ; i ++ ){
            if( i == 5 ){
                //break;
                //continue;
                return; //终止当前方法的执行。(不是终止JVM的执行)
            }
            System.out.println("i = " + i);
        }
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 9,677评论 0 13
  • 我终究还是选择了出国,这是你自己的选择,要负责,这一次既然是你自己的认真抉择!就请坚持到底!英语,练功,赚钱,做一...
    Joy_Wisdom阅读 1,358评论 0 0
  • 夏荷!!!
    破冰玫瑰阅读 2,118评论 0 0
  • 时光下沉 路渐渐的湿润 春天拉着春雨的手 从你的城市来到了我的城市 我和你 隔着一场春雨的距离 岁月菩提 路缓缓的...
    苏薇suvy阅读 1,618评论 0 1
  • 九点零三分,从学校微机房出来,楼下操场只亮着一盏灯。 一个人的时候习惯把耳麦塞起来,里面的音乐会陪着形单影只的你,...
    张某某ll阅读 4,870评论 0 1