В статье рассказывается:
- Неименованные константы в Java
- Константы встроенных классов Java
- Где хранить константы
-
Пройди тест и узнай, какая сфера тебе подходит:
айти, дизайн или маркетинг.Бесплатно от Geekbrains
Константа — постоянное значение, известное до начала работы программы и заданное в коде один раз.
Почему это удобно:
- Если вы используете значение многократно, а в ходе разработки его потребуется изменить, достаточно будет одной правки.
- Вместо длинного значения можно ставить в коде короткое имя константы.
- Нет риска ошибиться при очередном вводе значения.
По логике это надо бы называть «постоянной» — в противоположность переменной, — но традиция уже сложилась.
входят в ТОП-30 с доходом
от 210 000 ₽/мес
Скачивайте и используйте уже сегодня:
Топ-30 самых востребованных и высокооплачиваемых профессий 2023
Поможет разобраться в актуальной ситуации на рынке труда
Подборка 50+ бесплатных нейросетей для упрощения работы и увеличения заработка
Только проверенные нейросети с доступом из России и свободным использованием
ТОП-100 площадок для поиска работы от GeekBrains
Список проверенных ресурсов реальных вакансий с доходом от 210 000 ₽
Константа может хранить число, строку, символ, ссылку на объект и др. Значение константы еще называют литералом (от англ. literal — буквальный), потому что его записывают как есть — без предварительных вычислений.
При объявлении констант в Java используют ключевое слово final — оно показывает, что литерал не должен меняться. Именовать константы принято заглавными буквами со знаком подчеркивания вместо пробела: ВОТ_ТАК.
Пример строковой константы:
public static final String MY_CONSTANT="Мой текст";
//создаем строку и присваиваем ей постоянное значение
Модификаторы public и static означают, что перед нами публичная константа уровня класса — без привязки к отдельным объектам, классам и т.д. Это аналог глобальной константы в Java. Значение константы всегда указывают при её создании. Если инициализация отложена, перед нами не константа, а «финальная переменная». Её значение тоже обычно задают только один раз, но:
- оно может быть получено в результате вычислений;
- если внутри финальной переменной лежит объект, его свойства можно менять, т.к. финализация действует на ссылку, а не на значение.
Важно следить, чтобы значение константы нигде не конфликтовало с логикой вычислений. Например, скорость звука может быть константой в одной среде, но в разных средах она разная. Если в коде мы сравниваем что-то со скоростью звука, хорошим вариантом будет создать финальную переменную, значение которой можно будет переопределять в зависимости от среды.
Скачать файлНеименованные константы в Java
Неименованная константа — постоянное произвольное значение, которое вносят в код однократно:
if (i < 5 ) // 5 - это константа;
Если значение нужно использовать ещё где-то, лучше вынести его в именованную константу или финальную переменную.
Читайте также!
Константы встроенных классов Java
Класс Integer в Джаве отвечает за обработку целых чисел типа int. Ограничителями диапазона значений int служат константы MIN_VALUE (минимальное значение) и MAX_VALUE (максимальное). Константы с теми же именами существуют и в остальных классах для обработки числовых данных: byte, long, float, double. При создании объекта нужного типа классы обращаются к пулам — массивам констант Java, где хранятся допустимые элементы диапазона.
Где хранить константы
Новички часто спрашивают, допустимо ли держать константы в интерфейсе или обязательно раскладывать их по классам. Единого ответа нет, но логичнее хранить константы ближе к месту использования. Общие для нескольких не связанных между собой классов константы можно вынести в отдельный класс.