Константы в Java — это переменные, значение которых нельзя изменить после инициализации. Для их создания используется комбинация модификаторов static final.
staticделает переменную общей для класса (экономия памяти).finalзапрещает повторное присваивание значения.
По конвенции имена констант пишутся в UPPER_CASE (верхнем регистре) с разделением слов подчеркиванием. Это помогает визуализация кода и улучшает читаемость. В заданиях вы потренируетесь в правильном объявлении констант, их использовании в формулах и отличии от обычных переменных.
- Модуль 1: Первая программа и структура
- Модуль 2: Переменные и типы данных
- Объявление и инициализация переменных.
- Примитивы: целые числа (int, long, byte, short).
- Примитивы: дробные числа (double, float).
- Примитивы: логический тип (boolean).
- Примитивы: символьный тип (char).
- String — основы работы со строками.
- Приведение типов (Casting): расширение и сужение.
- Область видимости переменных (Scope).
- Модуль 3: Операторы
- Модуль 4: Управляющие конструкции
- Модуль 5: Массивы и Строки (Advanced)
- Создание и заполнение массива.
- Доступ к элементам по индексу.
- Свойство length и перебор массива.
- Цикл for-each для массивов.
- Многомерные массивы.
- Методы String: length, charAt, isEmpty.
- Манипуляции: substring, concat, replace.
- Сравнение строк: equals vs ==.
- Разделение строк (split) и trim.
- StringBuilder (изменяемые строки).
- Модуль 6: Методы
- Модуль 7: Классы и Объекты (ООП Часть 1)
- Модуль 8: Капсуляция и Модификаторы
- Модуль 9: Наследование и Полиморфизм (ООП Часть 2)
- Модуль 10: Обработка исключений
- Модуль 11: Коллекции и Дженерики
- Модуль 12: Функциональный стиль (Java 8+)
- Модуль 13: Полезные стандарты
1. Объявление константы
В этом задании вам предстоит объявить константу для числа Пи (π) в Java. В строке кода ниже заполните пропуски, выбрав из выпадающих списков правильные модификаторы доступа, модификаторы класса и тип данных. Обратите внимание, что константа должна быть публичной, статической и неизменяемой, а её тип должен соответствовать значению 3.141592653589793.
input1S input2S input3S input4S PI = 3.141592653589793;2. Попытка изменения
В этом фрагменте кода объявлена константа с модификаторами static final, что делает её неизменяемой. Однако далее в методе main предпринимается попытка изменить значение этой константы, из-за чего программа не скомпилируется. Найдите строку с ошибкой и удалите её (или закомментируйте), чтобы код стал корректным. Константы в Java нельзя переприсваивать после инициализации.
public class ConstantsDemo { public static final int MAX_USERS = 100; public static void main(String[] args) { MAX_USERS = 200; // пытаемся изменить константу System.out.println("Максимум пользователей: " + MAX_USERS); }}3. Именование констант
В Java для именования констант (полей, объявленных как static final) принято использовать стиль UPPER_CASE: все буквы заглавные, а слова разделяются подчёркиваниями. В данном фрагменте кода константа объявлена с именем в camelCase (maxSize), что нарушает соглашения Code Style. Ваша задача — исправить имя константы, заменив его на корректный вариант в формате UPPER_CASE непосредственно в месте объявления. Обратите внимание, что изменение должно касаться только имени константы, остальной код остаётся без изменений.
public class ConstantsExample {
// Было maxSize, замените имя на стиль UPPER_CASE
public static final int input1S = 100;
public static void main(String[] args) {
System.out.println("Максимальный размер: " + maxSize);
}
}4. Типы переменных
В левой колонке приведены примеры объявлений переменных в Java, а в правой — их характеристики с точки зрения модификаторов доступа и изменяемости. Сопоставьте каждое объявление переменной с соответствующей характеристикой. Обратите внимание на использование ключевых слов static и final, которые определяют область видимости и возможность изменения значения переменной.
static final int Xfinal int yint z5. Вычисление с константами
В приведённом фрагменте кода на Java определён класс с константами (налог и скидка) и методом, вычисляющим итоговую цену на основе базовой стоимости. Проанализируйте код и определите, какое значение будет выведено на экран при выполнении программы. Введите одно число (целое или с плавающей точкой) без дополнительных символов.
public class PriceCalculator {
private static final double TAX_RATE = 0.2; // 20% налог
private static final double DISCOUNT = 0.15; // 15% скидка
private static final double BASE_PRICE = 200.0;
public static double calculateFinalPrice() {
double priceAfterDiscount = BASE_PRICE * (1 - DISCOUNT);
double finalPrice = priceAfterDiscount * (1 + TAX_RATE);
return finalPrice;
}
public static void main(String[] args) {
double result = calculateFinalPrice();
System.out.println(result);
}
}6. Составные части
В данном задании вам нужно разметить части объявления константы в Java. В строке кода выделены три сегмента: модификатор неизменяемости, имя переменной и её значение. Выберите для каждого выделенного фрагмента соответствующий тип из предложенных вариантов: 'Модификатор неизменяемости', 'Имя переменной' или 'Значение'. Это упражнение поможет закрепить понимание структуры объявления констант с использованием static final.
private static {{final~|~t1}} String {{DEFAULT_NAME~|~t2}} = {{"User"~|~t3}};7. Создание конфига
Из предложенных строк соберите корректный класс Config, содержащий несколько публичных статических констант (static final), которые обычно используются для хранения настроек приложения: адрес сервера (URL), номер порта (PORT) и таймаут соединения (TIMEOUT). Класс должен быть публичным, все поля — public static final. Некоторые строки являются лишними и не должны входить в итоговое решение. Порядок объявления констант между собой не влияет на работу программы.
public class Config { public static final String URL = "https://api.example.com"; public static final int PORT = 8080; public static final int TIMEOUT = 30_000;} private static final String URL = "http://localhost"; public final int PORT = 443; public static String DB_URL = "jdbc:mysql://localhost"; public Config() {}