java中System.in里的in到底有什么用?

Scanner sc = new Scanner(System.in);整个语句大致我了解了,就剩下这个in不知道什么意思,能详细解说下作用和意义吗?我是初学java。

System.in 即为系统的标准输入流,相当于 C 语言的 Standard Input。也就是说你用键盘在屏幕上输入的任何东西(包括回车空格各种功能键等)都属于 System.in。System.in 本身是一个 InputStream 类型,它包含有方法 read(),会返回下一个键盘输入的 ASCII 码值。读取 System.in 时,如果标准输入中没有任何内容,程序会暂停来等待用户输入内容。比如你使用 

int a = System.in.read();

这时系统会暂停来等待你的输入。此时你打一个回车,那么 a 就会被赋值为 13,因为在 ASCII 码表中回车对应的十进制整数是 13。可以参见这个 ASCII 表:



Scanner 类是要读取输入流的,所以要给它提供一个输入流,而最常见的输入流就是用户的键盘输入,所以常把 System.in 标准输入流作为参数传给 Scanner。Scanner 会自动把读取到输入流中的所有字符转换为相应的字符串。


另一个常见的就是标准输出流 System.out,它与 System.in 相对,是一个 PrintStream 类,是负责向屏幕上输出的。最常用的方法就是 System.out.println()。


System 类中还有一个 PrintStream 是 System.err,它是标准错误流,是用来在屏幕上输出错误信息的。一般会将它与 System.out 分开,使得只要有错误就会立即在屏幕上输出。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-07-24
就是控制台(system),输入进来的(in)东西
相似回答