Приведение типов данных происходит если в операции участвуют несколько различных типов. Например:
float x = 5;
В данном случае у числа 5 тип данных int, но компилятор понимает что тип данных float по умолчанию включает в себя все значения типа int, и происходит автоматическое (или как его называют неявное) приведение типа к float.
А вот такая запись будет уже ошибочной:
int a = 5.257;
Так как целочисленный тип данных не может содержать дробную часть, и появляется закономерный вопрос что с ней делать. В таких случаях мы можем принудительно изменить тип данных, написав новый тип в скобках, например это может выглядеть так:
float y = 18.23; int x = (int) y;
Такое преобразование называется явным, и в этом случае программист берёт на себя возможные риски потери данных(в данном случае - отброс дробной части).
Также в работе с переменными необходимо учитывать, что их можно объявить в любой точке программы, но существует область программы, в которой они будут доступны для использования. Это называется областью видимости переменных.
Рассмотрим правила области видимости: