Java入門5 メソッド
メソッドとは
用語
・メソッド(method)…複数の文をまとめ、それを1つの処理として名前をつけたもの。部品の最小単位。
・メソッドの定義…メソッドを作成すること
・引数(argument)…メソッドの呼び出し元から呼び出し先に渡される、もしくは受け取る値。
数値・文字列等を指定でき、値や型、渡す引数の数は自由に決められる。
・実引数…渡す値
・仮引数…受け取る変数
・ローカル変数…メソッド内で宣言した変数。その変数が属するメソッド内だけで有効。
・戻り値[返り値]…呼びだされたメソッドから呼び出し元のメソッドへ値を返す(値を戻す)際の値。
・オーバーロード[多重定義](overload)…同じ名前のメソッドを定義。シグネチャが重複しない場合のみ可能
・シグネチャ(signature)…メソッド名 + 引数の個数・型・並び順
・値渡し(call by value)…値そのものが呼び出される呼び出し
・参照渡し(call by reference)…引数としてアドレスを渡すこと
・コマンドライン引数(command line argument)…プログラム起動時の追加情報
メソッドの定義
public static 戻り値の型 メソッド名(引数リスト) { メソッドが呼び出されたときに実行される具体的な処理 }
メソッドの呼び出し
メソッド名(引数リスト)
public static void main(String[] args) { hello(ミズゴロウ); hello(ヌマクロー); hello(ラグラージ); } public static void hello(String name) { System.out.println(name + "、こんにちは"); }
ローカル変数の独立性
異なるメソッドに属するローカル変数はお互いに独立
メソッドを呼び出し、戻り値を受け取る
型 変数名 = メソッド名(引数リスト);
public static int add(int x, int y) { int ans = x + y; return ans; } public static void main(String[] args) { int ans = add(100, 10); System.out.println("100 + 10 = " + ans);
基本データ型の変数をメソッド呼び出しで渡すと
・呼び出し元の変数の内容が、呼び出し先の引数にコピー
・呼び出し先で引数の内容を書き換えても、呼び出し元の変数はそのまま
配列をメソッド呼び出しで渡すと
・呼び出し元の配列のアドレスが、呼び出し先の引数にコピー
・呼び出し先で配列の実体を書き換えると、呼び出し元にも影響する
感想
・配列と拡張for文がいまいちよくわかっていない、特に後者は変数名:配列変数名の関係が分からない
・メソッドは関数のような印象を受けた