JAVA プログラミング 入門

JAVAのプログラミングについて初歩から解説します。まずは、mainメソッド、変数、演算、if文、for文、while文、メソッド、配列など。続いて、メソッドを複数構成して、プログラムを作成(非オブジェクト指向プログラミング)、しばらく後になると思いますが、オブジェクト指向プログラミングを解説します。 クラスの構成、コンストラクター、継承、・・・、など、本格的OOP(Object Oriented Programming)を解説します。

Java: 参照渡しの引数を使うメソッド

Prog9_3_cは「参照渡しの引数を使うメソッド」の説明のための例である。このプログラムの最後にコメントで実行結果が示されています。

f:id:Kurokawa_Tomio:20190620162202p:plain

図Prog9_3_src

今週のお題「おとうさん」



Prog9_3_srcmainメソッドの外で定義されているメソッドと変数や配列は全てstaticであり、Prog9_3クラスの中で宣言されています。このよにクラス内に書かれたメソッドや配列を定義すると,それらはそのクラス内に書かれたメソッドから見えます。

 

Prog9_3_srcについて:

3行:配列bの定義

4行:int bの定義

5から11: メソッドfの定義

引数として、intだけでなく、配列も定義されています。配列を引数とする場合その受け渡しは「値渡し」でなく、「参照渡し」になります。値ではなく、参照が渡されるのです。このメソッドの機能は配列tmからnまでの和を計算し返すことです。

12から18行:mainメソッド:

intmnが定義されています。更に配列aが定義され初期化されています。これらはmainの中だけで有効な変数や配列です(ローカル変数)。

15:  メソッドfが呼ばれています。mainからfmnは値がコピーされます。aは配列であるので、aの参照がメソッドftへコピーされます。このようにすると、メソッドfの中で、tという配列名でmainの配列aを参照することができます(書き込むこともできる)。ここでは配列のindex0から9まで値の和を計算して、返し、表示しています(45)。

16: 配列aの値が、配列bへコピーされます。注意すべき点は配列bmainの外で定義されているということです。このようにmainの外で定義されていても、それらの変数や配列にメソッドからアクセスすることができます。

17: 配列bの参照をメソッドfに渡して、そのデータを使うことができます。

ここでstaticで定義したメソッド、配列、変数は全てclass Prog9_3の中のことです。これらはクラス Prog9_3に属するクラス変数、クラスメソッドと言われるものです。これらはオブジェクトを作らなくても、クラスの中で定義するだけで、使えます。オブジェクト指向プログラミングを学習するとクラスに属するメソッドや変数とオブジェクトに属するメソッドや変数の違いを理解できます。

非オブジェクト指向プログラミングではローカル以外は全てstaticで定義する必要があります。C言語ではオブジェクトを作成しませんが、それと同じようなプログラミングということになります。

JAVA PROGRAMMING 入門 TOP へ