статьи и идеи для разработчиков программного обеспечения и веб-разработчиков.
Аргументы командной строки в Java — доступ и сопоставление с типами данных
Введение Аргументы (параметры) командной строки — это строки текста, используемые для передачи дополнительной информации программе, когда приложение запускается через интерфейс командной строки [https://en.wikipedia.org/wiki/Command-line_interface] (CLI) операционная система. В этом руководстве мы получим доступ к аргументам (параметрам), переданным в основной метод приложения Java, и прочитаем их. Мы также сопоставим их с разными типами данных, чтобы мы могли обрабатывать их и изменять поток кода.
Время чтения: 3 мин.
Вступление
Аргументы (параметры) командной строки — это строки текста, используемые для передачи дополнительной информации программе, когда приложение запускается через интерфейс командной строки (CLI) операционной системы.
В этом руководстве мы получим доступ к аргументам (параметрам), переданным в основной метод приложения Java, и прочитаем их. Мы также сопоставим их с разными типами данных, чтобы мы могли обрабатывать их и изменять поток кода в зависимости от ввода.
Java для начинающих. Урок 17: Параметры метода.
Доступ к аргументам командной строки
Отправной точкой для каждой программы на Java является метод main() :
public static void main(String[] args) < // Do something >
Аргументы, переданные программе при ее инициализации, хранятся в массиве args В качестве альтернативы Java также поддерживает vararg в этом месте:
public static void main(String. args) < // Do something >
При этом мы можем легко получить доступ к каждому аргументу, переданному в этот метод. Начнем с их распечатки по очереди:
public class Main < public static void main(String[] args) < for (int i = 0; i < args.length; i++) System.out.println(String.format(«Argument %d: %s», i, args[i])); >>
Затем мы скомпилируем этот файл .java
javac Main.java
После этого мы можем запустить его:
java Main Hello World
Argument 0: Hello Argument 1: World
Сопоставление аргументов с типами данных
Сами аргументы представляют собой массив строк. Итак, на самом деле все, что мы передаем, — это String. Хотя мы также можем преобразовывать строки в разные типы данных:
java Main Hello 15 true
Argument 0: Hello Argument 1: 15 Argument 2: true
Скажем, мы хотели разрешить пользователям печатать строку заданное количество раз и иметь флаг, который переключает сообщение журнала, отображающее номер итерации. Таким образом, приведенные выше аргументы будут выводить Hello 15 раз с сообщением журнала для каждого оператора print()
Давайте сделаем это:
public class Main < public static void main(String[] args) < String s = «»; int n = 0; boolean flag = false; try < s = args[0]; >catch (Exception e) < System.out.println(«The first argument must be present.»); System.exit(1); >try < n = Integer.parseInt(args[1]); >catch (NumberFormatException e) < System.out.println(«The second argument must be an integer.»); System.exit(1); >try < flag = Boolean.parseBoolean(args[2]); >catch (Exception e) < System.out.println(«The third argument must be parseable to boolean.»); System.exit(1); >for (int i = 0; i < n; i++) < System.out.println(s); if (flag) System.out.println(String.format(«Iteration %d», i)); >> >
Теперь давайте снова скомпилируем код:
Урок по Java 36: метод main и передаваемые в него параметры
javac Main.java
А затем запустим его без аргументов:
java Main
The first argument must be present.
Если мы приведем аргументы:
java Main Hello 5 true
Hello Iteration 0 Hello Iteration 1 Hello Iteration 2 Hello Iteration 3 Hello Iteration 4
Установка аргументов в IDE
Это предполагает, что вы запускаете код через командную строку, что не всегда так. Большинство людей используют IDE для работы над своими проектами, вместо этого у них есть удобная кнопка «Выполнить».
К счастью, вы можете указать IDE передать эти аргументы в вызов run. Вот примеры того, как это можно сделать с помощью некоторых популярных IDE:
Затмение
В разделе «Выполнить» -> «Выполнить конфигурации» :
IntelliJ
В разделе «Выполнить» -> «Изменить конфигурации» :
В этой статье мы рассмотрели, как мы можем получить доступ к аргументам командной строки, передаваемым в приложение Java при его запуске.
Затем мы сопоставили переданные аргументы с разными типами данных и обработали их соответствующим образом. Имея это в виду, легко создавать простые инструменты CLI и изменять поток кода на основе переданных аргументов.
Licensed under CC BY-NC-SA 4.0
Источник: rukovodstvo.net
Аргументы командной строки
На вход программы можно передавать значения, это делается с помощью аргументов командной строки. Допустим, нам необходимо запустить программу MySecondApp и передать на вход значения «значение1» и «значение2». Из командной строки пишем следующую строчку:
java com.company.lesson2.MySecondApp значение1 значение2
Как получить переданные значения в программе? Давайте более детально рассмотрим метод main :
public static void main(String[] args)
Этот метод принимает на вход в качестве параметра массив типа String : String[] args . Именно эта переменная и будет содержать в себе, переданные нами значения «значение1», «значение2».
Метод main() в следующем примере использует цикл for для перебора элементов массива args и распечатывает значения аргументов командной строки. Что такое цикл for и массивы мы рассмотрим более подробно в следующих занятиях.
package com.company.lesson2; public class MySecondApp < public static void main(String[] args) < for (String str : args) < System.out.println(«аргумент language-markup»>java com.company.lesson2.MySecondApp значение1 значение2
Вывод на консоль:
аргумент = значение1 аргумент = значение2
Презентацию с видео можно скачать на Patreon .
Источник: www.examclouds.com
Pro Java
Посмотрим как с ней можно работать. Наш метод получает массив строк как аргумент из командной строки. Может пока не понятно что такое массив и даже аргументы командной строки, но постепенно мы все это рассмотрим.
И так немного модифицируем нашу программу:
public class HelloWorld public static void main ( String [] args )
System . out . println ( «Hello World!» ) ;
//выводим количество аргументов заданных в командной строке
System . out . println ( «Всего аргументов в командной строке: » + args . length ) ;
Последняя строка программы будет выводить нам количество аргументов, полученных из командной строки.
Запустим ее на исполнение из командной строки