В този урок ще научите за операторите за контрол на потока, използващи Java, ако и ако … else, с помощта на примери.
При компютърното програмиране използваме оператора if, за да контролираме потока на програмата. Например, ако е изпълнено определено условие, изпълнете определен блок код. В противен случай стартирайте друг код.
Например присвояване на оценки (A, B, C) въз основа на процент, получен от студент.
- ако процентът е над 90 , дайте оценка А
- ако процентът е над 75 , дайте оценка B
- ако процентът е над 65 , дайте оценка C
В if… else
Java има три форми на изявления.
- ако изявление
- ако … друго изявление
- if … else if … else изявление
- Вложен ако… друго изявление
1. Изявление за Java if (ако-тогава)
Синтаксисът на оператор if-then :
if (condition) ( // statements )
Тук условието е булев израз. Връща или true
или false
.
- ако условието оценява на
true
,if
изпълняват се изявления вътре в тялото на - ако условието се оценява на
false
, изявленията вътре в тялото наif
се пропускат
Как ако операторът работи?
![](https://cdn.wiki-base.com/1185961/java_ifelse_statement_with_examples.png.webp)
Пример 1: Java if Statement
class IfStatement ( public static void main(String() args) ( int number = 10; // checks if number is greater than 0 if (number> 0) ( System.out.println("The number is positive."); ) System.out.println("Statement outside if block"); ) )
Изход
Числото е положително. Изявление отвън, ако блок
В горния пример създадохме променлива с име номер. Забележете състоянието на теста,
number> 0
Тук условието проверява дали числото е по-голямо от 0 . Тъй като числото е по-голямо от 0 , условието оценява true
.
Ако променим променливата на отрицателно цяло число. Да кажем -5 .
int number = -5;
Сега, когато стартираме програмата, изходът ще бъде:
Statement outside if block
Това е така, защото стойността на числото е по-малка от 0 . Следователно състоянието оценява на false
. И тялото на if
блока се пропуска.
Забележка : За да научите за изразяване на условия, не забравяйте да посетите Java Relational Operators и Java Logical Operators.
Можем да използваме и Java Strings като условие за тест.
Пример 2: Java, ако е със String
class Main ( public static void main(String() args) ( // create a string variable String language = "Java"; // if statement if (language == "Java") ( System.out.println("Best Programming Language"); ) ) )
Изход
Най-добър език за програмиране
В горния пример сравняваме два низа в if
блока.
2. Java if … else (if-then-else) Изявление
Операторът if
изпълнява определена част от кода, ако тестовият израз е оценен на true
. Ако обаче се изчисли тестовият израз false
, той не прави нищо.
В този случай можем да използваме незадължителен else
блок. Изявленията вътре в тялото на else
блока се изпълняват, ако тестовият израз е оценен на false
. Това е известно като оператора if- … else в Java.
Синтаксисът на оператора if … else е:
if (condition) ( // codes in if block ) else ( // codes in else block )
Тук програмата ще изпълни една задача (кодове вътре в if
блока), ако условието е, true
и друга задача (кодове вътре в else
блока), ако условието е false
.
Как работи операторът if … else?
![](https://cdn.wiki-base.com/1185961/java_ifelse_statement_with_examples_2.png.webp)
Пример 3: Java if … else Изявление
class Main ( public static void main(String() args) ( int number = 10; // checks if number is greater than 0 if (number> 0) ( System.out.println("The number is positive."); ) // execute this block // if number is not greater than 0 else ( System.out.println("The number is not positive."); ) System.out.println("Statement outside if… else block"); ) )
Изход
Числото е положително. Изявление извън, ако … друго блокира
В горния пример имаме променлива с име номер. Тук тестовият израз number> 0
проверява дали числото е по-голямо от 0.
Тъй като стойността на числото е 10, тестовият израз оценява на true
. Следователно кодът в тялото на if
се изпълнява.
Сега променете стойността на числото на отрицателно цяло число. Да кажем -5.
int number = -5;
Ако стартираме програмата с новата стойност на числото, изходът ще бъде:
Числото не е положително. Изявление отвън, ако … друго блокира
Тук стойността на числото е -5. Така че тестовият израз оценява на false
. Следователно кодът в тялото на else
се изпълнява.
3. Java, ако … друго … ако изявление
В Java имаме стълба if … else … if , която може да се използва за изпълнение на един блок код сред множество други блокове.
if (condition1) ( // codes ) else if(condition2) ( // codes ) else if (condition3) ( // codes )… else ( // codes )
Тук if
изявленията се изпълняват отгоре надолу. Когато условието на теста е true
, кодовете в тялото на този if
блок се изпълняват. И контролът на програмата скача извън стълбата if … else … if .
Ако всички тестови изрази са false
, else
се изпълняват кодове в тялото на .
Как ако … иначе … ако стълбата работи?
![](https://cdn.wiki-base.com/1185961/java_ifelse_statement_with_examples_3.png.webp)
Пример 4: Java, ако … друго … ако изявление
class Main ( public static void main(String() args) ( int number = 0; // checks if number is greater than 0 if (number> 0) ( System.out.println("The number is positive."); ) // checks if number is less than 0 else if (number < 0) ( System.out.println("The number is negative."); ) // if both condition is false else ( System.out.println("The number is 0."); ) ) )
Изход
Числото е 0.
In the above example, we are checking whether number is positive, negative, or zero. Here, we have two condition expressions:
number> 0
- checks if number is greater than 0number < 0
- checks if number is less than 0
Here, the value of number is 0. So both the conditions evaluate to false
. Hence the statement inside the body of else
is executed.
Note: Java provides a special operator called ternary operator, which is a kind of shorthand notation of if… else… if statement. To learn about the ternary operator, visit Java Ternary Operator.
4. Java Nested if… else Statement
В Java също е възможно да се използват if… else
изрази вътре в if… else
изявление. Нарича се вложен if… else
оператор.
Ето програма за намиране на най-голямото от 3 числа с помощта на вложения if… else
оператор.
Пример 5: Вложено, ако … друго изявление
class Main ( public static void main(String() args) ( // declaring double type variables Double n1 = -1.0, n2 = 4.5, n3 = -5.3, largest; // checks if n1 is greater than or equal to n2 if (n1>= n2) ( // if… else statement inside the if block // checks if n1 is greater than or equal to n3 if (n1>= n3) ( largest = n1; ) else ( largest = n3; ) ) else ( // if… else statement inside else block // checks if n2 is greater than or equal to n3 if (n2>= n3) ( largest = n2; ) else ( largest = n3; ) ) System.out.println("Largest Number: " + largest); ) )
Изход :
Най-голям брой: 4.5
В горните програми сами сме задали стойността на променливите, за да улесним това.
В реални приложения обаче тези стойности могат да идват от потребителски входни данни, регистрационни файлове, подаване на формуляри и т.н.