JavaRush/Курсы/Модуль 1. Java Syntax/Запуск программы с консоли

Запуск программы с консоли

Открыта

В предыдущей лекции мы скомпилировали небольшую программу, и получили на выходе файл MySolution.class, содержащий эту же программу в виде байт-кода. Исходный код был таким:

class MySolution {
   public static void main(String[] args) {
      System.out.println("Привет командная строка!");
   }
}

Теперь давай передадим JVM этот файл .class, чтобы она его выполнила. Для этого воспользуемся командой java и укажем имя класса содержащего метод main:

D:\temp>java MySolution

В консоль выведется надпись "Привет командная строка!".

Обрати внимание, что теперь нужно указывать не имя файла (MySolution.class), а имя класса (MySolution).

Давай попробуем запустить с консоли еще одну программу, на этот раз использующую массив args, параметр метода main:

public class MyArgs {
    public static void main(String[] args) {
        if (args.length == 3) {
            System.out.println(args[0].toLowerCase());
            System.out.println(args[1].toUpperCase());
            System.out.println(args[2].length());
        } else {
            System.out.println("Three parameters are expected.");
        }
    }
}

Скомпилируем:

D:\temp>javac MyArgs.java

И запустим:

D:\temp>java MyArgs

Получаем вывод: Three parameters are expected.

В последнюю команду после имени класса через пробел можно указать параметры, которые попадут в массив строк args. Например, если передать такие параметры:

D:\temp>java MyArgs One Two Three

То массив args будет содержать: ["One", "Two", "Three"]

А на экран будет выведено:

one
TWO
5

Если хочешь чтобы какой-то параметр содержал пробелы, его нужно взять в двойные кавычки:

D:\temp>java MyArgs "One Two" Three "Four Five Six"

Вывод:

one two
THREE
13

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

D:\temp>java MyArgs.java param1 param2

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

Для более детального ознакомления:
  1. Компиляция и исполнение Java приложений под капотом
  2. В команде java есть встроенная помощь. Для ее отображения выполни в командной строке:
    • java --help
Комментарии (3)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Max
Уровень 93
11 октября 2024, 20:23
А я вот тупить начал в 23:20 и разозлился на себя да и переписал последнюю строку вывода на System.out.println("args[2] length: " + args[2].length()); по мне так понятнее откуда цифра в терминал выводится :) Всем спокойной ночи ! ;) Идите спать хватит сидеть :)))
СтаниславРаботает в NeomaticExpert
14 апреля 2023, 11:04
Предложу что пререквизитом для этой статьи должны быть основы работы в командной строке или терминале. Например, как сменить рабочую директорию. Добавлю, что после компиляции .class файла в terminal 2.13 мой я смог запустить программку только с помощью команды "java <ИмяФайла>.java"
Marina Rossa
Уровень 88
22 февраля 2022, 23:48
Ничего не понятно, но очень интересно