public class Test{
public static void main(String [] args){
BufferedReader reader = new BufferedReader(new
InputStreamReader(System.in));
System.out.println("Enter number?");
int num = br.read();
System.out.println("You entered " + num);
}
}
私が97として入力すると、出力として57が返されます。なぜですか? readメソッドがintを返し、別のものを返すのはなぜですか?また、br.read()を(char)reader.read()に置き換えて、97として入力を与えた場合、出力は同じかどうかはわかりませんが、97が 'a'の文字に変換されることを意味します。私の考えははっきりしています。intがアスキー文字で表現されているのかUnicodeで表現されているのか混乱しています。BufferedReaderのread()メソッドはどのように動作しますか?
char c = '9';
int num = c; //reader.read();
出力を以下に示すように(97から最初の桁を取っ)