首先来看一段代码:
public class MethodTest{
public static void main(String[] args){
System.out.println(test());
}
public static double test(){
for(int i=0;i<5;i++){
return 1.5;
}
}
}
会执行循环输出5次1.5吗?
令人失望的是,编译都没有通过:
这是因为什么呢?我们稍微修改下代码,就能看出来了:
public class MethodTest{
public static void main(String[] args){
System.out.println(test());
}
public static double test(){
for(int i=10;i<5;i++){
return 1.5;
}
}
}
当把for循环的i的初始值改为10,这样for循环根本不会被执行,这时这个方法是没有返回值的,所以会出现错误,那我们首先还原代码,再做些补充:
public class MethodTest{
public static void main(String[] args){
System.out.println(test());
}
public static double test(){
for(int i=0;i<5;i++){
return 1.5;
}
return -1;
}
}
这样可以循环输出5次1.5了吗?
并没有,而是仅仅输出了1次1.5。为什么呢?
因为return不仅有返回值的功能,而且还有终止方法的功能。