Примитивные типы данных, класс оболочки, переполнение / потеря значимости и приведение

Я недавно изучаю язык программирования «Java», и я хочу поделиться тем, что я узнал в процессе моего учебного путешествия, чтобы это было полезно для тех, кто также изучает Java, и в то же время это полезно для меня. чтобы пересмотреть то, что я узнал, делясь своей работой.

В этой статье я хочу поговорить о примитивных типах данных, классе оболочки, переполнении / недополнении и приведении в Java.

Примитивные типы данных

Примитивные типы данных - самые фундаментальные типы данных в Java. Существует восемь примитивных типов данных - byte, short, int, long, float, double, char и boolean. В программировании очень важно практиковать соответствующий тип данных.

байт, короткий, интервал, длинный

Типы данных - byte, short, int, long включают целые числа (без дробей), которые могут быть как положительными, так и отрицательными. Тип int является значением по умолчанию в Java, и если для конкретного значения переменной не указан тип данных, Java примет это значение как int значение.

Тип данных, байт - это наименьший тип, который занимает 8 бит (1 байт), и этот тип полезен для экономии памяти. Тип данных, long - это самый большой тип, который занимает 64 бита (8 байтов) памяти и может достаточно хранить большое количество значений.

поплавок, двойной

float и double - это примитивные типы данных, которые могут принимать десятичные числа, также известные как числа с плавающей запятой.

Подобно типу данных int, float является типом по умолчанию, в котором Java автоматически принимает по умолчанию определенное значение. в переменной, если для этого значения не указан тип данных.

char, логическое значение

Тип данных char аналогичен String literal, однако char может хранить только одиночный символ с использованием одинарной кавычки "", тогда как литерал String может хранить несколько символов или текстов с использованием двойных кавычек "".

char также может принимать символы Юникода. Минимальное значение char - «\ u0000» (или 0), а максимальное значение - «\ uffff» (или 65 535 включительно).

char myChar = 'M'; // char
String myString = "This is a String"; // String
// Use of Unicode Character
char unicodeChar = '\u004D'; // Output: M

Тип данных логический может хранить значение ИСТИНА или ЛОЖЬ. Этот тип данных может использоваться в условиях, сравнении и других реляционных или логических операциях.

int x = 10;
int y = 20;
System.out.println(x == y); // Output: false
System.out.println(x != y); // Output: true // != means not equal

Класс обертки

Класс-оболочка включает в себя примитивный тип данных и позволяет всем восьми примитивным типам данных выполнять различные операции.

Переполнение / недополнение

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

int minInt = Integer.MIN_VALUE;
int maxInt = Integer.MAX_VALUE;

System.out.println(minInt); // Output: -2147483648
System.out.println(maxInt); // Output: 2147483647

MIN_VALUE и MAX_VALUE обозначают минимальный и максимальный диапазоны чисел, которые могут быть сохранены в типе данных int.

Когда мы вычитаем 1 из минимально допустимого целочисленного значения и прибавляем 1 к максимально допустимому целочисленному значению, на выходе будут значения недостаточного и переполнения.

int minInt = Integer.MIN_VALUE;
int maxInt = Integer.MAX_VALUE;
System.out.println(minInt - 1); // Output: 2147483647 (Underflow)
System.out.println(maxInt + 1); // Output: -2147483648 (Overflow)

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

Кастинг

Приведение - это процесс преобразования примитивного типа данных переменной в другой тип данных.

double dValue = 2.5;
int iValue = dValue; // Error: Incompatible types
int iValue = (int) dValue; // Casting: double to int
System.out.println(dValue); // Output: 2.5
System.out.println(iValue); // Output: 2

Значение переменной dValue равно 2,5, которой присваивается тип данных double. Когда мы назначаем iValue равным dValue с типом данных integer, возникает ошибка, поскольку integer и double несовместимы друг с другом.

Требуется указать Java обрабатывать dValue как целое число, поэтому приведение может быть выполнено путем изменения типа double на int. Наконец, вывод dValue будет 2,5, что является типом double, тогда как вывод iValue будет 2, что является типом целочисленным.