Объявление переменных внутри или вне цикла

Почему следующий вариант работает нормально?

String str;
while (condition) {
    str = calculateStr();
    .....
}

Но этот вариант считается опасным/неправильным:

while (condition) {
    String str = calculateStr();
    .....
}

Нужно ли объявлять переменные вне цикла?

224
задан BSMP 1 November 2018 в 21:11
поделиться