学生向けにプログラミングを解説。メソッドが複数あるプログラムJava>>この記事には書き直した新しいページがあります。次>>メソッドとは、ある特定の一連の処理をまとめたプログラムの構造の1つです。メソッドは必ずクラスの内部に記述しなければいけません。一つのクラスの中にメソッドは何個でも自由に記述できます。メソッドを記述する順序は処理の順序とは全く関係ありません。メソッドの名前は自由に付けることができます。習慣では小文字のアルファベットで始まり、長い名前のメソッドの場合には単語の区切りは大文字で表します。メモ帳を開いて次のプログラムを作ってみましょう。max;}}このプログラムでは、メソッドが三つあります。)もメソッドなのです。)メソッドが必ず一番最初に処理されます。}publicは公開するといった意味があります。他にはprivate(クラスの内部に限る)など何種類かありますが、今回はあまり深く踏み込みません。最初に宣言する項目です。次にstaticは静的なという意味があります。staticを宣言すると、そのメソッドの値をどんどん書き換えて処理させるといったことができなくなります。このことについてもまた後で説明しますので今はこの部分について解らなくても全然問題ありません。voidは戻り値が無いメソッドであるということを宣言する型です。void型と言います。int型やfloat型と同じように型の一つです。int型を言い変えると整数値で返すといった意味を持っています。それに対して、void型は返す値が無いということです。戻り値のあるメソッドは、この先また別のプログラムで説明します。)の中に引数を入れます。引数はメソッドの呼び出しの時に入れる引数とイコールの関係を持っています。プログラムを見ながら説明します。mainメソッドの中に次の記述があると思います。);これがメソッドの呼び出しです。)の中に与えたい引数を記述するだけで良いのです。)が処理されると、そのメソッドが処理されます。);}}引数にtestを使っているので、それがarrayに渡されます。test;このメソッドの中では、testがarrayとなって処理されるのです。このメソッドではすぐfor文でループすることになります。ループするごとに今度はmaxNメソッドが呼び出されています。i)というように型を記述する必要はありません。maxNメソッドを説明します。max;}sortメソッドから渡された引数は、以下のように代入されます。i;後の処理はSort.javaで説明した通りで、一番大きな数字を探して前の方と入れ替える作業をします。それらの作業を受けて、mainメソッドでは出力する作業のみを行っています。出力結果を確認してみましょう。メモ帳を開いて次のプログラムを作ってみましょう。tmp;}}}}}このプログラムは、[file:MrRadiology+IntroductionToProgramming:Sort2.java]をmainメソッドとsortメソッドに分けて書き直したプログラムです。作業ごとにメソッドを分けるのは、プログラムが見やすくなるというメリットがあります。メモ帳を開いて次のプログラムを作ってみましょう。]を使えるようにここで定義しています。作業領域用データを作成しているだけです。nullの意味は何もないという意味です。ここで、testがarrayに置き換わります。メソッドの方に処理が移らないかというと、メソッドの引数の数に理由があります。)の方に処理が移るのです。)という様にして引数を3つ与えているだけの処理を行っています。ここで、min=0,max=14に置き換わります。(今回のプログラムのみ。与えられるtestの数によって異なります。呼び出され、temp=array.lengthとなります。];について説明します。new演算子は新しくメモリーを確保するときに用います。プログラムで配列や変数を扱うときには必ずメモリーを確保しなければなりません。testでは、直接配列に数字を代入しているので、自動的にメモリが確保されています。tmpではnullを代入していましたから、この時点でメモリはまだ確保されていません。自分でメモリを確保する必要があります。配列のメモリの確保の仕方は次のように行います。int[確保メモリ数];intの部分は型名なので、もちろんその時の状況により異なります。呼び出され、i=0〜14まで繰り返します。データの平均が出てreturnします。returnについて詳しく説明します。averageの型がfloatになっているのに注目してください。今まではvoid型のメソッドしか扱っていませんでした。void型は戻り値がありませんので、return文は使用しません。メソッドの型に戻り値があるような型に指定している場合、return文を使って戻り値を返さなければなりません。1);という記述がこの処理にあたります。1)という値を返しています。わかりやすく書くと次のようになります。(実際このように書き換えるとプログラムは動きません。1)という形に書き換えて考えることができます。これは決まりなので覚えてください。次の記述を見てください。smallCount++;}これにより平均値より大きいものはtmp[0]から順に入っていき、小さいものはtmp[14]からtmp[13],tmp[12]・・と入っていきます。0〜14まで調べると次に進みます。tmp[i];}これにより配列tmpの値が配列arrayに代入されます。