関数(メソッド) つづき |
|
|
|
 |
分かりやすさ
が大切ね。 |
|
|
|
|
 |
|
|
|
|
 |
 |
 |
|
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
次に
関数名を定義する。
Javaのコーディング規約では
先頭小文字で
単語を複数つなげる場合は
2番目以降の先頭は大文字ね。
変数と同じだね。
特に長さとかの制限は無いよ。
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
|
|
|
|
 |
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
そっか、
変数と同じ書き方で
いいんだね。
関数の内容が
分かりやすい名前が
いいね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
もちろん、
同じ関数名で2つ定義
とかは不可だよね?
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
・・・うーん。それが、
できちゃったりもするんだな、
これが。
でも、ややこしい事になるから
クラスを勉強するまでは、すでに
定義済みの関数名は使わない
ようにしといて。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
はいっ。
んー、
同じ名前
でも作れる
んだ・・・。 |
 |
|
 |
これも
もうちょっと
我慢してね。。。 |
|
|
|
 |
|
 |
|
関数名 まとめ
関数の内容が分かりやすい名前をつける |
Javaのコーディング規約では
先頭小文字で、単語を複数つなげる場合は
2番目以降の先頭は大文字。つまり、変数と同じ。
・長さや文字数の制限は無い。
|
|
|
同じ関数名で複数定義する事もできる |
同じ関数名で複数の関数を定義する事もできる。
ただし、クラスの機能と関係しているため、当面、
同じ名前の関数名は定義しないこと。 |
|
|
|
|
|
 |
|
 |
|
|
|
|
当たり前
でしょ。 |
|
|
 |
ばっちり! |
|
|
|
|
 |
|
|
|
|
 |
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
最後に()括弧を書いて
関数の{}ブロックを書こう。
「( )」に引数を書いて
「{ }」のブロックの中に、
実行する処理を書くんだ。
コードの大きさに制限は
ないよ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
|
|
|
|
 |
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
実行する処理を
ブロックに書くのは
制御文と同じだね。
これはバッチリ分かるよ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
|
|
|
|
 |
 |
 |
|
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
関数の呼び出し時に
関数に値を渡したい場合は
この()括弧の中に
引数(ひきすう)
を宣言しておく必要がある。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
|
|
|
|
 |
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
ここに変数を書いておけば
呼び出し元から値を
受け取れるんだね。
例だと、このint型と
boolean型の変数に値が
入るんだ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
いくつも
書いてOK。 |
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
引数の宣言の仕方は、
変数の宣言と同じ書き方。
受け取りたい変数の型で
引数名(変数名)を宣言するんだ。
複数ある場合は
「,」(カンマ)でつなげて書く。
引数の数に制限は無いよ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
 |
括弧だけで
いいんだ。 |
|
|
|
 |
|
 |
|
引数の決まり
|
・・・ |
|
|
|
|
private
static void test(int
aaa){ |
|
|
|
|
|
System.out.println("クリームソーダほんと美味しい!"); |
|
|
|
|
|
} |
・・・ |
|
|
|
int型の値がほしければ int型の変数を宣言する。 |
|
|
・・・ |
|
|
|
|
|
private
static void test(int
aaa,boolean
bbb,byte
ccc,boolean
ddd){ |
|
|
|
|
|
|
|
System.out.println("クリームソーダほんと美味しい!"); |
|
|
|
|
|
|
|
} |
|
・・・ |
|
|
|
|
いくつ宣言しても、いろいろな型を同時に使ってもいい。
その場合、カンマで引数を区切る。 |
|
|
・・・ |
|
|
|
|
|
private
static void test(){ |
|
|
|
|
|
|
|
System.out.println("クリームソーダ絶対美味しい!"); |
|
|
|
|
|
|
|
} |
|
・・・ |
|
|
|
|
必要なければ空にして宣言しないでもいい。 |
|
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
引数の初期化は不要だ。
というより「できない」。
呼び出し元からの値が入って
それが初期値になるからね。
つまり、引数を宣言したら、
呼出時に値を渡すのが必須になる。
空っぽのままじゃまずいからね。
必要の無い定義はやめておこう。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
詳しくは
関数の呼出で
見るよ。 |
 |
|
 |
いろいろ
あるんだね。 |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
引数の注意点は
こんな感じ。
引数名は自由につけられる。
変数と決まりは同じ感じね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
別の関数なら
同じ引数名が使えるんだ。
別の関数は、
別のスコープなんだね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
そーだー、
そーだー、
クリーム
ソーダー! |
 |
|
 |
どれだけ
クリームソーダ
好き。。。 |
|
|
|
 |
|
 |
|
引数の注意点 |
|
|
同じ関数内では同じ引数名は使えない。 |
|
 |
|
|
|
|
private
static void test(int
a,byte
a){ |
|
|
|
|
|
System.out.println("クリームソーダまたまた美味しい!"); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
別の関数なら同じ引数名が使える。 |
|
 |
|
|
|
|
public static void
testA(int
a) { |
|
|
|
|
|
System.out.println("クリームソーダこりゃまた美味しい!"); |
|
|
|
|
|
} |
|
|
|
|
|
private
static void testB(int
a){ |
|
|
|
|
|
System.out.println("クリームソーダすんごい美味しい!"); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
 |
|
 |
|
|
|
 |
これで
関数の定義
おしまい。 |
|
めもめも。 |
 |
|
|
|
|
 |
|
 |
|
引数 まとめ
受け取りたい型で宣言する |
呼び出し側から受け取りたい値の型の変数を宣言する。
・必須ではない。必要なければ宣言しないでいい。
・引数の数に制限は無い。
・型の種類は変数と同じ。
・複数の型の種類を同時に宣言できる。
・初期化は不要。呼出側から受け取る値が初期値になる。
|
|
|
別の関数なら同じ引数名を使える |
同じ関数内では同じ引数名を使えないが、関数が違う場合は
使える。 |
|
|
|
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
でも、なぽちゃん。
クリームソーダ
飲んだことあるの? |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
だあーかあーらあー!
想像力だって
言ってるだろ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
美味しいよね!
大好き! |
 |
|
 |
まったく~
こおー、
あの毒々しい
グリーンといい・・・。
こんもり
アイスといい・・・
ヘブンな味って感じ?
|
|
|
|
ちゅうちゅう |
大雑把なお前に
できるんだから
料理なんて簡単! |
 |
|
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
大体、こんなもん
適当に想像すれば
美味しいもんが
できるんだよ。
ほら、クリームソーダ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
 |
どこら辺が
クリームソーダ? |
|
|
|
ガソリン味!? |
 |
|
 |
しむー
しむー
ヘブンに
逝っちゃうー |
|
|
|
|
 |
犯人は
お前だー!
毒盛り女ー! |
|
あたし、
何もしてない
でしょー。 |
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
ひ、ひどーい!
なんで、
あたしなのー。
なぽちゃんが
自分で料理したん
じゃないー! |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
料理は
プログラムと同じで
奥が深いんだから。
あたしぐらい
繊細じゃないとね! |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
料理
教えて
あげるー |
 |
|
ガーン・・・ |
|
 |
この適当女に
できるのに・・・。
俺は負け魚?
これは夢だ。
悪夢だ。 |
|
|