首页 > 其他 > 详细

缺少返回语句

时间:2020-07-12 09:25:21      阅读:64      评论:0      收藏:0      [点我收藏+]
public class MethodTest05{
    public static void main(String[] args){
        
    }
    public static int m(){
        boolean flag=true; //编译器不负责运行,只负责讲道理
        if(flag){
            return 1;
        }
    }    
}

/*
上面代码会编译报错--错误: 缺少返回语句
上面返回值类型不是void,所以在方法执行结束之后,必须使用-return 值;没有则会编译报错
上面的程序有if,也就是有个判断,只有flag为true的时候,才会执行{}里的return语句,
但是对于编译器来说,知道falg是个布尔类型,对于编译器来说,falg有可能是true,也有可能是false,
那{}里的return语句,就有可能执行,也有可能不执行,这时编译器就无法确定这里的return一定会执行,
*/


//解决方案
/*加个else,这时就可以保证有个分支语句百分百的会得到执行
*/
public class MethodTest05{
    public static void main(String[] args){
        
    }
    public static int m(){
        boolean flag=true;
        if(flag){
            return 1;
        }else{
            return 2;
        }
    }    
}

 

缺少返回语句

原文:https://www.cnblogs.com/wx1995/p/13286955.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!