Топ-100Приведение типов - CodOrbits
LogoCodOrbits

Раздел: Java Core

Раздел охватывает ключевые возможности языка Java: аннотации, исключения, generics, лямбда-выражения, интерфейсы и другие базовые концепции.

Все разделы
Иконка Java Core

Приведение типов

Last updated: 4 мая 2025 г.

Часто бывает нужно изменить тип переменной. То есть, например, была создана переменная типа int, и нам в какой-то момент стало необходимо изменить ее тип на byte. Это можно делать с помощью приведения типов.            

Example

Правила такие:

По стрелке – автоматическое преобразование. Против стрелки – используя ().

  • byte -> short -> int -> long
  • int -> double
  • short -> float -> double
  • char -> int

Ниже приведен пример с пояснением:

1public class Privedeniye {
2    public static void main(String[] args) {
3
4        byte b = 7;
5
6        // Пример автоматического преобразования.
7        // Допустим хотим преобразовать byte в int.
8        // Смотрим на цепочку выше. int после byte.
9        // Значит преобразование b из byte в int
10        // будет автоматическим и можем воспользоваться для
11        // приведения(преобразования) просто знаком равенства.
12        // Ниже происходит автоматическое преобразование b
13        // из byte в int, а потом запись b, которая уже теперь
14        // типа int в переменную d.
15        int d = b;
16        System.out.println(d); // 7
17        // Важно уточнить, что b все еще типа byte,
18        // она становилась типа int только в процессе записи
19        // в d. После записи она все еще byte как и была.
20
21        int a = 4;
22
23        // Пример преобразования не автоматического.
24        // Если против стрелки, как уже было сказано,
25        // то пишем в скобках к какому типу приводим.
26        // Ниже из типа int к типу byte, то есть это наоборот
27        // к предыдущему примеру. Значит пишем в скобочках
28        // нужный тип.
29        byte c = (byte)a;
30        System.out.println(c); // 4
31
32        // При преобразовании некоторых типов в другие
33        // может теряться точность. Например
34        // int -> float
35        // long -> float
36        // long -> double
37
38        int e = 2147483647;
39        float f = e; // от типа int к типу float
40        System.out.println(f);//В консоли будет 2.14748365E9
41        // то есть вообще другое число.
42    }
43}

Вывод:


Следующие уроки

Типы строк в Java

7
мин.

Similar Articles Icon
Divider

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

7
мин.

Similar Articles Icon
Divider

Ключевое слово Assert

5
мин.

Similar Articles Icon