Java io using read()



我正在尝试这个代码片段-

import java.io.*;
class demo
    {
        public static void main(String args[]) throws IOException
            {
                BufferedReader br= new BufferedReader(new InputStreamReader(System.in));
                int c;
                do
                    {
                        c= (char)br.read();
                        System.out.println(c);
                    }while(c!='q');
            }
    } 

现在,当我输入22输出为-50501310

我理解输出50,50,但为什么编译器要打印13和10?请帮忙。谢谢

我认为13和10是CR/LF:行的末尾。

您的输入是

22<enter>

所以你的2的ascii是50,因此22 50 50

按Enter键会使Windows在密钥缓冲区中存储回车代码(ASCII 13)和换行代码(ASCII 10),因此您可以在输出中看到13和10。

你也可以在这里推荐一个好的博客http://www.javaworld.com/article/2075069/core-java/the-ins-and-outs-of-standard-input-output.html

最新更新