Java中的return語句總是和方法有密切關係,return語句總是用在方法中,有兩個作用,一個是返回方法指定類型的值(這個值總是確定的),一個是結束方法的執行(僅僅一個return語句)。
在return語句的各類文章中,大多僅僅介紹了return語句用於有返回值(非void返回值)的方法中。而很少或沒有介紹return語句在vodi返回值方法中的運用。
return語句用在非void返回值類型的方法中,不但能返回基本類型,還可以返回(包括用戶自定義類的)對象。
下面通過一個簡單例子說明一下:
public class TestReturn {
public static void main(String args[]) {
TestReturn t = new TestReturn();
t.test1();
t.test2();
System.out.println(t.test2());
}
/**
* 無返回值類型的return語句測試
*/
public void test1() {
System.out.println("---------無返回值類型的return語句測試--------");
for (int i = 1;; i++) {
if (i == 4)
return;
System.out.println("i = " + i);
}
}
/**
* 有返回值類型的return語句測試
*
* @return String
*/
public String test2() {
System.out.println("---------有返回值類型的return語句測試--------");
return "返回一個字符串";
}
}
運行結果:
---------無返回值類型的return語句測試--------
i = 1
i = 2
i = 3
---------有返回值類型的return語句測試--------
---------有返回值類型的return語句測試--------
返回一個字符串
if+return 也可以代替複雜的if...else語句進行程序流程的控制。用if+return代替if...else語句更清晰
例子:
public class if_return {
public static void main(String[] args) {
test1("1");
System.out.println("-------華麗的分隔線--------------");
test1("8");
}
public static void test1(String str) {
if ("1".equals(str)) {
System.out.println("輸入的參數是1");
return;
}
if ("2".equals(str)) {
System.out.println("輸入的參數是2");
return;
}
if ("3".equals(str)) {
System.out.println("輸入的參數是3");
return;
}
System.out.println("你輸入的不是123`````````");
// ...這裏可以寫不滿足上述條件的處理
}
}
運行結果:
輸入的參數是1
-------華麗的分隔線--------------
你輸入的不是123`````````