我们知道,如果一个方法有返回值时,必须在方法的最后必须用return返回一个值,但是当一个方法里出现像switch(){case:...},if(){}else if(){}else,try{}catch(){}多分支时,我们会纳闷,最后该不该写比如return null,现就这一问题做一说明
有如下方法
public String test(){
int a=(int)(Math.random()*10);
switch(){
case 1 : return "哈哈";break;
case 2: return "呼呼";break
default: return "hh";//如果出现了default,最后不必写return ...语句
}
//retrun null;//如果没有default,最后需要返回一个值
}
再看下一个方法
public String test2(){
int a=(int)(Math.random()*100);
if(a<10){
return "hh";
}else if(a<20&&a>=10){
return "kk";
}
return "jj";//以上情况只分析了a在20以下的情况,大于或者等于20的情况没有列出,所以需要添加一个return
}
当出现try{}catch(){}catch(){}也是一样的
总结:如果一个方法中出现多个分支,并且该方法有返回值时,要注意是否还可以继续分支,如果可以继续分支,则要在最后return...,如果分支完毕,则不需要return ...