Имеет ли значение отливка типа java? Обязательно ли это знать на начальном этапе? - PullRequest
1 голос
/ 01 августа 2020

Имеет ли значение отливка типа java? Обязательно ли это знать на начальном этапе?

**double myDouble = 9.78;
int myInt = (int) myDouble;**   

Это сбивает меня с толку на первом этапе.

1 Ответ

0 голосов
/ 01 августа 2020

Имеет ли значение отливка типа java? Обязательно ли это знать на начальном этапе?

Да, это имеет значение. Без оператора приведения это было бы ошибкой времени компиляции. Проверьте эту главу JLS , чтобы узнать больше об этом.

Проще говоря, рассматривайте переменные как контейнеры, например, переменная типа int имеет емкость 4 байт, а double тип значения требует 8 байт. Следовательно, если вы попытаетесь присвоить тип значения double переменной типа int, он не подойдет. Оператор приведения делает это возможным, сокращая значение double, чтобы оно соответствовало переменной int. С другой стороны, если вы попытаетесь присвоить тип значения int переменной типа double, значение можно будет разместить без какого-либо преобразования.

public class Main {
    public static void main(String[] args) {
        double myDouble = 9.78;
        int myInt = (int) myDouble;// Casting is required

        int x = 100;
        myDouble = 100;// Casting is not required
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...