引数リスト

 関数で処理を行うのに必要なデータを、関数を呼び出す側からもらうためには引数を指定します。その引数を「仮引数」と呼びます。仮引数は実際のデータがあるのではなく、あると仮定して処理を記述することができます。

 一方、関数を呼び出す側は仮引数が定義されている場合は、仮引数に応じたデータを渡す必要があります。そのデータを「実引数」と呼びます。実引数は処理してもらいたい実際のデータを指定します。

 関数を定義するときには引数を指定しないか、指定するかを決めることができます。また、指定する場合、複数指定することができます。複数指定するときはカンマで区切って指定します。

仮引数リストの書式
データ型 変数名
データ型 変数名, データ型 変数名,

 これから、引数を指定するいくつかのパターンを見てみましょう。

■ 仮引数を指定しない

 関数を定義するときに、関数を呼び出す側からデータをもらう必要のない場合は、仮引数リストは指定しません。

○ ファイル

 次のようにファイルを作成してください。

ファイル名 FunctionTest1.java

サンプルダウンロード

○ プログラム

 次のようにプログラムを入力してください。

  1. import java.io.*;
  2. class FunctionTest1{
  3.  //入力したデータを表示する関数
  4.  public static void showData() throws Exception{
  5.   //データを入力する準備
  6.   BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  7.   //データを入力
  8.   System.out.print("表示したいデータを入力してください:");
  9.   String inputdata = br.readLine();
  10.   //入力したデータを表示
  11.   System.out.println("入力したデータは「" + inputdata + "」です。");
  12.  }
  13.  public static void main(String[] args) throws Exception{
  14.   //関数の呼び出し
  15.   showData();
  16.  }
  17. }

○ フローチャート

○ 実行結果

表示したいデータを入力してください:りんご
入力したデータは「りんご」です。

○ 解説

 5~15行目で関数を定義しています。この関数は呼び出されると、キーボードからデータの入力をして、入力したデータを表示します。5行目の関数の定義で「public static」というキーワードがついていますが、詳しくは別に説明します。

 17~20行目ではmain関数を定義しています。Javaでは実行時にこの関数を呼び出します。そのため、main関数内に記述されている処理が順番に実行されます。

 19行目ではshowData関数を呼び出しています。showData関数は仮引数が指定されていないので、呼び出す側でも実引数を指定しません。指定するとエラーになります。

■ 仮引数を1つ指定する

 関数の定義で1つ仮引数を指定する方法と、それを呼び出す方法を確認しましょう。

○ ファイル

 次のようにファイルを作成してください。

ファイル名 FunctionTest2.java

サンプルダウンロード

○ プログラム

 次のようにプログラムを入力してください。

  1. import java.io.*;
  2. class FunctionTest2{
  3.  //指定されたデータを表示する関数
  4.  public static void showData(String data){
  5.   //指定したデータを表示
  6.   System.out.println("指定されたデータは「" + data + "」です。");
  7.  }
  8.  public static void main(String[] args) throws Exception{
  9.   //データを入力する準備
  10.   BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  11.   //データを入力
  12.   System.out.print("表示したいデータを入力してください:");
  13.   String inputdata = br.readLine();
  14.   //関数の呼び出し
  15.   showData(inputdata);
  16.  }
  17. }

○ フローチャート

○ 実行結果

表示したいデータを入力してください:みかん
入力したデータは「みかん」です。

○ 解説

 5~8行目で関数を定義しています。この関数は仮引数を一つ用意しています。文字列型の変数が宣言されているので、文字列を受け取る前提で処理が行われます。7行目で渡された文字列を表示しています。

 10~20行目ではmain関数を定義しています。「FunctionTest1.java」と比べると、今回はmain関数でキーボード入力をしています。19行目でShowData関数を呼び出していますが、その時にキーボードから入力したデータを実引数に指定しています。文字列を実引数に指定しないとエラーになります。

■ 仮引数を複数指定する

 関数の定義で複数仮引数を指定する方法と、それを呼び出す方法を確認しましょう。今回は2つの引数を扱います。

○ ファイル

 次のようにファイルを作成してください。

ファイル名 FunctionTest3.java

サンプルダウンロード

○ プログラム

 次のようにプログラムを入力してください。

  1. import java.io.*;
  2. class FunctionTest3{
  3.  //指定されたデータを表示する関数
  4.  public static void showData(String data, int count){
  5.   //指定した回数ループ
  6.   for(int i=0; i
  7.    //指定したデータを表示
  8.    System.out.println("指定されたデータは「" + data + "」です。");
  9.   }
  10.  }
  11.  public static void main(String[] args) throws Exception{
  12.   //データを入力する準備
  13.   BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  14.   //データを入力
  15.   System.out.print("表示したいデータを入力してください:");
  16.   String inputdata = br.readLine();
  17.   //回数を入力
  18.   System.out.print("表示したい回数を入力してください:");
  19.   int countdata = Integer.parseInt(br.readLine());
  20.   //関数の呼び出し
  21.   showData(inputdata, countdata);
  22.  }
  23. }

○ フローチャート

○ 実行結果

表示したいデータを入力してください:ばなな
表示したい回数を入力してください:5
指定されたデータは「ばなな」です。
指定されたデータは「ばなな」です。
指定されたデータは「ばなな」です。
指定されたデータは「ばなな」です。
指定されたデータは「ばなな」です。

○ 解説

 5~11行目で関数を定義しています。この関数は仮引数を二つ用意しています。文字列と整数値を受け取ります。7行目から受け取った整数値分だけ繰り返して、受け取った文字列を表示します。

 今回はmain関数で表示したい文字列と、繰り返したい回数を入力しています。showData関数を呼び出す時に表示したいデータと、表示する回数を渡しています。この二つを渡さないとエラーになります。

前へ   次へ