Отзиви

Условни изявления If-then и If-then-Else в Java

Условни изявления If-then и If-then-Else в Java

Най-

ако-тои

ако-то-другоусловните изявления позволяват на програма на Java да взема прости решения за това какво да правите след това. Те работят по същия логичен начин, както ние, когато вземаме решения в реалния живот.

Например, когато правите план с приятел, можете да кажете „Ако Майк се прибере преди 17:00, тогава ще излезем на ранна вечеря“. Когато пристигне 17:00, състоянието (т.е. Майк е у дома), което определя дали всички излизат за ранна вечеря, ще бъде или вярно, или невярно. Работи точно същото в Java.

„Ако-тогава“

Да речем, част от програма, която пишем, трябва да изчисли дали купувачът на билет отговаря на условията за отстъпка на детето. Всеки под 16-годишна възраст получава 10% отстъпка от цената на билета.

Можем да позволим на нашата програма да вземе това решение с помощта на

ако-тоизявление:

ако (възраст <16)
isChild = вярно;

В нашата програма се нарича целочислена променлива

възрастзадържа възрастта на купувача на билети. Условието (т.е. купувачът на билети под 16 години) е поставено вътре в скобите. Ако това условие е вярно, тогава изявлението под оператора if се изпълнява - в този случай a

булевапроменлив

isChildе зададено на

вярно.

Синтаксисът следва един и същ модел всеки път. Най-

акоключова дума, последвана от условие в скоби, като операторът се изпълнява отдолу:

ако (условието е вярно)
изпълнете това изявление

Ключовото нещо, което трябва да запомните, е условието трябва да се равнява на a

булевастойност (т.е. вярна или невярна).

Често Java програма трябва да изпълни повече от едно изявление, ако условието е вярно. Това се постига чрез използване на блок (т.е. затваряне на отчетите в къдрави скоби):

ако (възраст <16)
{
isChild = вярно;
отстъпка = 10;
}

Тази форма на

ако-тооператорът е най-често използваният и се препоръчва да се използват къдрави скоби, дори когато има само едно заявление за изпълнение. Подобрява четимостта на кода и води до по-малко грешки в програмирането. Без къдравите скоби е лесно да пренебрегнете ефекта от взетото решение или да се върнете по-късно и да добавите още едно изявление, което да изпълните, но забравите да добавите и къдравите скоби.

Изявлението „if-then-else“

Най-

ако-тооператор може да бъде разширен, за да има оператори, които се изпълняват, когато условието е невярно. Най-

ако-то-другооператор изпълнява първия набор от оператори, ако условието е вярно, в противен случай вторият набор от оператори се изпълнява:

ако (състояние)
{
изпълнете изявление (я), ако условието е вярно
}
още
{
изпълнете изявление (я), ако условието е невярно
}

Да кажем, че в програмата за билети трябва да се уверим, че отстъпката е равна на 0, ако купувачът на билети не е дете:

ако (възраст <16)
{
isChild = вярно;
отстъпка = 10;
}
още
{
отстъпка = 0;
}

Най-

ако-то-другоизявление също позволява влагане на

ако-тоизявления. Това позволява решенията да следват пътя на условията. Например билетната програма може да има няколко отстъпки. Първо може да тестваме дали купувачът на билети е дете, след това, ако е пенсионер, след това, ако е студент и т.н.:

ако (възраст <16)
{
isChild = вярно;
отстъпка = 10;
}
друго, ако (възраст> 65)
{
isPensioner = вярно; отстъпка = 15;
}
иначе ако (isStudent == true)
{
отстъпка = 5;
}

Както можете да видите,

ако-то-другомодел на изявление просто се повтаря. Ако по всяко време състоянието е

вярно , тогава съответните изпълнения се изпълняват и всички условия под тях не се тестват, за да се провери дали са

вярноили

фалшив.

Например, ако възрастта на купувача на билети е 67, тогава маркираните изявления се изпълняват и

(isStudent == true)условието никога не се тества и програмата просто продължава.

Има нещо, което си заслужава да се отбележи

(isStudent == true)състояние. Условието е написано, за да стане ясно дали тестваме дали

isStudentима стойност на true, но защото е a

булевапроменлива, всъщност можем да пишем:


иначе ако (isStudent)
{
отстъпка = 5;
}

Ако това е объркващо, начинът да мислим за това е такъв - знаем, че дадено състояние е тествано като вярно или невярно. За цели числа променливи като

възраст, трябва да напишем израз, който може да бъде оценен като истина или невярно (например,

възраст == 12,

възраст> 35и т.н. ...).

Буловите променливи обаче вече оценяват като верни или неверни. Не е необходимо да пишем израз, за ​​да го докажем, защото

ако (isStudent)вече казва "ако isStudent е вярно ...". Ако искате да тествате, че булева променлива е невярна, просто използвайте унарния оператор

!, Следователно, той обръща булева стойност

ако (! isStudent)по същество казва "ако isStudent е невярно."


Гледай видеото: Computational Linguistics, by Lucas Freitas (Август 2021).