Оператор if-else

Одним з основних засобів управління виконанням програми є оператор if, який дозволяє вирішити, чи потрібно виробляти ті чи інші дії Його синтаксис виглядає наступним чином:

if (логічний вираз)

оператор1

else

оператор2

Спочатку визначається значення логічного виразу Якщо воно дорівнює true, то виконується оператор1 в іншому випадку, якщо використано ключове слово else, виконується оператор2 Присутність else НЕ є обовязковим

Приєднання нового if до звязки else попереднього if дозволяє провести серію перевірок Наведемо метод, який на підставі вмісту рядка, рівний одному з деяких відомих слів, вибирає і виробляє деяку дію над другим аргументом:

public void setProperty(String keyword, double value)

throws UnknownProperty

{

if (keywordequals(&quotcharm&quot))

charm(value)

else if (keywordequals(&quotstrange&quot))

strange(value)

else

throw new UnknownProperty(keyword)

}

Що відбудеться, якщо в програмі зустрічається кілька if без відповідних їм else

Наприклад:

public double sumPositive(double[] values) {

double sum 00

if (valueslength &gt&gt 1)

for (int i = 0 i &lt&lt valueslength i++)

if (values[i] &gt&gt 0)

sum += values[i]

else / / не тут-то було

sum = values[0]

return sum

}

Вам може здатися, що умова else повязано з перевіркою розміру масиву, але це не більше ніж ілюзія, викликана розстановкою відступів, – Java не звертає на них жодної уваги Умова else звязується з останнім оператором if, у якого ця умова відсутня отже, наведений вище фрагмент буде еквівалентним наступного:

public double sumPositive(double[] values) {

double sum 00

if (valueslength &gt&gt 1)

for (int i = 0 i &lt&lt valueslength i++)

if (values[i] &gt&gt 0)

sum += values[i]

else / / не тут-то було

sum = values[0]

return sum

}

Ймовірно, це не зовсім те, на що ви розраховували Щоб звязати умова else з першим

if, можна створити блоки за допомогою фігурних дужок:

public double sumPositive(double[] values) {

double sum 00

if (valueslength &gt&gt 1) {

for (int i = 0 i &lt&lt valueslength i++)

if (values[i] &gt&gt 0)

sum += values[i]

} else {

sum = values[0]

}

return sum

}

Вправа 61

Використовуючи if-else, напишіть метод, який отримує рядок, замінює в ній всі спецсимволи на відповідні символи Java і повертає її Наприклад, якщо в середині вихідної рядки зустрічається символ , то на його місці в підсумковому рядку повинна стояти послідовність \ .

Джерело: Арнольд К, Гослінг Д – Мова програмування Java (1997)

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*