Java基礎 第8回の3章では、Javaの『メソッド』における引数と戻り値の詳細な概念と使用法について解説しています。具体的には、メソッドの引数の種類(基本型、参照型、可変長引数)や、それぞれの引数がメソッド内でどのように扱われるか、また戻り値の指定方法とそれがプログラムにどのように影響を与えるかについて、具体的なコード例とともに説明しています。
Javaの基礎を理解しようとしている初心者から、Javaのプログラムを書く経験はあるもののメソッドの引数や戻り値について深く理解したい中級者まで、この記事は多くのJavaプログラマーにとって役に立つ内容となっています!
メソッドの引数と戻り値
Javaのメソッドでは、特定の処理を実行するための情報を引数として受け取り、処理結果を戻り値として返すことが一般的です。この章では、メソッドの引数の種類と戻り値の指定方法について詳しく解説していきます。
メソッドの引数の種類
Javaのメソッド引数は基本的に3つの種類があります。
基本型
Javaの8つの基本型(byte, short, int, long, float, double, char, boolean)を引数に指定できます。これらの型は値が直接引数に渡されます。
public void displayChar(char character) {
System.out.println("Character: " + character);
}
参照型
オブジェクトや配列の参照を引数に取ることができます。これらの引数は、呼び出し元と呼び出し先で同じオブジェクトを参照します。
public void modifyArray(int[] array) {
array[0] = 10; // This modifies the original array
}
可変長引数
メソッドに渡す引数の数が決まっていない、つまり「いくつでも良い」といった場合には、可変長引数という機能を利用します。可変長引数は、引数の型の後ろに“…”(ドット3つ)を付けることで定義します。これを使うと、その型の引数を何個でも(0個からでも)メソッドに渡すことができます。
例えば以下のsumNumbersメソッドでは、可変長引数numbersが定義されています。
public int sumNumbers(int... numbers) {
int sum = 0;
for (int number : numbers) {
sum += number;
}
return sum;
}
このメソッドは、いくつでも良い数のint型引数を受け取り、それらの合計値を計算して返します。例えばsumNumbers(1, 2, 3)と呼び出すと、1 + 2 + 3 の合計値である6を返します。
このnumbersは内部的には配列として扱われており、その要素は引数で指定した値になります。したがって、拡張for文を用いてその全ての要素にアクセスし、合計値を計算しています。
メソッドの戻り値の指定方法
メソッドが処理結果を返すためには、戻り値を指定する必要があります。戻り値はメソッド定義の一部で、メソッド名の前に戻り値の型を指定します。
void
メソッドが何も返さない場合、voidを指定します。
public void printMessage() {
System.out.println("Hello, world!");
}
具体的な型
メソッドが結果を返す場合、その型を指定します。
public int getDouble(int number) {
return number * 2;
}
メソッド内での引数や戻り値の処理方法
メソッド内では、引数は通常の変数と同じように使うことができます。ただし、引数は基本型か参照型かによって、その振る舞いが異なります。
値渡し
基本型(数値やboolean)の引数は「値渡し」で、メソッドに渡されるのはその値そのものです。つまり、メソッド内で引数を変更しても、その変更はメソッドを呼び出した元のコードには影響しません。
参照渡し
参照型(オブジェクトや配列)の引数は「参照渡し」で、メソッドに渡されるのはオブジェクトへの「参照」です。つまり、メソッド内で引数のオブジェクトを変更すると、その変更はメソッドを呼び出した元のコードに影響します。これは、同じオブジェクトを指しているためです。
また、メソッドから結果を返すためには、戻り値を用います。戻り値はメソッド内の処理結果を呼び出し元に返す役割を果たします。戻り値はメソッド内部でreturn文を使って指定します。return文は、その後の処理を実行せずにメソッドを終了し、指定した値を呼び出し元に返します。
例えば以下のcalculateSumメソッドでは、2つの引数aとbを受け取り、その和を計算して戻り値として返しています。
public int calculateSum(int a, int b) {
int sum = a + b;
return sum;
}
このメソッドは、例えばcalculateSum(3, 4)と呼び出すと、3と4の和である7を計算し、その結果(7)を戻り値として返します。
まとめ
今回はメソッドの引数と戻り値について紹介しました。
メソッドを扱うときに最初は戸惑う場面もあるかもしれませんが、戻り値の扱いはオブジェクト指向においては核となってくる部分でもありますので何度もコードを書いて身につけて行きましょう
Java基礎 第8回 4章は「メソッドのオーバーロード」について紹介していきます。
引き続き一緒に頑張っていきましょう!
コメント