java函数在条件语句中retrun值的情况

在使用java语言构造需要返回值的函数时,很多情况下return语句需要写在循环结构或分支结构中。初学java时,很可能会遇到明明在函数的中已经写了return语句,但还是报错,这种情况的原因如下:

java对需要返回值函数的要求是 函数中不仅一定要有return语句,并且无论在什么条件下调用此函数,return语句一定能被执行

正例 :

    public static int test(int a,int b){
        while (true) {
            if(a<b){
                return 1;
            }else {
                return -1;
            }
        }
    }

这段函数的return语句无论在任何情况下都会被执行,所以不会产生error。

反例1:

    public static int test(int j){
        for(int i=0;i<j;i++){
            return 0;
        }
    }

反例2:

    public static int test(int j){
        int i=0;
        if(i<j){
            return i;
        }
    }

以上两种例子中的return语句的执行可能性并不一定,具体是否会被执行到需要看接到的实参的情况。所以即使有可能能执行,但是执行的可能性并不一定的这种情况仍会报错!如果在大体结构不变的情况下让反例1不报错的话可以将改为死循环即for(;;){},这样return就会必然执行,error也随之消失。反例2也可在if后跟一else,else里面也写一return语句,这样必然会有一条return语句会被执行。

总结:java在需要返回值的函数中使用return语句时,一定要保证在函数中有一条return语句一定会被执行,这样程序才不会报错。

(java新入门小白自记录知识,若有错误请指正)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值