Аргументы программы в Java
Передавайте слова в командной строке при запуске программы и читайте их внутри main. В Flag.java оставьте public-класс Flag и параметр String[] args. На первом демо напечатайте args[0]. На втором — args.length, затем args[0]. Скомпилируйте через javac Flag.java. Запустите java Flag oak, чтобы первым словом после имени класса было oak. Первый экран покажет oak. Опциональные Generics оставьте для следующих страниц. Этот урок — слова командной строки в args, а не разговор со Scanner и не метка Mini Project.
Прочитайте первое слово после имени класса
Откройте Flag.java. Оставьте public-класс Flag. Удалите оставшиеся демо Mini Project Box со Scanner, печати Compiling из Build, строки Summary из Recap и броски Dice Random, если они заслоняют тему аргументов. Программа не должна ждать ввод с клавиатуры через Scanner.
Внутри Flag.main оставьте список параметров String[] args и напечатайте первое слово:
System.out.println(args[0]);
Из папки, где лежит Flag.java, выполните javac Flag.java. Затем java Flag oak — не java Flag.java oak. Имя класса — Flag. Слово oak — первый аргумент программы. Оно попадает в args[0]. Экран покажет oak.
public class Flag {
public static void main(String[] args) {
System.out.println(args[0]);
}
}
Пройдите запуск один раз. javac записывает Flag.class. java Flag oak загружает класс и заполняет args одним элементом: "oak". Стартует main. args[0] — "oak". println пишет oak. Никто не спрашивает item:. Никто не печатает mug 4. Никто не печатает ok из Build.
Произнесите правило новичка, глядя на команду: слова после имени класса становятся args. Индекс 0 — первое слово. Не придумывайте демо Generics на этой странице. Опциональные Generics ждут после ядра. Не вводите только java Flag и затем не читайте args[0] — пустой массив не имеет первого слова, и запуск может упасть.
Если вы всё ещё видите mug 4 из оставшегося файла Box, переключитесь на Flag.java, скомпилируйте и запустите java Flag oak. Если javac жалуется на имя класса, оставьте public class Flag, совпадающее с Flag.java.
Посчитайте слова, затем напечатайте первое
Один аргумент доказывает args[0]. Второе демо показывает args.length вместе с первым словом. Оставьте тот же public-класс Flag. Напечатайте две строки:
System.out.println(args.length);
System.out.println(args[0]);
Снова скомпилируйте через javac Flag.java. Запустите java Flag oak pine. Экран покажет 2, затем oak. Длина 2, потому что после имени класса два слова. Первое слово по-прежнему oak. Второе pine сидит в args[1], но это демо его не печатает.
Если на двухстрочном демо запустить java Flag oak, экран покажет 1, затем oak. Длина следует за тем, сколько слов вы набрали после Flag.
public class Flag {
public static void main(String[] args) {
System.out.println(args.length);
System.out.println(args[0]);
}
}
Скомпилируйте через javac Flag.java и снова запустите java Flag oak pine. Пройдите запуск один раз. args.length равен 2. args[0] — "oak". Печать выводит эти две строки. Никто не ждёт Scanner. Никто не склеивает mug и 4.
Держите два демо как две учебные формы. Сначала докажите печать одного аргумента. Затем — длину плюс первое слово. Обе формы делят одно имя класса и одну идею: слова после java Flag заполняют args.
Если вы наберёте java Flag.java oak, вы используете неверную форму запуска для этого пути курса. Держите java Flag плюс слова. Если забыли скомпилировать после правки, устаревший .class может показать старую форму печати — снова скомпилируйте, как в привычке Compiling.
args — это не Scanner и не Mini Project
Mini Project просил набирать ответы, пока программа ждала. Аргументы программы просят передать слова при запуске. Scanner читает из System.in после старта процесса. args уже заполнен до запуска main. Не смешивайте эти два стиля ввода в одном файле новичка сегодня.
oak — только учебное слово. Это не seed Random и не строка карты Summary. Когда оставшееся демо Box всё ещё ждёт на item:, этот файл делает работу Mini Project. Переключитесь на Flag и передайте oak в командной строке.
Без хотя бы одного слова чтение args[0] падает. Когда слова есть, индексы начинаются с 0. args.length говорит, сколько слов передали. Держите эти три факта вместе.
Контрольная точка ядра
Вы уже строили классы с main, компилировали через javac, запускали через java, хранили значения, решали через if, ходили по циклам, вызывали методы, использовали объекты и списки, ловили ошибки, читали файлы и строили наследование. Mini Project склеил два набранных ответа в mug 4. Аргументы программы показывают другой способ «покормить» программу: слова в строке запуска.
Эта страница завершает ядро Java на этом курсе. Опциональные страницы вроде Generics идут после, когда захотите. Они не обязательны, чтобы закончить ядро. Не трактуйте этот урок аргументов как место, где можно придумать те опциональные темы.
Держите один public Flag. Держите String[] args на main. Держите команду запуска как java Flag плюс слова. Держите демо Mini Project Scanner вне этой страницы, когда тренируете аргументы.
Проверка папки перед завершением ядра
После успешной компиляции посмотрите папку. Рядом должны стоять Flag.java и Flag.class. Правьте исходник, сохраните, выполните javac Flag.java, затем java Flag oak или java Flag oak pine. Нет .class — сначала компиляция. Неверная папка — лаунчер не найдёт Flag.
Если экран пуст, убедитесь, что main всё ещё печатает. Если запуск падает из‑за пустого args, добавьте слово после имени класса. Если два public-класса в одном файле, оставьте public только у Flag.
Не вставляйте подсказки Box Scanner в Flag, чтобы «обогатить» страницу. Не перестраивайте печати Build ok здесь. Задача урока — только слова командной строки.
Перед опциональными Generics
Вы можете держать public-класс Flag, читать String[] args в main, печатать args[0] для java Flag oak, печатать args.length затем args[0] для java Flag oak pine, компилировать через javac Flag.java и запускать без окончания .java у имени класса. Ядро заканчивается на этой странице. Опциональные Generics ждут, если продолжите позже.
Держите демо Flag как ясную пару аргументов. Держите файлы Box Mini Project вне этой страницы, когда тренируете args. Держите демо Compiling Build вне этой страницы, когда тренируете args. Держите работу Generics вне этой страницы до опционального урока. Эти привычки — контрольная точка перед выходом из ядра. Когда однословный запуск показывает oak или двухсловный — 2 затем oak, аргументы программы сделали своё, и ядро Java завершено.
Последний проход по папке: один public Flag, String[] args на main, без ожидания Scanner, без Random, без LocalDate, компиляция и запуск со словами после имени класса. Ещё раз выполните javac Flag.java и java Flag oak. Если экран по-прежнему oak, форма аргументов программы надёжна, и ядро курса можно отметить завершённым, пока опциональные страницы остаются доступны позже. На каждом чтении держите одну ясную привычку аргументов, чтобы каждый проход учил ту же карту.
🧠 Проверьте Свои Знания
Проверьте Свои Знания
Бросьте себе вызов с помощью этой интерактивной викторины и узнайте, насколько хорошо вы понимаете тему
📝 Инструкции
- Внимательно прочитайте каждый вопрос
- Выберите лучший ответ на каждый вопрос
- Вы можете пересдавать тест столько раз, сколько захотите
- Ваш прогресс будет показан вверху