|
参照型というのは、クラス、インタフェース、配列や列挙型を表す型。文字列を表す String クラスは参照型です。
ソースコード源文件
|
---|
実行結果
|
「String line = reader.readLine();」という行があります。これが1回目の入力待ちです。「line = reader.readLine();」は2回目の入力待ちを行っている部分です。
ここで使われているのは read.readLine というメソッドです。read.readLine は文字列を1行分取得するメソッドです。
reader.readLine のうち、readLine は1行読むメソッドだとして、reader は変数です。変数をみたらどうするのでしょうか。変数の宣言を見るのです。変数宣言は
BufferedReader reader = new BufferedReader (new InputStreamReader (system.in));
これを見ると、次のような形である
BufferedReader reader = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx;
これを見ると、変数 reader は、BufferedReader という型であり、xxxx.... で初期化されていることがわかるでしょう。
BufferedReader は参照型の一つでクラスと呼ばれるものです。BufferedReader はデータの読込みを行うためのクラスです。
さっきのxxxx.... の部分を少し詳しく見ると、次のようになります。
BufferedReader reader = new BufferedReader (yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy);
new の後にクラスの名前を書いてカッコ( )を付けると、「そのクラスに属するオブジェクトを新しく作れ」という命令になります。すなわち、「new BufferedReader(yyyy...)」と書くことで、「BufferedReader クラスに属するオブジェクトを新しく作れ」、あるいは(もっと簡単にいうと)「BufferedReader オブジェクトを作れ」という命令になるのです。
上記のyyyy....の部分をもう少し詳しく見ましょう。この部分は、
new InputStreamReader (System.in)
となっていました。この new InputStreamReader(System.in) は、BufferedReader オブジェクトを作る際の引数です。new InputStreamReader(System.in) では、また new が出てきました。InputStreamReader という別のクラスのオブジェクトがここで作れます。その引数となっているのが System.in です。System.out は、画面へデータを出力するためのものです(正確には標準出力)。System.in はキーボードからデータを入力するためのものです(標準入力)。
BufferedReader reader = new BufferedReader (new InputStreamReader (system.in)); という一文の意味は、
「String line = reader.readLine();」このStringは「文字列」を表すクラスです。
Integer.parseInt というメソッドです。Integer は整数を表すクラスです。また、parseInt は数字の列を解析して対応する整数値を得るメソッドです。parse というのは文法お解析をする。
「int age = Integer.parseInt (line);」という文を実行すると、int 型の変数 age は整数100で初期化されます。分解して説明すれば、
もし、36と書けば、これは整数です。もし、"36" と書けば、これは文字列です。
型の違いは重要であり、その違いは必ずプログラムの字面上に反映されるということを 知ってください。
プログラム中に登場した tyr ... catch という構文は、例外処理と呼ばれるものです。
ソースコード源文件
|
---|
実行結果
|
「int x = (int)(Math.random() * 9) + 1;」という暗号のよう行が入っています。これは九九の問題をデタラメ(ランダム)に作り出すための部分です。
Math.random というメソッド(Math クラスの random メソッド)は、呼ぶ出すことに0.0以上1.0未満の double のでたらめな数(乱数)を返します(double型)。したがって、Math.random() * 9 という式は、0.0以上9.0未満の double の値になります。この式の前に(int)と書くと、この double の値を int 型に変換してくれます。これをキャスト演算子と呼びます。即ち、式「(int)(Math.random() * 9)」は、0以上9未満(即ち0以上8以下)の int の値になります。これを1を加えた式は、1以上9以下の int の値になります。
booleanについて
boolean は真偽値を表すための型です。真は true、偽は false という語で表します。
try...catch について
try {...} の中で起こったエラーを catch(...) {...}の部分で処理をしているのだ、と覚えて下さい。
Chapter3 @ Java言語目録 @ HomeWork List @ 昭亮's Homepage