Бесплатный курс по Java: от основ до продвинутого уровня
Приведение типов в Java
Часто бывает нужно изменить тип переменной. То есть, например, была создана переменная типа int, и нам в какой-то момент стало необходимо изменить ее тип на byte. Это можно делать с помощью приведения типов.
Правила такие:
По стрелке – автоматическое преобразование. Против стрелки – используя ().
byte -> short -> int -> long
int -> double
short -> float -> double
char -> int
Ниже приведен пример с пояснением:
public class Privedeniye {
public static void main(String[] args) {
byte b = 7;
// Пример автоматического преобразования.
// Допустим хотим преобразовать byte в int.
// Смотрим на цепочку выше. int после byte.
// Значит преобразование b из byte в int
// будет автоматическим и можем воспользоваться для
// приведения(преобразования) просто знаком равенства.
// Ниже происходит автоматическое преобразование b
// из byte в int, а потом запись b, которая уже теперь
// типа int в переменную d.
int d = b;
System.out.println(d); // 7
// Важно уточнить, что b все еще типа byte,
// она становилась типа int только в процессе записи
// в d. После записи она все еще byte как и была.
int a = 4;
// Пример преобразования не автоматического.
// Если против стрелки, как уже было сказано,
// то пишем в скобках к какому типу приводим.
// Ниже из типа int к типу byte, то есть это наоборот
// к предыдущему примеру. Значит пишем в скобочках
// нужный тип.
byte c = (byte)a;
System.out.println(c); // 4
// При преобразовании некоторых типов в другие
// может теряться точность. Например
// int -> float
// long -> float
// long -> double
int e = 2147483647;
float f = e; // от типа int к типу float
System.out.println(f);//В консоли будет 2.14748365E9
// то есть вообще другое число.
}
}