引数とは何か
引数とは?
メソッドを使いたい時(呼び出したい時)は、
あらかじめ定義したメソッド(「このパターンよく使いそうだな」と思って事前に書いたもの)を呼び出している
しかし定義した場面では、より多くのところでメソッドを使うために(多くのところで使えたほうが面倒な記述の繰り返しが減るから)、
具体的な数値などの情報は記述していないことが多い
例 2と3の違いしかなく他が全て同じ記述パターンなら、
まとめてint(数値)と書いておいた方が、2の場合でも3の場合でも同じ呼び出しパターン(メソッド)を使えるから楽
→ただし、int(数値)としか書いていないと、そこに何を代入するか分からない
(2なのか3なのか...)
そこで、メソッドを呼び出す時に
その都度呼び出したメソッドに具体的な値を渡そうという仕組みが生まれた
→ここで渡す具体的な値のことを引数と呼んでいる
ex.
① メソッドの定義
public static void hello(String name){
System.out.println(name+"さん、こんにちは")};
→nameのところが違うだけの同じパターンならこのメソッドを呼び出せば、コードを記述しなくてもOK
(ただし、nameで一括りにしてざっくり書いているだけなので、この部分を具体的にどうするのかという情報を呼び出す際にその都度教えて欲しい)
② メソッドの呼び出し
public class Main{...
hello("Aさん");
hello("Bさん");
hello("Cさん");
}
この( )内にそれぞれ記述してあるAさん、Bさん、Cさんというのが引数(①に渡す具体的な情報)
このように記述すると、この引数情報が文字列型(String型)nameのところに代入された形でメソッドの内容が出力される
出力結果
Aさん、こんにちは
Bさん、こんにちは
Cさん、こんにちは
※ 引数ルール
メソッドを呼び出す時に何の情報を渡さなくてもそのメソッドが実行できる時(AさんBさんのような細かい違いがなく、全く同じ処理で他の部分に再利用できる時)でも、
( )は絶対に記述する
( ) =何も情報は渡さないという意味
ex. hello( )
① メソッドの定義方法
複数の箇所をざっくりとした括り(型+変数名)で記述しておく
ex. public static void add(int x,int y)
② メソッドの呼び出し
ざっくりとした括りで記述した複数の箇所(情報を受け取る箇所)と全く同じ順番と同じ変数型で情報を渡す(値は,(コンマ)で区切ること)
ex. add(100,20);
〈メソッドを呼び出す時の引数 まとめ〉
引数(情報)を何も渡さない場合 メソッド名( )
1つだけ渡す メソッド名(値)
※値は変数名でも可