В предыдущей лекции мы скомпилировали небольшую программу, и получили на выходе файл 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