键盘在哪里指定了System.in方法?
我无法从概念上理解下面的代码(从键盘检索字符并打印到命令行),我指定输入必须来自键盘?
public class Adder { public static void main(String arr[]) { //Explain this next line, please: Scanner in = new Scanner(System.in); System.out.println("Enter First No."); int a = in.nextInt(); System.out.println("Enter Second No."); int b = in.nextInt(); int c = a+b; System.out.println("Sum is: "+c); } }
System.in
不是一种方法,它是默认情况下绑定到键盘的字段。
“标准”输入流。 此流已打开并准备好提供输入数据。 通常,该流对应于键盘输入或由主机环境或用户指定的另一输入源。
您可以调用System.setIn(InputStream in)
方法将其更改为其他输入流。
参考: 命令行的I / O.
Scanner sc = new Scanner(System.in);
让我们分解吧
扫描程序: Scanner类是java.util中的一个类,它允许用户读取各种类型的值
System.in:一个InputStream,通常连接到控制台程序的键盘输入
Scanner S = new Scanner(System.in)
上面的行将使用参数System.in调用Scanner类的构造函数,并将返回对新构造的对象的引用。
S连接到连接到键盘的输入流,因此现在在运行时您可以使用用户输入来执行所需的操作。
进一步研究: 扫描仪(Java Platform SE 8)
让我知道,如果你有任何困惑。