UPSTARTSのぱみやすです
今回はJavaのメソッドをみていきます
メソッドは複数の処理をまとめたものになります
実際に例を見た方がわかりやすいのでみてみましょう
1 2 3 |
public static void main(String[] args) { } |
上記に書かれているのが、「mainメッソド」になります
「メソッド」はクラスのブロックの中に書きます
では、今回はメソッド名を「pirates」にして例をみてみます
1 2 3 4 5 6 7 8 9 |
public class Main { public static void main(String[] args) { } public static String pirates() { System.out.println("海賊団"); } } |
「public static void pirates」と書き、 「()」を書きます
その後に実行したい処理を「 {}」の中に書いてあげればOKです
今回は海賊団と表示させる処理にします
「public」と「static」はオブジェクト指向の記事で説明しているので今回は割愛します
「void」は下記で触れてます、今は決まり文句だと思ってください
1 2 3 4 5 6 7 8 9 |
public class Main { public static void main(String[] args) { pirates(); } public static String pirates() { System.out.println("海賊団"); } } |
その後に「piratesメソッド」を「mainメソッド」の中でよんであげます
「mainメソッド」内で、「pirates();」と書いてあげればOKです
実行すると、「海賊団」と表示されます
流れ的には「mainメソッド」内の「piratesメソッド」が実行され、「海賊団」がよばれるといった感じになります
引数
次に引数(ひきすう)を使ってみましょう
まずこちらの例をみてください
1 2 3 4 5 6 7 8 9 10 |
public class Main { public static void main(String[] args) { String pirate = "麦わら"; pirates(); } public static String pirates() { System.out.println(pirate + "海賊団"); } } |
「mainメソッド」内で「String pirate = "麦わら"」とした場合、「変数pirate」は、この「mainメッソド」内でしか 使えないことに注意しておきましょう
このように、「piratesメソッド」内で、「変数pirate」を使うとエラーがでます
上記のように「変数pirate」を「piratesメソッド」内で使いたい場合があります
その場合に引数を使うと値を扱うことができます
メソッドを呼び出す際に、呼び出し元(今回はmainメソッド内のpirates())から値を渡すことができます、この時に渡される値のことを引数と言います
では今回は直接、「麦わら」という文字列を渡してあげます
1 2 3 4 5 6 7 8 9 |
public class Main { public static void main(String[] args) { pirates("麦わら"); } public static String pirates(String pirate) { System.out.println(pirate + "海賊団"); } } |
「piratesメソッド」を呼び出す際に、「()」の中に値をいれてあげれば渡すことができます
「()」に「麦わら」というと入れ、値を渡し、
次に受け取る側のメソッドで変数を宣言してあげます、今回は「String型のpirate」にしています
こうすると文字列の「麦わら」を渡すことができます
ではもう一つ値を渡して実行してみます
1 2 3 4 5 6 7 8 9 10 |
public class Main { public static void main(String[] args) { pirates("麦わら"); pirates("赤髪"); } public static String pirates(String pirate) { System.out.println(pirate + "海賊団"); } } |
実行すると下記の用に表示されます
麦わら海賊団
赤髪海賊団
return
また、メソッドに値を返してもらいたい場合があります
その場合は「return」を使って値を返すことができます
今回は文字列の「麦わら海賊団」を「mainメソッド」に返し、「mainメソッド」で表示してみます
「return」の後に返したい値を書けばOKです
1 2 3 4 5 6 7 8 9 |
public class Main { public static void main(String[] args) { pirates("麦わら"); } public static void pirates(String pirate) { return pirate + "海賊団"; } } |
「return」の後に返したい値や変数を書き、
次に、メソッドの値を返す時は「void」を返す値の「データ型」に書き換える必要があるので
「String」に書き変えます
ちなみに先ほどの「void」は 何も返さないと意味になります
1 2 3 4 5 6 7 8 9 10 |
public class Main { public static void main(String[] args) { String msg = pirates("麦わら"); System.out.println(msg); } public static String pirates(String pirate) { return pirate + "海賊団"; } } |
そしたら「mainメソッド」で「piratesメソッド」を変数「msg」に代入し、
「msg」を表示させる処理を書けばOKです
実行すると「麦わら海賊団」と表示されます
まとめ
メソッドは他にも色々な使い方がありますがこちらの基本をしっかり押さえておくようにしてください
1 2 3 4 5 6 7 8 9 10 11 |
package lesson; public class Main { //メソッド public static void main(String[] args) { pirates(); } public static String pirates() { System.out.println("海賊団"); } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
package lesson; public class Main { //メソッド public static void main(String[] args) { //引数 pirates("麦わら"); pirates("赤髪"); } public static String pirates(String pirate) { System.out.println(pirate + "海賊団"); } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
package lesson; public class Main { //メソッド public static void main(String[] args) { //return String msg = pirates("麦わら"); System.out.println(msg); } public static String pirates(String pirate) { return pirate + "海賊団"; } } |
では次回はメッソドのオーバーロードについてみていきます