提问人:motyzk 提问时间:12/1/2018 最后编辑:motyzk 更新时间:3/2/2019 访问量:3017
命令行参数与输入 - 有什么区别?
Command Line Arguments vs Input - What's the Difference?
问:
命令行参数和输入有什么区别?
给定一些程序正在运行:
$ java JavaProgram 4 5
Hi! give me some input!
6
now give me some more input!
7
在此示例中,4 5 是命令行参数,6 7 是输入。
命令行参数和输入似乎都提供了相同的功能,即从用户那里获取一些不同的数据。我们需要两者做什么?
答:
3赞
motyzk
12/1/2018
#1
命令行参数和输入是两个不同的东西。
在运行之前,将命令行参数提供给正在运行的应用程序。让我们看一个例子:
$ java JavaProgram 30 91
首先,我们给应用程序提供命令行参数,然后我们才点击并运行它作为 Java 程序。JavaProgram
30
91
Enter
意义:
- 命令行参数是应用程序特定调用的一部分。(我们可以在运行它的其他时候给它其他命令行参数)
- 命令行参数在程序开始运行之前提供给程序。
与此相反,可以在应用程序运行期间向应用程序提供输入,因为它只能在开始运行后请求输入。 出于这个原因,我们可以在请求输入之前向用户打印一些文本,指示我们期望的输入等。
但是我们不能使用命令行参数来做到这一点,因为一个没有运行的应用程序 - 不能做任何事情,特别是不能向用户打印消息。
命令行参数只接受一次 - 零个、三个、九十个或任意数量的命令行参数。(实际上这个数字是有限制的,但它非常大且无关紧要)
输入可以任意次数。 因此,输入可以是交互式的 - 系统可以接受输入,然后根据它做出响应,然后接受更多的输入,等等。 命令行参数只使用一次,因此不能用于管理任何交互性。
综上所述,将“命令行参数和输入之间有什么区别?”的对话缩小到非常具体的情况,在这些情况下,我们希望接受一次输入,并且不希望在此之前打印任何内容。即使在这种情况下,在程序开始运行之前仍然会给出命令行参数,与程序开始运行后给出的输入相比。
评论