Takunojiの日記

自分が勉強したプログラム技術メモ

Java Basic クラスとは InputSreamReader 〜Step2_1〜

前回で基礎文法は大体理解しました。

今回はJavaのクラスについてやります

 

クラス(class)とは以下のものを持った

オブジェクト(Object)*データ型は参照型です

詳細はこちらです。

Java Basic クラスとは InputSreamReader〜Step2_1〜 – PGボックス

<クラスの持っているもの>

・フィールド変数

・メソッド

Javaの場合は全てObjectクラスを

   親に持ちます。

 

「親」という言葉は気にしないで下さい

「よくわからんがとにかく親がObjectクラスなんだな!」って認識でOK🌟

初めに作成したクラスにはフィールドなんて書いてないよ?と疑問に思うかもしれませんが親クラスが持っています。

 ここも「よくわからんがとにかく親が持っているんだな!」って認識でOK🌟

 

クラス→オブジェクト指向の考え方は

時間かけてゆっくり理解してください。

変に理解すると、プログラムがつまらなくなってしまうかも?

 

というわけで、こっからが本題になります。

まず、既に提供されている

クラスを使うとこから始めます。

java.*パッケージのクラスです。
 
まずは標準入力を受けてそれをコンソールに出力する
プログラムをみてみましょう。

f:id:Takunoji:20180514183704p:plain

実はこのプログラムはバグがあって
5文字までしか入力が受け付けられません。

f:id:Takunoji:20180514183813p:plain

緑色が入力した文字です。
1〜6まで入力したのに
コンソールには5までしか表示されません。

これは、上のプログラムでbyte[] moji = new byte[5];
と配列の数を固定しているためです。

なので、入力した分だけの配列を用意しないといけません。
でも、入力した後に配列長を決定することはできないので。。。

じゃーどーするか?→InputSreamReaderを使用します。
Javaでは入力を受け取る処理が実装されていて自分で作らなくても
扱うことができます。標準入力の読み込みを行うためのクラス
それが「InputSreamReaderクラス」と「BufferedReaderクラス」です。

本当は、それ以外にも使用できますが。。。
ここではサンプルということで。。。

f:id:Takunoji:20180514194439p:plain

こんな感じで使用します。
java.ioパッケージはファイルの読み込みや出力も扱えます。
興味があれあばこちらをどうぞ

java.io (Java Platform SE 8)


でわでわ。。。

<問題1>
標準入力を受け取り、コンソールに出力する
プログラムを作成してください。

<問題2>
作成したクラスの構成を考えてイメージ
できれば「絵」にしてください。
【ヒント】
全てのクラスは「Objectクラス」を継承しています。
なので、
「Objectクラス」←「作成したクラス」となります。
そして作成したクラスにはフィールド変数がありますか?
メソッドは何がありますか?
というのを整理してみてください。