Синтаксис Java ·
‹ Предыдущий Следующий ›
⏱ 5 минут чтения Обновлено: 2026-07-16

Синтаксис Java: основы языка и структура кода. Практические Задания

Ниже — шесть практических задач по Java для начинающих на темы раздела «Синтаксис Java. Основы и структура кода»: комментарии, литералы всех видов, объявление и вызов методов, приведение примитивных типов и ввод данных с помощью класса Scanner. Задания закрепляют теорию раздела; к каждому есть решение на Patreon, а к части — видеоразбор.

Однострочные и многострочные комментарии

Создать программу, в которой используются однострочные и многострочные комментарии.

Решение на Patreon →

Литералы всех видов

Создать программу, в которой вывести на консоль литералы следующих видов:

  1. логический;
  2. строковый;
  3. символьный;
  4. целочисленный 2-й (двоичный);
  5. целочисленный 8-й (восьмеричный);
  6. целочисленный 10-й (десятичный);
  7. целочисленный 16-й (шестнадцатеричный);
  8. литерал типа float;
  9. литерал типа double.

Подсказка

Двоичный литерал записывается с префиксом 0b (например, 0b1010), шестнадцатеричный — с 0x, восьмеричный — с ведущего нуля. В длинных числах разряды можно разделять подчёркиванием: 1_000_000 — компилятор его игнорирует, а читать легче.

Смотрите решение задачи в видео.

Решение на Patreon →

Калькулятор на методах

  1. Создать метод, принимающий на вход две переменные типа int.
  2. Метод вычисляет их сумму и возвращает значение.
  3. Вызвать этот метод из метода main.
  4. Сделать методы для вычисления разницы, произведения и деления.

Смотрите решение задачи в видео.

Решение на Patreon →

Таблица приведения типов

Составьте таблицу преобразований примитивных типов: в строках — исходный тип, в столбцах — тип, к которому приводим.

из \ в byte short char int long float double boolean
byte                
short                
char                
int                
long                
float                
double                
boolean                

На пересечении напишите:

  • ня (неявное) — если преобразование происходит автоматически;
  • я (явное) — если нужно использовать явное преобразование;
  • х — если преобразование невозможно;
  • т — если преобразование тождественно.

На чём чаще всего ошибаются

Две строки таблицы особенно коварны. Во-первых, boolean не участвует ни в каких преобразованиях — вся его строка и весь столбец (кроме тождественного) заполняются как «невозможно». Во-вторых, short и char занимают по 16 бит, но друг к другу приводятся только явно: short знаковый, а char — беззнаковый, диапазоны не вкладываются один в другой.

Решение на Patreon →

Практика приведения типов

Создать программу, в которой последовательно прописать преобразования всех совместимых примитивных типов друг к другу. Преобразование для каждого типа вынесите в отдельный метод.

Решение на Patreon →

Сумма чисел через Scanner

Создать программу, которая будет вычислять и выводить на экран сумму двух целых чисел, введённых пользователем с помощью класса Scanner. Если пользователь некорректно введёт хотя бы одно из чисел, то сообщать об ошибке.

Подсказка

Корректность ввода удобно проверять до чтения: метод scanner.hasNextInt() сообщает, является ли следующий токен целым числом. Тогда nextInt() вызывается только для валидного ввода, и перехватывать InputMismatchException не придётся.

Решение на Patreon →

Проверь свой код

При написании программ обращайте внимание на рекомендации по оформлению кода.

Часто задаваемые вопросы

Какие виды литералов есть в Java?

Шесть групп: целочисленные (в десятичной, двоичной 0b1010, восьмеричной 012 и шестнадцатеричной 0xA записи), вещественные (double по умолчанию, float с суффиксом f), логические true/false, символьные в одинарных кавычках, строковые в двойных кавычках и литерал null.

Чем неявное приведение типов отличается от явного?

Неявное (расширяющее) преобразование компилятор выполняет сам, когда значение гарантированно помещается в целевой тип: int → long, int → double. Явное (сужающее) требует оператора приведения (byte) x и может потерять данные: старшие биты отбрасываются, дробная часть усекается.

Можно ли привести boolean к int в Java?

Нет. В отличие от C/C++, boolean в Java не участвует ни в каких числовых преобразованиях — ни неявных, ни через явный cast. Если нужно получить 1 или 0, используйте тернарную операцию: flag ? 1 : 0.

Почему метод деления в калькуляторе возвращает целое число?

Потому что деление двух int в Java — целочисленное: 7 / 2 даёт 3, дробная часть отбрасывается. Чтобы получить 3.5, приведите хотя бы один операнд к double: (double) a / b — и объявите возвращаемый тип метода как double.

Что произойдёт, если ввести в Scanner не число?

Вызов nextInt() выбросит InputMismatchException, и программа аварийно завершится, если исключение не обработать. Безопаснее сначала проверить ввод методом hasNextInt() и только при true читать число — иначе вывести сообщение об ошибке.

Комментарии

Зарегистрируйтесь или войдите, чтобы иметь возможность оставить комментарий.