【Javaプログラム入門】初心者向けに「関数」をわかりやすく解説!

今回は、プログラミングの基礎知識として「関数」について解説します。

この「関数」もプログラミング界では、必須なのでしっかりと学習しましょう!

関数の学習ポイントは以下になります。

関数の学習ポイント
  • 関数宣言
    • 戻り値の型
    • 関数名
    • 引数
    • 戻り値
  • 関数の呼び出し
  • 戻り値の受け取り

関数とはどういう物かというイメージをつかんで、プログラムの構文を覚えていきましょう。

プログラミングは何をしているのかというイメージが大事です。
そのイメージをコンピューターに指示するのが、プログラミング言語です。

それでは、関数について解説していきます。

目次

関数とは? 関数のイメージをつかもう!

プログラムの「関数」とは何かをイメージするところから入りましょう。

関数の定義を書くと、以下のような感じです。

与えられたデータを用いて、毎回決められた内容の処理を行い、その結果(データ)を返す機能

言葉だけだと、なかなか「関数とはこういうものだ!」とイメージするのが難しいかなと思います。

そこで、関数を「ネットショッピング」で例えてみます。

関数のイメージ、ネットショッピング

ネットショッピングの流れは以下のようになっていて、

① 注文する
② お店が注文情報を受け取って、商品を梱包して発送する ※ここが関数です
③ 商品が届く

上記の②が「関数」に該当します。

上記②を関数の定義に当てはめてみます。

与えられたデータを用いて … お店が注文情報を受け取って
毎回決められた内容の処理を行い … 注文された商品を梱包する
その結果(データ)を返す … 梱包した商品を発送する

関数はこんな感じのイメージになります。

なんとなく関数がどんな物かわかったでしょうか。

関数宣言

ここからは、関数宣言のプログラム構文を解説していきます。
ちなみに、関数宣言のことを関数定義とも言います。

関数宣言のプログラム構文は、次の5つの要素で構成されています。

関数宣言の5つの要素

① 戻り値の型
② 関数名
③ 引数
④ 実行する処理
⑤ 戻り値

それでは、順々に要素を説明していきます。

① 戻り値の型 … 戻り値のデータの種類を書きます。

② 関数名 … 関数の処理内容が想像できるわかりやすい名前を書きます。

③ 引数 … 関数に渡すデータを書きます。引数の書き方は、「引数の型 引数名」です。

④ 実行する処理 … 関数で実行する処理を書きます。

⑤ 戻り値 … 最後に、関数を呼び出した所に返すデータをreturnの後に書きます。

関数のサンプルを見てみよう

では、上記の構文に当てはめて、実際の関数のつくりを見てみましょう!

【作成する関数】
 引数にフルネームを与えると、「氏名:フルネーム」形式の文字列を返す関数。

String formatName(String name){
  String adjustName = "";

  adjustName = "氏名 : " + name;

  return adjustName;
}

① 戻り値の型 … String。関数の戻り値は「氏名:フルネーム」なので、文字列型(String)となります。
② 関数名 … formatName。名前の形式を整える意味がわかるような名前をつけます。
③ 引数 … String name。引数はフルネームを受け取るので、フルネームのデータ型(String)と引数名(name)を書きます。
④ 実行する処理 … 引数のフルネームの前に、「氏名 :」という文字列を結合し、「氏名:フルネーム」形式の文字列を変数adjustNameに代入します。
⑤ 戻り値 … return adjustName。「氏名:フルネーム」形式の文字列を返します。

別パターンの関数宣言の書き方

関数宣言の別パターンを紹介します。

関数宣言の別パターン

① 引数が複数ある場合
② 引数がない場合
③ 戻り値がない場合

① 引数が複数ある場合

関数宣言の別パターン:引数が複数

引数が複数ある場合は、引数を「,」で区切って必要な数だけ書きます。

サンプル

String formatName(String first, String last){
  String adjustName = "";
  adjustName = "姓 : " + first + "  名 : " + last;
  return adjustName;
}

② 引数がない場合

関数宣言の別パターン:引数なし

引数がない場合は、()の中に何も書きません。

サンプル

String getNamePrefix(){
  String prefix = "";
  prefix = "氏名 : ";
  return prefix;
}

③ 戻り値がない場合

関数宣言の別パターン:戻り値なし

戻り値がない場合は、戻り値の型に「void」を書きます。
また、「return」を書きません。

サンプル

void outputName(String name){
  System.out.println(name);
}

ここまで関数宣言について解説してきました。

「戻り値のあり/なし」、「引数のあり(単数、複数)/なし」で書き方が変わるので、注意して覚えましょう。

関数の使い方

関数宣言の方法を学習したので、次は宣言した関数の使い方を解説します。

関数の使い方

関数の使い方は、以下の2つを覚えましょう。

関数の使い方

① 関数の呼び出し
② 戻り値の受け取り

それでは、順々に説明していきます。

① 関数の呼び出し … 関数宣言した関数の「関数名(引数)」と書きます。

② 戻り値の受け取り … 戻り値がある関数の場合は、「変数 = 関数名(引数)」と書きます。
変数に関数の戻り値が代入されます。

関数の使い方のサンプルを見てみよう

では、関数の使い方のサンプルを見てみましょう!

【使う関数】
 引数にフルネームを与えると、「氏名:フルネーム」形式の文字列を返す関数。

String formatName(String name){
  String adjustName = "";
  adjustName = "氏名 : " + name;
  return adjustName;
}

【関数の使い方】
上記の関数を呼び出して、戻り値を受け取る方法。

String name = formatName("田中 太郎");

① 関数の呼び出し … formatName(“田中 太郎”)。関数名(引数)と書きます。
② 戻り値の受け取り … String name = 関数の呼び出し の形で書きます。

別パターンの関数の使い方

関数の使い方の別パターンを紹介します。

関数の使い方の別パターン

① 引数が複数ある場合
② 引数がない場合
③ 戻り値がない場合

① 引数が複数ある場合

【使う関数】

String formatName(String first, String last){
  String adjustName = "";
  adjustName = "姓 : " + first + "  名 : " + last;
  return adjustName;
}

【関数の使い方】

String name = formatName("田中", "太郎");
  1. formatName(“田中”, ”太郎”)。 関数に引数を2つ渡して呼び出す。
  2. 変数 name に formatName関数の戻り値を代入する。

② 引数がない場合

【使う関数】

String getNamePrefix(){
  String prefix = "";
  prefix = "氏名 : ";
  return prefix;
}

【関数の使い方】

String namePrefix = getNamePrefix();
  1. getNamePrefix()。 引数なしで関数を呼び出す。
  2. 変数 namePrefix に getNamePrefix関数の戻り値を代入する。

③ 戻り値がない場合

【使う関数】

void outputName(String name){
  System.out.println(name);
}

【関数の使い方】

outputName("田中 太郎");
  1. outputName(“田中 太郎”)。 関数に引数を1つ渡して呼び出す。
  2. outputName関数の戻り値はないので受け取らない。

以上で関数の使い方の解説は終わりです。

戻り値や引数の有り無しで、関数の呼び出し方や戻り値の受け取り方が変わりましたね。
いくつかパターンがあるので、しっかりと学習しましょう!

まとめ:プログラムは、関数の集まりで出来ている。

今回は、プログラミングの基本である「関数」について解説しました。

関数を理解するポイントを復習しておきましょう。

関数の学習ポイント
  • 関数宣言
    • 戻り値の型
    • 関数名
    • 引数
    • 戻り値
  • 関数の呼び出し
  • 戻り値の受け取り

実際にプログラムを作成する時は、関数をたくさん作ります。
プログラムの処理を小分けにして、小分けにした処理を関数として作成していきます。

最終的に、小分けにした処理の関数を呼び出して使うことで、やりたかった処理が実行できます。

自由自在に関数を作成できるようになりましょう!


次のステップ

学習した基礎知識を使ってJavaアプリケーションを作ってみたい方は、以下の記事の演習にぜひチャレンジしてみてください!※きっとよい勉強になります


効率よく最速で学習したい方、転職を強く目指している方は、プログラミングスクールの利用も有効です!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

SE歴16年。
システム開発会社で開発部長をしています。

【主な仕事内容】
 ・Webシステム開発
 ・新入社員育成
 ・社員採用

IT業界が好きで、プログラミングが好きです。
社内の新入社員育成に情熱を注いでいます。

コメント

コメントする

CAPTCHA


目次
閉じる