【Java自學】EP3:返回值 vs. 輸出(return / void)

by Yuan
Published: Last Updated on: 442 views

前言

這是一個文科生的 Java 學習筆記。
從完全不懂,到自己一步步用最簡單的方式解釋專有名詞。
因為網路上的教學常常太長、太難,所以我用最短的語言,幫自己也幫大家搞懂它。
如果有任何錯誤,歡迎糾正!

什麼是「返回值」和「輸出」?

返回值(return value):方法(method)計算後,把結果「回傳」給呼叫它的人,可以存起來再用。
輸出(output):直接把東西「印出」在控制台,不回傳任何東西。

public int add(int a, int b) {
return a + b; 
} // 有返回值
public void printMsg(String msg) {
System.out.println(msg);
} // 輸出

需要返回值のmethod有哪些?

1. 計算
如果方法的主要目的是執行某種計算並將結果提供給調用者,那麼這個方法應該有返回值。

public int add(int a, int b) {    
return a + b; 
}

2. 獲取物件屬性
如果方法的目的是從物件中獲取某些屬性或狀態,那麼應該返回這些屬性。 

public String getName() {    
return this.name;
}

3. 查詢操作
如果方法需要查詢某些資料並返回結果

public boolean isEligible(int age) {    
return age >= 18;
}

不需要返回值のmethod(void)

1. 執行動作
如果方法的目的是執行某個動作,而不需要將結果返回給調用者,那麼應該使用 void 返回類型。

public void printMessage(String message) {    
System.out.println(message);
}

2. 修改物件狀態
如果方法的目的是修改物件的內部狀態,並且這些修改無需直接返回給調用者。

public void setAge(int age) {     
this.age = age;
}

返回值可以存起來,輸出不能

返回值 vs. 輸出:對照範例

public class Example {
public static void main(String[] args) {
int result = add(3, 5);       // 返回值可以存起來
System.out.println(result);   // 輸出 8
printMessage("Hello!");       // 直接輸出 Hello!
// ✖錯誤:void 沒有返回值,不能存起來
// int x = printMessage("Hi"); 
}
static int add(int a, int b) {
return a + b;
}
static void printMessage(String msg) {
System.out.println(msg);
}
}
輸出結果:
8
Hello!

小結:表格比較統整

方法類型返回類型是否需要 return適用情境
有返回值int / String / boolean…✓必須有 return計算、查詢、取值
無返回值void×不需要 return
(可用 return; 結束方法)
輸出、修改物件狀態

【我都這樣記】:任何返回類型若沒有void,就必須有return語句!
※有返回值的方法,結果可以「存起來」或「再利用」。
※輸出(void 方法)只會「印出」或「動作」,不會回傳東西。

前往下一篇

日本IT證照

想看更多日本IT國家證照的備考過程、考試心得或筆記分享嗎?
前往 日本IT證照備考總整理】!

IT零經驗的文科生在日本當工程師?!
我的《日本菜鳥工程師職場雜談》請見 日本SE系列總覽|菜鳥工程師職場實況】!

訂閱我的電子報吧

訂閱我的YT、追蹤InstagramThreads

Hello👋訂閱Yuan JP Talker的電子報,
以收到「日本最新消息」和「文章上架」的通知唷!

發布留言・Leave a Comment