突然想到一问题,如果一个有返回值的方法 , 返回值是int,为什么这种return的方式也是可行的?

突然想到一问题,如果一个有返回值的方法 , 返回值是int,为什么这种return的方式也是可行的?

/**
 *    1.if eles是因为类似于有通道才可以正常使用吗。
 *    2.一直以来,都是以为return 返回值类型都要写在(A处)
 *    3.为什么这样写是可以的?
 /

//返回一个int返回值类型的方法
public static int hello(int i){
    if (i>0) {
        return 2;
    }else if(i==0){
        return i;
    }else {
        return 0;
    }
    (A处)
 }


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
提问者 从哪里跌倒还是在爬起来 2018-04-19 12:05:30
//返回一个int返回值类型的方法
public static int hello(int i){
    if (i>0) {
        return 2;
    }else if(i==0){
        return i;
    }else {
        return 0;
    }
 }

不好意思,我覺得這不是我要的答案。  这种返回值的方法为什么也是可以的。

  • 因为 2、i和0都是int型,所以符合方法中定义的返回值类型int。另外这个方法里虽然定了多个条件,但无论哪种条件都不能缺少返回值,显然代码中都做到了。
    2018-04-19 13:36:34
chrismorgen 2018-04-19 10:08:24

在方法中只要保证有一个return被执行就可以了。至于同学写的那么多if语句,最终结果还是只执行了一个return,所以同学这么做没问题。如果我的建议解决了你的问题,请采纳,祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师