Java中return的使用,无非是为了结束当前方法并返回(如果有的话)对应的返回值,这样说起来有点模糊,那么什么时候我们需要结束当前方法呢?请看下面代码
public void model(String x){
String y= null;
int M = (int)Math.floor(Math.random()*10);
String n = String.valueOf(M);
String o;
if(x.length()==2){
y = x+x+x+n;
}else if(x.length()==3){
y = x+x+n;
}else{
System.out.println("请输入两位或三位字符!");
}
int z = Integer.valueOf(y);
o = String.valueOf(z%7);
y = y+o;
System.out.println("生成单号为"+y);
}
在上述代码中,我们内有使用return,那么当我们执行到最后的else语句时,控制台会报错
请输入两位或三位字符!
Exception in thread "main" java.lang.NumberFormatException: null
at java.lang.Integer.parseInt(Integer.java:542)
at java.lang.Integer.valueOf(Integer.java:766)
at model7.model(model7.java:36)
at model7.main(model7.java:48)
这个错误是因为,当输入字符不规范时,方法并没有结束,后续代码依旧被执行,y值为空,所以z无法通过valueOf()方法后渠道对应的值。因此会报错,程序会结束运行;那么我们所希望的是,当检测到输入字符不规范时,该方法就结束,程序依然运行,等待下次输入,这时候我们就需要用到return来结束此方法了。
}else{
System.out.println("请输入两位或三位字符!");
return;
}
加了return后,当检测到不规范信息,控制台输出提示,方法就此结束,方法内后续代码也不会继续执行,不会报错,程序也不会因异常结束运行。