В простом случае if-else (где знаменатель дроби нужно будет проверять на нулевое значение для каждой записи), существует ли правильное расположение операторов?
Например:
if (!(denominator == 0))
{
quotient = numerator / denominator;
System.out.println(numerator + " / " + denominator + " = " + quotient);
}
else
{
System.out.println("Division by zero is not allowed.");
}
или
if (denominator == 0)
{
System.out.println("Division by zero is not allowed.");
}
else
{
quotient = numerator / denominator;
System.out.println(numerator + " / " + denominator + " = " + quotient);
}
Я знаю, что это тривиальный пример, но мне любопытно, есть ли какая-либо польза от рассмотрения порядка операторов if-else (в случае, подобном описанному выше). Для менее тривиального тестирования входных данных / значений я могу понять согласованный ответ, предложенный здесь: Наилучшая практика по порядку утверждений IF / ELSE .
Заранее извиняюсь, если это плохой вопрос (или тот, у которого должен быть очевидный ответ). Я намерен повысить общую эффективность моего кодирования. Хотя я сомневаюсь, что между двумя приведенными мною примерами есть существенная разница. Мой анализ новичков показывает, что знаменатель будет проверяться на ноль в любом случае, поэтому сводит на нет все преимущества тестирования для «нормального случая». Пожалуйста, поправьте / просветите меня, если я ошибаюсь.
ТИА