引数とは vol.29

今回は引数について説明していこう。

前回戻り値引数(ひきすう)というものがあると紹介した。
メソッドの定義は

public static 戻り値の型 メソッド名(引数リスト){
 実行文

と紹介した。

前回がこれだ。今回は引数について紹介し、次回は戻り値について説明しよう。

1.引き数とは

メソッドを呼び出す際に、与える値のこと。
String型の文字であったり、int型がたの数値、配列なども与えることができる。

この引数がもたらすメリットとは、実際に使ってみるとわかるが、変更が楽になる。例を出してみよう。

2.引き数を利用

少し変えたが、前回と同じようmainとhelloメソッドを使用して書いてみよう。

public static void main(String[] args) {
 hello("田中"); ⇐引数で渡す値
 hello("山田"); ⇐引数で渡す値
 hello("渡辺"); ⇐引数で渡す値
}
public static void hello(String name) { ⇐String nameが引数をもらう
 System.out.println(name + "さんこんにちは");
}

このようにhelloメソッドを呼び出した()内に文字を入れている。
helloメソッドの引数ではString nameという変数を宣言しているので、ここに当てはまる型はString型となる。(String型しか受け付けてくれない)
その結果、mainメソッドでhelloメソッドを呼び出すときの()の中身はString型となる。

helloメソッドの引数がint型であれば渡す引数もint型となる。

コンソールに表示させると

田中さんこんにちは
山田さんこんにちは
渡辺さんこんにちは

hello後の()の中身を変えてあげるだけで、コンソールに表示させる文字が変わる。

helloメソッドの実行文に引数なしでそのまま書いてもよいのだが、変更を加えるたびに実行文をいじることはあまりスマートではない。

3.複数の引数を渡す

引数は複数渡すことができる。

public static void main(String[] args) {
age("田中",30); ⇐引数で「"田中",30」を渡す
}
public static void age(String name , int age) { ⇐引数で「"田中",30」をもらう
System.out.println(name + "さんは" + age + "歳");
}

このように,(カンマ)区切りでString型の「田中」とint型の「30」を引数で渡している。

コンソールに表示させると

田中さんは30歳

のように表示させられる。

注意点として

public static void main(String[] args) {
age(30,"田中");
}
public static void age(String name , int age) {
System.out.println(name + "さんは" + age + "歳");
}

このように「田中」と「30」を反対にした。これはエラーになる。
与える引数と受け取る引数の型は順になっているため順を合わせなくてはならない。

そして最後、引数がある大切な意味。

4.変数の有効範囲について

引き数など使わなくてもmainメソッドで宣言した変数を使えばよいと思う方も中に入ると思う。

しかし、変数は宣言したところのメソッドの範囲内でしか使えない。

mainメソッドで宣言したメソッドはほかでは使えないし、他で宣言したメソッドはmainメソッドでは使えない。

キャプチャ629

このようにmainメソッドで宣言した変数をそのままageメソッド使用しようとするとエラーになる。
ローカル変数ともいうのだが、変数は宣言したメソッドでしか使えないと覚えていただきたい。

そのために、渡したい値があるときに引き数を使用する。

今回は以上。

引数の使い方、渡す際のルール、変数の有効範囲について今回は覚えていただきたい。

では、また次回
元体育会系文系エンジニア石黒

この記事が気に入ったらサポートをしてみませんか?