Условная логика с использованием if
Если у вас мало условий, вы должны использовать операторы if
. Они делают ваш код читабельным. Кроме того, некоторые условия / логику можно легко изменить, изменив некоторые строки (поскольку они не являются связанными, как троичный оператор ).
Условная логика с использованием троичного оператора
Я бы рекомендовал использовать троичное выражение (result = (value != null) ? value : default
) только в том случае, если вы можете поместить его в одну строку и на удобочитаемость не влияет (например, для назначения значений по умолчанию).
Решение
public static String buildMessageForScore(double score) {
if (score > 0 && score <= 100) {
String message = "Your Grade Is: ";
if (score < 50) return message + "Failed";
if (score < 65) return message + "Passed";
if (score < 75) return message + "Good";
if (score < 85) return message + "Very Good";
if (score <= 100) return message + "Excellent";
}
return "Enter Valid Number!";
}
Разъяснения
- Score-Translation : Вложите свою логику в метод . Таким образом, вы можете назвать его и легко проверить его . Еще одним преимуществом является то, что вы могли бы также бросить
IllegalArgumentException
, если аргумент оценка недействителен.
- первые несколько операторов обычно проверяют правильность значений параметров . Так же, как первый
if
подтвердил, что оценка находится в диапазоне.
- последний оператор должен возвращать некоторые значения по умолчанию . Так что ваше сообщение об ошибке здесь по умолчанию.
- между (внешний блок if) заказным потоком управления с коротким замыканием. Заказано от низких до высоких оценок. Если оценка ниже некоторого порогового значения, он немедленно выдаст
return
соответствующее сообщение и покинет метод (короткое замыкание). Из-за return
непосредственно после каждого условия вы можете опустить обычный стиль if .. else
(аналогично break
в switch .. case
). Поскольку каждое условие находится в одной строке, оно более читаемо (какой предел оценки принадлежит какому сообщению).