◆ はじめに
▷「こうげき!」ってどうやって実現してるの?
Javaで「ポケモンが攻撃する」動きを作るとき、 ただ「でんこうせっか!」と
表示するだけじゃなくて、「誰に?」「どの技で?」「どれくらいのダメージ?」
といった情報が必要だよね。
そのときに活躍するのが 引数 と 戻り値 なの!
◆ メソッドの基本形
戻り値の型 メソッド名(引数) {
// 処理
return 戻したい値;
}
例:
int getHp() {
return hp;
}
- int … 返り値の型
- getHp … メソッド名
- () … 引数 (なし)
- return hp; … 戻り値
◆ 引数と戻り値ってなに?
用語 | 意味 | 書き方 | たとえると? |
---|---|---|---|
引数 | メソッドに渡す 「材料」 |
メソッド名の後ろの ( )内に記載 |
「ゼニガメを攻撃して!」の “ゼニガメ”部分 |
戻り値 | メソッドから返す 「結果」 |
メソッド名の前に 戻り値の型を記載 戻す場合はreturnを記載 |
「ダメージは20だったよ!」 |
◆ パターンは、こう分けられる
ポイントは2つ:
- 呼び出すときに「材料が必要か?」
- 結果を「返してほしいか?」
◆ 4つのパターンのサンプル
◯パターン1:引数なし/戻り値なし
void cry() {
System.out.println("ピカチュウ「ピッカー!」");
}
- 情報もらわない。(引数:なし)
- 結果も返さない(戻り値の型:void)
◯パターン2:引数あり/戻り値なし
void attack(String enemyName) {
System.out.println(name + "は " + enemyName + " に でんこうせっか!");
}
- 情報をもらって、処理する(引数:String)
- でも結果は必要ない(戻り値の型:void)
◯パターン3:引数なし/戻り値あり
int getHp() {
return hp;
}
- 情報を依頼しない(引数:なし)
- 自分の情報だけ返してくれる(戻り値の型:int)
◯パターン4:引数あり/戻り値あり
int calculateDamage(String moveType, int basePower) {
if (moveType.equals("でんき") && opponentType.equals("みず")) {
return basePower * 2;
}
return basePower;
}
- 材料を使って計算(引数:String、int)
- 計算結果を返す(戻り値の型:int)
◆ なぜ分けるの?
使い分けるのには、必ず目的がある!!
- 情報を使わないのに引数があるとごちゃごちゃ
- 結果を使わないのに戻り値があると無駄
「何のためのメソッドか」を考えながら作ると、 自然とパターンを選べるよ!
あとがき
ここまで読んでくれて、本当にありがとうございました。
「プログラミングって難しい…」って思ってた人も、
「ちょっと楽しいかも…!」って思ってもらえたらうれしいな。
次の投稿も、よろしくおねがいします。
💬 コメント・フィードバック歓迎!
「この章わかりやすかった!」
「これ表現まちがってない?」
「次は○○をやってほしい!」などなど、
お気軽にコメントで教えてくださいね!