Аргументы командной строки против ввода - в чем разница? - PullRequest
0 голосов
/ 01 декабря 2018

В чем разница между аргументами командной строки и вводом?

Для некоторых запущенных программ:

$ java JavaProgram 4 5
Hi! give me some input!
6
now give me some more input!
7

В этом примере 4 5 - аргументы командной строки, а 6 7 - входные данные.

Как аргументы командной строки, так и входные данные, по-видимому, обеспечивают одинаковую функциональность получения некоторых различных данных от пользователя.Для чего нам оба?

1 Ответ

0 голосов
/ 01 декабря 2018

Аргументы командной строки и ввод - это две разные вещи.

Аргументы командной строки передаются выполняемому приложению до его запуска.Давайте рассмотрим пример:

$ java JavaProgram 30 91

Сначала мы даем приложению JavaProgram аргументы командной строки 30, 91, только затем мы нажимаем Enter и запускаем его.как программа на Java.

Значение:

  1. Аргументы командной строки являются частью определенного вызова приложения.(мы можем дать ему другие аргументы командной строки в другое время, когда мы его запускаем)
  2. Аргументы командной строки передаются программе ДО ее запуска.

В отличие от этого, ввод можетбыть передано приложению во время его запуска, потому что оно может запрашивать ввод только после того, как оно запущено.По этой причине мы можем напечатать некоторый текст пользователю перед запросом ввода, указывая, какой ввод мы ожидаем и т. Д.

Но мы не можем сделать это с аргументами командной строки, как приложение, которое нене работает - ничего не может сделать, и, в частности, не может печатать сообщения пользователю.

Аргументы командной строки принимаются один раз - либо ноль, три, девяносто или любое другое количество аргументов командной строки.(на самом деле есть ограничение для этого числа, но оно очень большое и не имеет значения)

Ввод может быть выполнен любое количество раз.По этой причине ввод может быть интерактивным: система может принимать ввод, затем отвечать в соответствии с ним, затем вводить больше данных и т. Д. Аргументы командной строки принимаются один раз, поэтому их нельзя использовать для управления какой-либо интерактивностью.

Все вышесказанное сужает разговор "в чем разница между аргументами командной строки и вводом?"к очень конкретным случаям, когда мы хотим принять участие один раз и не хотим ничего печатать до этого.Даже в этом случае аргумент командной строки будет по-прежнему задан до запуска программы, по сравнению с вводом, который будет дан после запуска программы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...