• ベストアンサー

分からない一行

BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)) BufferedReaderは参照型(クラス)、readerは変数、newはオブジェクトを作らせる、括弧は引数、であることは参考書等で調べはついてますがこれらを関連付けて理解することができません。 これを噛み砕いて(できるだけ難しい言葉を使わずに)教えてくれる方お願いします。。注文が多くてすみません。

質問者が選んだベストアンサー

  • ベストアンサー
  • OKbokuzyo
  • ベストアンサー率43% (130/296)
回答No.2

標準入力ストリームの入力ソースはキーボードという想定で回答します。 標準入力ストリームから得られる値はバイトデータです。 キーボードからの入力はバイトではなく、当然文字として扱いたいと思うので InputStreamReaderでストリームをラップし、 文字データとして取得できるようにします。 そしてさらに、理由は様々でしょうが おそらくreadLineメソッドを利用したい等の理由で BufferedReaderでさらにラップしているのだと思われます。 InputStreamReaderやBufferedReaderは 基本となるストリーム(質問文では標準入力ストリーム)に対して 機能を付加させる目的で使用します。 下記サイトはストリームについてかなり詳しく解説されています。 少し長いですが、図が多く、体系的に解説されているので ストリームがよく分からないのであれば参考になると思います。 http://www.ohshiro.tuis.ac.jp/~ohshiro/ooprog_b/05/index.html

solution64
質問者

お礼

分かりやすい解答ありがとうございます!

その他の回答 (1)

  • buriburi3
  • ベストアンサー率44% (353/792)
回答No.1

名前(オブジェクト名)が省略されていますが、省略せずに書くと InputStreamReader iStream = new InputStreamReader(System.in); BufferedReader reader = new BufferedReader(iStream) ; となります。

関連するQ&A