Система типов в Java - строгая, статическая. Поэтому, если Вы однажды объявили переменную типа int , например, Вы уже не сможете присвоить этой переменной значение другого не примитивного типа.

Преобразования типов в Java

Система типов в Java - строгая, статическая. Поэтому, если Вы однажды объявили переменную типа int, например, Вы уже не сможете присвоить этой переменной значение другого не примитивного типа.

Под преобразованием типов в Java подразумевается присвоение значению одного примитивного типа данных другого типа данных.

В Java существуют два типа преобразования:

  1. Расширяющее преобразование - выполняется автоматически при преобразовании меньшего по размеру типа в больший: byte в short в char в int в long в float в double.
  2. Сужающее преобразование - выполняется вручную при преобразовании большего по размеру типа в меньший: double в float в long в int в char в short в byte

Теперь рассмотрим пример расширяющего преобразования типов, которое выполняется автоматически:

public class WideningCasting 
{
  public static void main(String[] args) 
  {
    int number_i = 10;
    double number_d = myInt; // автоматическое преобразованием: int в double

    System.out.println(number_i);   // Выведет 9
    System.out.println(number_d);   // Выведет 9.0
  }
}

А теперь рассмотрим пример сужающего преобразования, которое можно делать только вручную, помещая перед переменной в скобках названием типа данных:

public class NarrowingCasting 
{
  public static void main(String[] args) 
  {
    double number_d = 10.25;
    int number_i = (int) number_d; // сужающее преобразование, перед переменной в скобках имя типа 

    System.out.println(number_d);   // Выведет 10.25
    System.out.println(number_i);   // Выведет 10
  }
}

Таким образом, вот так осуществляется преобразование примитивных типов в Java.