関数(メソッド) つづき |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
関数の大まかな動きは
こんな感じだな。
この中で重要なのが
引数と戻り値だ。
関数を作る時に引数(ひきすう)
を決めておけば、
呼び出す時に、
関数に値を渡すこともできる。
戻り値(もどりち)を決めておけば、
関数から結果をもらうことも
できるよ。
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
えっと、関数に、
引数で値を渡して・・・。
戻り値で結果を貰う
んだね。
|
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
 |
はいっ。 |
|
|
|
 |
|
 |
|
引数と戻り値
引数(ひきすう) |
呼び出し時に関数に値を渡すことができる。 |
戻り値(もどりち) |
関数から呼び出し元に値を返す事ができる。 |
|
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
引数(ひきすう)は、
呼び出し元から関数へ
値を渡すための変数だ。
呼び出しの時に変数や値を
書いてやると、値がコピーされて
関数側の引数に入るんだ。
これを「値渡し」
(あたいわたし)というんだ。
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
これは
さっき見た
図ね。 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
引数は、関数が始まると、
値を受け取った状態になってる。
あとは関数の中で普通の変数と
同じように使えるよ。
だから、
例えば計算関数を作って
引数を使って関数に値を渡して、
その値に加算させたりできる。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
 |
なるほど。 |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
実は、
引数への渡し方は2種類ある。
基本型の引数で使う
「値渡し」と
クラスなどの参照型の引数で使う
「参照渡し」だ。
「参照渡し」についてはクラスの時ね。
今は無視していいよ。 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
 |
今は、
基本型の変数
しか使わないから
「値渡し」だけを
見ていくよ。 |
|
|
|
|
|
 |
|
 |
|
引数の渡し方
値渡し
(あたいわたし) |
引数が基本型変数の場合の渡し方。
関数の引数に、
変数の「値」をコピーして渡す。 |
参照渡し
(さんしょうわたし) |
引数が参照型変数の場合の渡し方。
関数の引数に、
変数の「アドレス(参照)」をコピーして渡す。 |
渡し方は、引数の型によって自動的に変わるので意識する必要は無い |
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
ああ、
変数を勉強した時
見たよな。
気になったら
復習してくれ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
聞いた事
あるような。
無いような。 |
 |
|
 |
どっちでも
いいけどー。 |
|
|
|
 |
|
 |
|
変数のデータの型(SESSION 7より抜粋)
基本型
(プリミティブ型) |
・Java言語の「言語仕様」できめられた根っこの型。
・勝手に型を追加・変更できない。
・変数の中には実体が入っている。
・全て小文字。 |
参照型
(オブジェクト型) |
・配列型、クラス型、インターフェース型実装の
オブジェクトのアドレスを格納できる。
・変数の中には参照(アドレス)が入っている。
言わば「ショートカット」のようなもの。 |
|
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
戻り値(もどりち)は
関数から戻してもらう値だ。
これを使えば、呼び出し元は
関数から結果の値を
受け取れるんだよ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
 |
|
これから詳しく
見ていくよ。 |
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
引数を含めて
関数内で宣言された変数は
関数のブロックの中でのみ
有効だ。
つまり、
関数が終わると、変数は
値と一緒に消えてしまう。
だから、必要な結果は
戻り値で呼び出し元に
戻してやる必要があるんだ。
詳しくは後で変数の有効範囲
でみるよ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
結果を戻さないと
関数が終わったら
消えちゃうんだ。
関数は毎回
最初からなんだね。 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
 |
消えたら
たいへん! |
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
以上、関数の概略終わり。
詳しくはこれからやっていくから、
今はなんとなく
流れをつかんでくれ。 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
しっかり
覚えないと。 |
 |
|
|
|
|
|
|
 |
|
 |
|
関数の詳細
・記述場所 |
・書式 |
・呼び出し方 |
・変数の有効範囲 |
・動作の流れ |
|
|
|
 |
|
 |
|
|