メソッド
メソッドとは
プログラムが複雑になってくると・・・
・プログラムが長くなってきて、どこでどんな処理をしているのか
わかりずらい
・同じような処理が何度も出てきて効率が悪い
・同じ処理が何箇所にもあって、そのどれかを1つ直す場合
他も全部直す必要があり、見落としやすい
↑これらを解決するために・・・
プログラムを細かく分けて「部品化」する
この部品のことをメソッドという
メソッドの考え方
ただ単に細かく分ければいい・・・というものではない
「処理の流れから切り離して、必要に応じて呼び出す」
という考え方をする
メソッドの定義
→メソッドを作ること
書き方
public static 戻り値の型 メソッド名(引数リスト){
呼び出した時に実行する処理
}
メソッドを書く位置
メソッドの中にメソッドは書けないので、mainメソッドの
上か下に書く
メソッドの呼び出し
→必要に応じて呼び出す
書き方
メソッド名(引数リスト);
mainメソッドから順番に呼び出していく
メソッドは機能ごとの処理
各機能をひとつのメソッドに入れてしまうのはあまり良くない
メソッド間のデータの受け渡し
注意点
箱の名前が同じだったら自動的にデータが受け渡されるわけではない(スコープ外)
データを受け渡す仕組みが必要になる
引数と戻り値
引数(ひきすう)(パラメータ)
呼び出し元からメソッドに渡すデータのこと
何個でも、0でもok
戻り値(返り値)
メソッドから呼び出し元に渡すデータのこと
個数は0か1
2以上のデータを戻すことはできない(配列はok)
引数を受け取る
メソッド側はどんなデータが渡されるかわからないのでそれを受け取る箱が必要
そのため、引数は変数で受け取る
( )(丸カッコ)の中で変数を宣言すると引数として受け取ることができる
(※セミコロンはなしなので注意!)
メソッド側の引数のことを仮引数という
(ex)
public static void convertToAD (int heisei){
int ad = heisei + 1988;
}
メソッドに引数を渡す
渡したいデータをそのまま丸カッコの中に書く
(ex)
convertToAD(5)
convertToAD(x+1)
呼び出し元側の引数を実引数という
※実引数は仮引数のデータ型に合わせて指定する必要がある
メソッドから戻り値を返す
書き方
public static 戻り値の型 メソッド名(引数リスト){
呼び出された時に実行する処理
return 戻り値;
}
戻り値を戻すためにはreturn文を使う
戻り値は変数・リテラル・式も指定できる
戻り値がない(0個)の場合は戻り値の型としてvoidを指定する
メソッドの左を戻り値の型にしなければならない
メソッドから戻り値を受け取る
書き方
型 変数名=メソッド名(引数リスト);
戻り値をそのまま使う
戻り値は変数に入れず、直接使うこともできる
(ex)
return heisei+1;
引数を複数渡す
受け取る方も渡す方もカンマ(,)で区切って指定する
※引数の順序が重要(仮引数と同じ順番にする)
引数の型、数、並び順が違えば同じメソッド名を複数定義できる
呼び出し方は同じ
実引数と同じメソッドをJVMが自動判断
引数に配列を用いる
仮引数に使えるものは変数だけでなく配列も可能
1つの配列は1個と数える
値渡しと参照渡し
値渡し
値を仮引数に代入
参照渡し
アドレスを仮引数に代入
mainメソッドの仮引数
args = argments(引数)
コマンドライン引数
実行時に渡すデータ
書き方
java プログラム名 引数リスト