26.1.8.6 ストリームによる入力

System.inは標準入力ストリームとなっていて,ふつうはキーボードに接続されています.System.inはInputStreamというクラスに属しているのですが,InputStreamの主なメソッドはreadで,次のように多重定義されています.

int read()
1バイトを入力して0〜255の値を返します.ストリームが終了したら-1を返します.
int read(byte b[])
最大b.lengthバイトをバイト配列bに読み込み,実際に読んだバイト数を値として返します.
int read(byte b[], int start, int len)
最大lenバイトをb[start]から後へ向けて読み込み,読んだバイト数を値として返します.

これでわかるように,最低限System.in.read()によって,キーボードから1文字(を表わす数値)を読み込むことができます.プログラムRepCharとInCharはこれを利用しています. ただし,入力では何が起きるかわからないので,try{}catch{}が必要です.