В предыдущей лекции мы скомпилировали небольшую программу, и получили на выходе файл 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
undefined
4
Задача
Java Syntax Pro, 4 уровень, 3 лекция
Недоступна
Я никогда не буду работать за копейки
Используя цикл while вывести на экран сто раз цитату (переменная quote): «Я никогда не буду работать за копейки. Амиго» Каждое значение вывести с новой строки.
undefined
4
Задача
Java Syntax Pro, 4 уровень, 3 лекция
Недоступна
Все любят Мамбу
Ввести с клавиатуры имя и, используя цикл while, 10 раз вывести: <имя> любит меня (переменная text). Каждый вывод - с новой строки. Пример вывода на экран для имени Света: Света любит меня. Света любит меня. Света любит меня. Света любит меня. Света любит меня. Света любит меня. Света любит меня. Св
undefined
4
Задача
Java Syntax Pro, 4 уровень, 3 лекция
Недоступна
Суммирование
Напишем программу, в которой нужно вводить с клавиатуры целые числа и считать их сумму, пока пользователь не введет слово "ENTER". Вывести на экран полученную сумму и завершить программу.
undefined
4
Задача
Java Syntax Pro, 4 уровень, 3 лекция
Недоступна
Заполненный прямоугольник
Используя вложенные циклы while (цикл в цикле) выведи на экран прямоугольник размером 5 (высота) на 10 (ширина), заполненный буквой 'Q'.
undefined
4
Задача
Java Syntax Pro, 4 уровень, 3 лекция
Недоступна
Незаполненный прямоугольник
Используя вложенные циклы while (цикл в цикле) выведи на экран незаполненный прямоугольник (его контур) размером 10 (высота) на 20 (ширина) из букв 'Б'. Незаполненная часть состоит из пробелов.