当您使用 Java 扫描仪 class 接收用户输入时,究竟发生了什么?准确的解释是什么?
What's an accurate explanation of what is really happening when you use the Java scanner class to receive user input?
我只需要知道我是否理解这个简单的 Java 语句的语义。我不是唯一一个。我用谷歌搜索了这个问题,很多人都在问,但每个人都给出了相同的答案,或者给出了官方文档中的重复信息。我们知道如何使用它。我们想知道它是如何工作的。为什么。
我知道(其他问过这个问题的人也知道)如何使用扫描仪 class。我知道如何接受用户输入并将该输入存储在变量中。但我觉得我不应该再进一步,直到我确定我理解它为什么起作用以及它是如何起作用的。因为它涉及实例化、类、对象等,这是该语言的重要组成部分。是语言。
我想做的是告诉你我个人认为代码中发生了什么,请大家告诉我这是否准确。好的,我们开始吧。
Scanner keyboard;
keyboard = new Scanner(System.in);
String userInput = keyboard.next();
这里发生了什么?
我们希望从键盘接收用户输入,因此我们决定使用扫描仪 class 来实现这一点。
1.) 我们做的第一件事是声明我们的变量。我们在声明中命名为keyboard(变量keyboard"type scanner"是什么?这里的变量类型是什么? Scanner, Object, class, 等肯定不是原始的。)
2.) 现在使用 java 关键字和运算符 **new 实例化(创建)基于扫描仪的对象。我们现在将此对象分配给我们之前声明的 keyboard 变量。**
3.) 我们传入 System.in 作为数据源,在本例中是键盘。
4.) 现在我们要从键盘接收用户的输入,因此我们声明一个名为 userInput 的新变量。然后在新实例化的键盘对象上调用 next() 方法并将其作为值分配给新变量 userInput (这是对构造函数的调用吗?哪一部分是对构造函数的调用?)
我在这里问了几个不同的问题,即使这被否决了,请至少帮我一些答案。我将非常感激。你不知道。谢谢大家
看看评论。希望他们足够清楚。
// declare a variable of type `Scanner`
Scanner keyboard;
// call constructor of class `Scanner` and pass `Systen.in` as a parameter to create a new instance
// and assign its reference to `keyboard`
keyboard = new Scanner(System.in);
// declare a variable of type `String` and
// assign to it the return value of `next()` method called on `keyboard` object
String userInput = keyboard.next();
我只需要知道我是否理解这个简单的 Java 语句的语义。我不是唯一一个。我用谷歌搜索了这个问题,很多人都在问,但每个人都给出了相同的答案,或者给出了官方文档中的重复信息。我们知道如何使用它。我们想知道它是如何工作的。为什么。
我知道(其他问过这个问题的人也知道)如何使用扫描仪 class。我知道如何接受用户输入并将该输入存储在变量中。但我觉得我不应该再进一步,直到我确定我理解它为什么起作用以及它是如何起作用的。因为它涉及实例化、类、对象等,这是该语言的重要组成部分。是语言。
我想做的是告诉你我个人认为代码中发生了什么,请大家告诉我这是否准确。好的,我们开始吧。
Scanner keyboard;
keyboard = new Scanner(System.in);
String userInput = keyboard.next();
这里发生了什么?
我们希望从键盘接收用户输入,因此我们决定使用扫描仪 class 来实现这一点。
1.) 我们做的第一件事是声明我们的变量。我们在声明中命名为keyboard(变量keyboard"type scanner"是什么?这里的变量类型是什么? Scanner, Object, class, 等肯定不是原始的。)
2.) 现在使用 java 关键字和运算符 **new 实例化(创建)基于扫描仪的对象。我们现在将此对象分配给我们之前声明的 keyboard 变量。**
3.) 我们传入 System.in 作为数据源,在本例中是键盘。
4.) 现在我们要从键盘接收用户的输入,因此我们声明一个名为 userInput 的新变量。然后在新实例化的键盘对象上调用 next() 方法并将其作为值分配给新变量 userInput (这是对构造函数的调用吗?哪一部分是对构造函数的调用?)
我在这里问了几个不同的问题,即使这被否决了,请至少帮我一些答案。我将非常感激。你不知道。谢谢大家
看看评论。希望他们足够清楚。
// declare a variable of type `Scanner`
Scanner keyboard;
// call constructor of class `Scanner` and pass `Systen.in` as a parameter to create a new instance
// and assign its reference to `keyboard`
keyboard = new Scanner(System.in);
// declare a variable of type `String` and
// assign to it the return value of `next()` method called on `keyboard` object
String userInput = keyboard.next();