Instrukcja Java if ... else (z przykładami)

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… elseJavie istnieją trzy formy instrukcji.

  1. jeśli oświadczenie
  2. if… else oświadczenie
  3. if… else if… else oświadczenie
  4. 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 truelub false.

  • jeśli warunek ma wartość true, ifwykonywane są instrukcje wewnątrz treści
  • jeśli warunek ma wartość false, instrukcje wewnątrz treści ifsą pomijane

Jak działa stwierdzenie?

Działanie instrukcji if w Javie

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 ifbloku 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 ifbloku.

2. Instrukcja Java if… else (if-then-else)

ifOś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 elsebloku. Instrukcje wewnątrz treści elsebloku 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 ifbloku), jeśli warunek jest, truei inne zadanie (kody wewnątrz elsebloku), jeśli warunek jest false.

Jak działa instrukcja if… else?

Działanie instrukcji if-else w języku Java

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> 0sprawdza, czy liczba jest większa niż 0.

Ponieważ wartość liczby wynosi 10, wyrażenie testowe przyjmuje wartość true. W związku z tym ifwykonywany 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 elsewykonywany 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 ifinstrukcje są wykonywane od góry do dołu. Gdy warunek testu jest spełniony true, wykonywane są kody wewnątrz treści tego ifbloku. 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?

Działanie jeśli… inaczej… jeśli drabina

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 0
  • number < 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… elseinstrukcji wewnątrz if… elseinstrukcji. Nazywa się to if… elseinstrukcją 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.

Interesujące artykuły...