Бесплатный вебинар
«как найти любимую работу»
Подарки на 150 000 ₽ за участие
Живой эфир
Записи не будет!
00:00:00:00
дн.ч.мин.сек.

Установка short значений в Java: метод setTableId и типы данных

Быстрый ответ

Для создания переменной типа short в Java, присвойте ей число, попадающее в промежуток от -32768 до 32767. Если же необходимо использовать число, выходящее за рамки этого интервала, примените явное приведение типа (short).

Пример:

Java
Скопировать код
short validShort = 32000; // Число находится в пределах допустимого диапазона
short castedShort = (short) 65000; // Приведение к типу `short` значения, которое выходит за его пределы
Кинга Идем в IT: пошаговый план для смены профессии

Глубже в тему: Приведение типов и литералы

Явное приведение: когда расчёт на автоматику приводит к ошибке

Числовые значения в Java по умолчанию интерпретируются как int, поэтому для типов byte и short требуется явное приведение:

Java
Скопировать код
short yourShort = (short)500; // Приведение `int` к `short`
byte yourByte = (byte)128; // Приведение `int` к `byte`

Неприменение явного приведения ведёт к ошибке компиляции по причине некорректной интерпретации типов.

Подробнее об этом расскажет наш спикер на видео
skypro youtube speaker

Автоматическое расширение: своеобразная свобода Java

В Java типы с меньшим размером автоматически преобразуются в более крупные:

Java
Скопировать код
public void hocusPocus(long value) {
    System.out.println(value); // Выводим значение типа `long`
}

hocusPocus(100); // `int` автоматически преобразуется в `long`

Короткая запись, длинные привычки

Единый подход к записи

Для long, float и double используйте суффиксы L, F, D, чтобы сделать тип данных очевидным:

Java
Скопировать код
long myL = 100L; // В явном виде указываем, что это `long`

У short и byte таких маркеров нет, но использование приведения типов делает всё понятным.

Оператор '+': скрытые тонкости

С типами short и byte операции сложения неожиданно могут требовать явного приведения типов:

Java
Скопировать код
short a = 10;
short b = 20;
short sum = (short) (a + b); // Для сохранения результата как `short` необходимо приведение типов

JVM и Java 5+: развитие оптимизации

Начиная с Java 5, JVM стала оптимизировать присваивание литералов к типам byte и short. Изучение классов из Java 2 Micro Edition (J2ME) способно улучшить производительность кода.

Визуализация

Работа с short схожа с наливанием чая в небольшую чашку:

Java
Скопировать код
short bostonTeaParty = 2023; // Число легко укладывается в допустимые границы

Налив чая больше или меньше необходимого — вы рискуете пролить его:

Markdown
Скопировать код
| Наливаемое количество | Чашка         | Результат                    |
| ---------------------- | ------------- | ---------------------------- |
| 32768                  | переполнена   | ❌ Происходит переполнение    |
| -32769                 | недолита      | ❌ Значение не в диапазоне    |
| 1234                   | как раз       | ✅ Идеально                   |

Убедитесь, что ваши данные соответствуют допустимому диапазону.

Осложнения

Узкое приведение: слон в стеклянном магазине

Будьте осторожны при преобразовании больших чисел к меньшим примитивным типам, так как в этом случае можно потерять часть данных:

Java
Скопировать код
int largeAmount = 123456;
short result = (short) largeAmount; // Потеря данных неминуема

Переполнение: монстр Java, обращающий числа вспять

Проблема переполнения — сложно заметимый гость, появляющийся в самый неожиданный момент:

Java
Скопировать код
short overflowedShort = (short) 33000; // Происходит переполнение и значение изменяется

Автоупаковка: брать с полки с умом

Автоупаковка затрачивает ресурсы на создание объектов:

Java
Скопировать код
Short packageBox = 100; // Автоупаковка
short unpackedGift = packageBox; // Автораспаковка обратно в `short`

Для снижения нагрузки используйте примитивные типы вместо объектов.

Полезные материалы

  1. Примитивные типы данных (The Java™ Tutorials > Learning the Java Language > Language Basics) — Обзор всех типов данных в Java.
  2. Short (Java Platform SE 7) — Официальная документация класса Short.
  3. Система управления контентом на PHP, которая отслеживает содержание через гит – Stack Overflow — Важный вопрос по системам управления контентом.
  4. Глава 5. Преобразования и контексты — Информация о преобразованиях типов данных.
  5. [Effective Java, 3rd Edition [Book]](https://www.oreilly.com/library/view/effective-java-3rd/9780134686097/) — Книга с полезными рекомендациями по Java.
  6. Автоупаковка и автораспаковка (The Java Tutorials > Learning the Java Language > Numbers and Strings) — Описаны принципы автоупаковки и автораспаковки в Java.
Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей
Какой диапазон значений можно использовать для переменной типа short в Java?
1 / 5
Свежие материалы