W tym samouczku nauczysz się na przykładach instrukcji przepływu sterowania używających instrukcji if i if… else w języku Java.
W programowaniu komputerów używamy instrukcji if do sterowania przepływem programu. Na przykład, jeśli spełniony jest określony warunek, uruchom określony blok kodu. W przeciwnym razie uruchom inny kod.
Na przykład wystawianie ocen (A, B, C) na podstawie procentu uzyskanego przez ucznia.
- jeśli odsetek ten przekracza 90 , przypisz ocenę A.
- jeśli odsetek ten przekracza 75 , przypisz ocenę B.
- jeśli odsetek ten przekracza 65 , przypisz ocenę C.
W if… else
Javie istnieją trzy formy instrukcji.
- jeśli oświadczenie
- if… else oświadczenie
- if… else if… else oświadczenie
- Zagnieżdżone instrukcja if… else
1. Instrukcja if (if-then) języka Java
Składnia instrukcji jeśli-to :
if (condition) ( // statements )
Tutaj warunek jest wyrażeniem boolowskim. Zwraca albo true
lub false
.
- jeśli warunek ma wartość
true
,if
wykonywane są instrukcje wewnątrz treści - jeśli warunek ma wartość
false
, instrukcje wewnątrz treściif
są pomijane
Jak działa stwierdzenie?

Przykład 1: Instrukcja if w języku Java
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"); ) )
Wynik
Liczba jest dodatnia. Instrukcja na zewnątrz if block
W powyższym przykładzie utworzyliśmy zmienną o nazwie liczba. Zwróć uwagę na stan testu,
number> 0
Tutaj warunkiem jest sprawdzenie, czy liczba jest większa niż 0 . Ponieważ liczba jest większa niż 0 , warunek jest oceniany true
.
Jeśli zmienimy zmienną na ujemną liczbę całkowitą. Powiedzmy -5 .
int number = -5;
Teraz, kiedy uruchomimy program, wynik będzie:
Statement outside if block
Dzieje się tak, ponieważ wartość liczby jest mniejsza niż 0 . W związku z tym warunek jest oceniany jako false
. Ciało if
bloku jest pomijane.
Uwaga : aby dowiedzieć się więcej o wyrażeniach warunkowych, odwiedź stronę Java Relational Operators i Java Logical Operators.
Jako warunek testu możemy również użyć Java Strings.
Przykład 2: Java, jeśli z ciągiem
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"); ) ) )
Wynik
Najlepszy język programowania
W powyższym przykładzie porównujemy dwa ciągi w if
bloku.
2. Instrukcja Java if… else (if-then-else)
if
Oświadczenie wykonuje pewien fragment kodu, jeśli wyrażenie Test jest oceniany na true
. Jeśli jednak wartość wyrażenia testowego ma wartość false
, nic nie robi.
W takim przypadku możemy użyć opcjonalnego else
bloku. Instrukcje wewnątrz treści else
bloku są wykonywane, jeśli wartość wyrażenia testowego ma wartość false
. W Javie jest to znane jako instrukcja if-… else .
Składnia instrukcji if… else to:
if (condition) ( // codes in if block ) else ( // codes in else block )
W tym przypadku program wykona jedno zadanie (kody wewnątrz if
bloku), jeśli warunek jest, true
i inne zadanie (kody wewnątrz else
bloku), jeśli warunek jest false
.
Jak działa instrukcja if… else?

Przykład 3: Instrukcja 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"); ) )
Wynik
Liczba jest dodatnia. Instrukcja na zewnątrz if… else blok
W powyższym przykładzie mamy zmienną o nazwie liczba. W tym przypadku wyrażenie testowe number> 0
sprawdza, czy liczba jest większa niż 0.
Ponieważ wartość liczby wynosi 10, wyrażenie testowe przyjmuje wartość true
. W związku z tym if
wykonywany jest kod wewnątrz treści .
Teraz zmień wartość liczby na ujemną liczbę całkowitą. Powiedzmy -5.
int number = -5;
Jeśli uruchomimy program z nową wartością liczby, na wyjściu będzie:
Liczba nie jest dodatnia. Instrukcja na zewnątrz if… else blok
Tutaj wartość liczby wynosi -5. Zatem wyrażenie testowe zwraca false
. W związku z tym else
wykonywany jest kod wewnątrz treści .
3. Java if… else… if Instrukcja
W Javie mamy drabinkę if… else… if , której można użyć do wykonania jednego bloku kodu spośród wielu innych bloków.
if (condition1) ( // codes ) else if(condition2) ( // codes ) else if (condition3) ( // codes )… else ( // codes )
Tutaj if
instrukcje są wykonywane od góry do dołu. Gdy warunek testu jest spełniony true
, wykonywane są kody wewnątrz treści tego if
bloku. A sterowanie programem wyskakuje poza drabinę if… else… if .
Jeśli wszystkie wyrażenia testowe są false
, wykonywane są kody wewnątrz treści else
.
Jak działa jeśli… inaczej… jeśli drabina działa?

Przykład 4: Java if… else… if Instrukcja
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."); ) ) )
Wynik
Liczba to 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
W Javie możliwe jest również użycie if… else
instrukcji wewnątrz if… else
instrukcji. Nazywa się to if… else
instrukcją zagnieżdżoną .
Oto program do znalezienia największej z 3 liczb przy użyciu instrukcji zagnieżdżonej if… else
.
Przykład 5: zagnieżdżona instrukcja if… else
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); ) )
Wyjście :
Największa liczba: 4.5
W powyższych programach sami przypisaliśmy wartości zmiennych, aby to ułatwić.
Jednak w rzeczywistych aplikacjach wartości te mogą pochodzić z danych wejściowych użytkownika, plików dziennika, przesłanych formularzy itp.