老師,我想問java的一個問題,在void方法中,是否可以使用return?而使用後它是有合功能呢??
最接近的程式是
public class Test{
public static String output="";
public static void foo(int i){
try{
if(i==1){
throw new Exception();
}
output+="1";
}catch(Exception e){
output+="2";
return;
}finally{
output+="3";
}
output+="4";
System.out.println(output);
}
public static void main(String[] args){
foo(0);
foo(1);
}
}
compile可以過,而執行到return時,會直接跳出方法.
Johnney黃於2007/12/19 12:15回覆
在void方法中,是可以使用return的
void就是不回傳任何東西,return後不打任何資料就是不回傳任何東西(一般我們都會省略不打),所以這程式是對的.
但有一種情況例外,一定要打return,
那就是要離開所在的方法,
所以你在執行時到return就回傳"空"的東西回去,看起來就好像直接跳出方法
最接近的程式是
public class Test{
public static String output="";
public static void foo(int i){
try{
if(i==1){
throw new Exception();
}
output+="1";
}catch(Exception e){
output+="2";
return;
}finally{
output+="3";
}
output+="4";
System.out.println(output);
}
public static void main(String[] args){
foo(0);
foo(1);
}
}
compile可以過,而執行到return時,會直接跳出方法.
Johnney黃於2007/12/19 12:15回覆
在void方法中,是可以使用return的
void就是不回傳任何東西,return後不打任何資料就是不回傳任何東西(一般我們都會省略不打),所以這程式是對的.
但有一種情況例外,一定要打return,
那就是要離開所在的方法,
所以你在執行時到return就回傳"空"的東西回去,看起來就好像直接跳出方法