Java基礎 第8回の2章では、Java言語の中核的な要素であるメソッドの定義と呼び出しについて詳しく解説しています。 メソッド の基本的な定義形式から、戻り値や引数の有無によるメソッドの形式、そして実際のメソッドの呼び出しまでを、具体的なコード例と共に解説。
さらに、メソッドの定義と呼び出しがコードの再利用性、可読性、保守性を向上させる重要性についても触れています。
Javaプログラミング初心者や、メソッドの定義と呼び出しについてより深く理解したいと考えている人にとって、非常に役立つ内容となっています。
メソッドの定義方法
Javaではメソッドを定義するためには特定の形式を守る必要があります。基本的な形式は以下の通りです。
修飾子 戻り値の型 メソッド名(引数リスト) {
// メソッドの本体
// 命令群
}
ここで、修飾子はメソッドの属性を指定し、戻り値の型はメソッドの戻り値のデータ型を指定します。メソッド名は、そのメソッドを識別する名前で、命名規則に従って適切な名前をつけることが重要です。引数リストは、メソッドが受け取るパラメータのリストで、各パラメータは型と名前を持ちます。
メソッドの定義では、戻り値の有無や引数の有無により、さまざまな形式があります。次に、いくつかの例を見てみましょう。
戻り値あり、引数ありメソッド
例えば、2つの整数を加算するメソッドは次のように定義します。
public static int add(int a, int b) {
return a + b;
}
戻り値あり、引数なしメソッド
例えば、現在時刻を返すメソッドは次のように定義します。
public static String getCurrentTime() {
return java.time.LocalTime.now().toString();
}
戻り値なし、引数ありメソッド
例えば、文字列を出力するメソッドは次のように定義します。
public static void print(String message) {
System.out.println(message);
}
戻り値なし、引数なしメソッド
例えば、特定のメッセージを出力するメソッドは次のように定義します。
public static void greet() {
System.out.println("Hello, World!");
}
以上のように、Javaでは戻り値と引数の有無により、メソッドの定義を自由にカスタマイズすることができます。
メソッドの呼び出し方法
メソッドを定義したら、それを呼び出して使用することができます。
メソッドの呼び出しは、メソッド名の後に丸括弧()を付け、その中に必要な引数を列挙します。
もしメソッドが戻り値を持つなら、その戻り値を変数に代入するか、または直接その値を使用することができます。
先程定義したメソッドを呼び出す例を見てみましょう。
public static void main(String[] args) {
int result = add(10, 20); // 戻り値があり、引数があるメソッドの呼び出し
System.out.println("The sum is " + result);
String time = getCurrentTime(); // 戻り値があり、引数がないメソッドの呼び出し
System.out.println("The current time is " + time);
print("Hello, Java!"); // 戻り値がなく、引数があるメソッドの呼び出し
greet(); // 戻り値がなく、引数がないメソッドの呼び出し
}
実行例
The sum is 30
The current time is 12:30
Hello, Java!
Hello, World!
このように、メソッドを定義し、それを呼び出すことで、コードの再利用性を高めることができます。メソッドは共通の処理をまとめて定義することで、その処理を何度も書く手間を省き、コードの可読性と保守性を向上させる重要なツールです。
ただし、メソッドを適切に定義し呼び出すためには、戻り値と引数の扱いを理解することが重要です。特に、戻り値の型と引数の型はメソッドのシグネチャ(識別子)の一部であり、正確に指定する必要があります。また、引数は順序が重要であり、定義した順に値を指定する必要があります。
以下に正しく指定されているものと、間違った指定をしているものの例を紹介します。
正確に指定されている場合
public class Main {
public static void main(String[] args) {
// 正しい型の引数を指定し、適切な型で結果を受け取る
int result = add(5, 10);
System.out.println("The sum is: " + result);
}
// int型の引数を2つ取り、int型の結果を返す
public static int add(int a, int b) {
return a + b;
}
}
実行結果
The sum is: 15
正確に指定されていない場合
以下のコードはエラーとなります。
add
メソッドがint型の値を返すと宣言しているにもかかわらず、実際にはString型の値を返そうとしているからです。また、メソッドにint型の引数を2つ指定しているにもかかわらず、呼び出し時にはString型の引数を渡そうとしています。
public class Main {
public static void main(String[] args) {
// 間違った型の引数を指定し、間違った型で結果を受け取ろうとする
int result = add("5", "10");
System.out.println("The sum is: " + result);
}
// int型の引数を2つ取り、int型の結果を返すと宣言している
public static int add(int a, int b) {
// しかし、実際にはString型の値を返そうとしている
return "Hello, World!";
}
}
このコードをコンパイルしようとすると、以下のようなエラーメッセージが表示されます
error: incompatible types: String cannot be converted to int
return "Hello, World!";
^
error: incompatible types: String cannot be converted to int
int result = add("5", "10");
^
error: incompatible types: String cannot be converted to int
int result = add("5", "10");
^
3 errors
これは、戻り値の型や引数の型を正確に指定することが重要であることを示しています。戻り値の型や引数の型が正確に指定されていないと、コンパイルエラーが発生し、プログラムは期待通りに動作しません。
まとめ
今回は具体的なメソッドの定義方法と呼び出し方を見ていきました。
メソッドを使いこなすことがJavaにおいては非常に重要な要素ですので、めげずにトライし続けていきましょう。
もしどうしてもわからないところがあれば、コメントなどもしてみてくださいね。
Java基礎 第8回 3章ではメソッドと引数と戻り値について詳しく紹介していきます!
コメント