Аргументы командной строки

Вас никогда не удивляло, что за массив String[] args в параметрах метода main()?

Когда мы запускаем программу на языке Java, она может принимать информацию непосредственно из командной строки. Это открывает возможности для взаимодействия пользователя с программой, предоставляя ей различные параметры ещё до начала её выполнения. Эта функциональность достигается с использованием аргументов командной строки.

Что такое аргументы командной строки

Аргументы командной строки – это значения, передаваемые программе при её запуске через командную строку операционной системы. В Java эти значения можно использовать для настройки работы программы или передачи в неё информации. Эти аргументы ещё иногда называют параметрами командной строки.

Через эти значения Java позволяет передавать параметры в программу через командную строку. Для того, чтобы ими можно было воспользоваться в программе, метод main() и имеет такой вид:

Этот самый массив String[] args и есть параметры, или аргументы, командной строки. Что это означает на практике?

Как использовать эти аргументы в программе

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

Как видно в примере, массив args активно используется в программе. Сначала мы выводим в консоль его длину, а затем обращаемся к первым двум его элементам. Что бы ни было передано в программу, она будет с этим работать таким образом.

Как передавать эти аргументы в программу

Передавать аргументы можно непосредственно в чёрной командной строке при запуске программы. В таком случае нужно дописать аргументы после имени исполняемого файла. Например:

В этом примере MyProgram – это созданный класс в Java, который мы хотим запустить. А параметры командной строки – аргумент1, аргумент2 и аргумент3 – аргументы, которые мы передаём программе.

Но мы воспользуемся благами среды разработки IntelliJ IDEA и зададим параметры в ней.

Скриншот IntelliJ IDEA с запуском проекта
Скриншот IntelliJ IDEA со вкладкой Edit Configurations

Скриншот IntelliJ IDEA диалогового окна с запуском программы с аргументами командной строки

После того, как мы задали аргументы в соответствующее поле, нажмём кнопку Run и испытаем судьбу. Причём “Кибер” и “Котлета” расцениваются программой как два разных аргумента, так как они разделены пробелом.

Скриншот консоли IntelliJ IDEA с выводом аргументов командной строки

Итого программа усмотрела, что аргументов передано 2, что первый – это “Кибер”, а второй – “Котлета”. Если бы мы передали меньше двух аргументов – при обращении к 1-ому индексу вывалилось бы исключение. Массив по размеру меньше, осуществляется попытка достать то, чего там нет.

Важно понимать, что аргументы командной строки всегда представлены в виде строк. Кроме того, порядок аргументов сохраняется и зависит от того, как они указаны при запуске программы.

Аргументы командной строки предоставляют возможность настройки программ в зависимости от того, какие параметры вводятся при её запуске. Нет необходимости считывать ввод прямо во время выполнения программы – сделаем это до запуска. Это довольно удобно в некоторых случаях. Например, можно передавать параметры подключения к базе данных, пути к файлам или любые другие значения, которые могут изменять поведение программы.

Добавить комментарий