基础第一阶段day04——方法return注意事项、 方法习题、方法重载

本文详细讲解了Java方法中return的使用规范,强调了必须为非void方法提供返回值,以及return语句的执行唯一性。同时,通过习题解析展示了return如何终止方法执行。此外,探讨了方法重载的概念,提供了多个选择题来帮助理解哪些方法构成重载。

方法:

注意事项:

1:方法的返回值类型不是void的时候,必须写return返回值;

2:同时,方法的返回值可以有多个,但是只能有一个执行到,记住,必须执行和只能执行一个;

举个例子,接下来是if-else语句,二者选其一,正确写法:

 public class Test01 {
        public static void main(String[] args) {
            method(1, 2);
        }
    
        public static boolean method(int a, int b) {
            if (a == b) {	//if-else语句,二者选其一
                return true;
            } else {		//一定能执行到其中的某一个
                return false;
            }
        }
}

接下来是if-else if语句,以else if结尾,错误写法:

public class Test01 {
    public static void main(String[] args) {
        method(1, 2);
    }

    public static boolean method(int a, int b) {
        if (a == b) {
            return true;
        } else if (a != b) {
            return false;
        }
        //报错,"Missing return statemen"缺少返回语句
    }
}

解析:

虽然代码当中把可能性都涵盖了,但是程序判断并不一定执行到某一可能;
同时,有返回值的必须返回一个该类型的值,所以程序会提示缺少返回语句。

报错信息:"Missing return statemen"

解决方案一:补上假如执行不到的备选可能

public static boolean method(int a, int b) {
        if (a == b) {
            return true;
        } else if (a != b) {
            return false;
        }
        //报错,"Missing return statemen"缺少返回语句
        //方案一
        return a == b;
    }

解决方案二:以else结尾,多者选其一

    public static boolean method(int a, int b) {
        if (a == b) {
            return true;
        } else if (a != b) {
            return false;
        } else {    //方案二
            return false;
        }
}

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

习题 :

第一题:结果是?

public class Demo07BreakContinue {
    public static void main(String[] args) {
        for (int i = 1; i < 10; i++) {
            if (i == 3) {
                return;        //return用于终止方法
             // System.out.println("aa");  //return下面不能写代码了
            }
            System.out.println("hello" + i);
        }
        testReturn();
    }

    public static void testReturn() {
        for (int i = 1; i <= 20; i++) {
            if (i == 3) {
                return;
            }
            System.out.println("world" + i);
        }
        System.out.println("testReturn 执行完了");
    }
}

结果:

hello1
hello2

解析:

return用于终止方法,在main方法中执行了return,结束了整个main方法,下面的就不执行了。

============================================================================
第二题:

public class Demo07BreakContinue {
    public static void main(String[] args) {
        for (int i = 1; i < 10; i++) {
            if (i == 3) {
                break;		//区别,break用于终止循环
             //System.out.println("aa");     //break下面不能写代码了
            }
            System.out.println("hello" + i);
        }         
        testReturn();
    }

    public static void testReturn() {
        for (int i = 1; i <= 20; i++) {
            if (i == 3) {
                return;
            }
            System.out.println("world" + i);
        }
        System.out.println("testReturn 执行完了");
    }
}

结果:

hello1
hello2
world1
world2

解析:

break用于终止循环,循环中执行了return,循环终止;但是main方法没有终止继续执行。

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

方法重载

第三题:
与方法public static int sum(int a,int b){}形成重载的有?

A、public static void sum (int a){}
B、public static int sum(double a,int b){}
C、public static void open(int i,int j){}
D、public static void sum(){}

A,参数列表不同,正确
B,参数列表不同,正确
C,方法名称不同,不是重载,错误
D,参数列表不同,正确
选ABD

============================================================================
第四题
下列关于方法定义说法错误的( )

A、定义在类中方法外面
B、返回值类型,必须要和return 语句返回的类型相同,否则编译失败 。
C、必须是public类型的
D、不能在return 后面写代码, return 意味着方法结束,所有后面的代码永远不会执行,属于无效代码。

A正确,定义在类中方法外面

B正确,方法的返回值类型必须和return语句返回的类型相同,否则报错。

C错误,方法权限修饰符可以是public/protected/(default)/private。

D正确,return代码方法结束,往return后面写代码编译根本不通过。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值