Переменная могла не быть инициализирована в Java (в операторе if)? [дубликат]JAVA

Программисты JAVA общаются здесь
Anonymous
Переменная могла не быть инициализирована в Java (в операторе if)? [дубликат]

Сообщение Anonymous »

Фрагмент кода 1

Код: Выделить всё

        double price = 90000;
String model;
if(price > 100000) {
model = "Tesla Model X";
} else if(price  100000) {
model = "Tesla Model X";
} else{
model = "Tesla Model S";
}
System.out.println(model);
Я знаю, что в Java есть правило инициализировать локальные переменные перед доступом к ним или их использованием. это проверяется во время компиляции. Почему фрагмент кода 2 работает? Компилятор жалуется на фрагмент кода 1: модель переменной, возможно, не была инициализирована - Я это понимаю
Я думал, что во фрагменте кода 1 я рассмотрел все возможные случаи по цене, поэтому переменную модели всегда следует инициализировать, как и во фрагменте кода 2. Почему компилятор все еще жалуется?
Может кто-нибудь объяснить, почему компилятор считает, что модель не может быть инициализирована?

Подробнее здесь: https://stackoverflow.com/questions/790 ... -statement

Вернуться в «JAVA»