Java Instrukcja if

Wiki Text
Section body

Instrukcja if umożliwia warunkowe wykonywanie innych instrukcji. Warunek ten jest określany na podstawie wyrażenia logicznego podanego bezpośrednio po słowie kluczowym if. 

Instrukcja warunkowa if umożliwia wykonanie sekwencji innych instrukcji, jeśli testowane przez nią wyrażenie logiczne jest prawdziwe. Jeśli wyrażenie nie jest prawdziwe, dodatkowe instrukcje są pomijane lub wykonywana jest sekwencja instrukcji umieszczonych po opcjonalnej klauzuli else.

instrukcja if umożliwia wykonanie innych instrukcji w zależności od wartości 

umieszczonego po niej wyrażenia logicznego.  jeśli wartość wyrażenia jest logiczna prawda innego instrukcja zostaną wykonane w przeciwnym wypadku z

Section title

Składnia

Section image
Obraz
Start Condition If block Stop else block False True Viewer does not support full SVG 1.1
Section body
if (condition)
  statement;
else
  statement;

gdzie 

  • condition - dowolne wyrażenie logiczne
  • statement - dowolna instrukcja lub blok instrukcji

W języku Java z instrukcją if można używać wyłącznie wyrażeń logicznych.

Section title

Warianty składni

Section body
if (true)
    System.out.println("Prawda zawsze wyjdzie na jaw.");
//Prawda zawsze wyjdzie na jaw.

ddd

if (0 > 1)
    System.out.println("0 jest większe niż 1");
else
    System.out.println("0 nie jest większe niż 1");
//0 nie jest większe niż 1

ccc

if (4 % 2 == 0) {
    System.out.println("4 dzieli się przez 2");
    System.out.println("4 jest liczba parzystą");
} else {
    System.out.println("4 nie dzieli się przez 2");
}
//4 dzieli się przez 2
//4 jest liczba parzystą
if (true)
    if (false)
        System.out.println("b!");
else System.out.println("dangling else problem!");  // "dangling else problem"
//dangling else problem!
if (4 < 1)
    System.out.println("4 jest  mniejsze niż 1");
else if (4 == 1)
    System.out.println("4 jest równe 1");
else if (4 > 1)
    System.out.println("4 jest większe od 1");
//4 jest większe od 1

if ("abc".length() > "abcd".length()) {
    System.out.println("\"abc\" jest dłuższe niż \"abcd\"");
} else if ("abc".length() < "abcd".length()) {
    System.out.println("\"abc\" jest krótsze od \"abcd\"");
} else if ("abc".length() == "abcd".length()) {
    System.out.println("\"abc\" jest równe \"abcd\"");
}
//"abc" jest krótsze od "abcd"
if (1 < 10) if (1 % 2 != 0) 
    System.out.println("1 jest mniejsze od 10 i nieparzyste");
//1 jest mniejsze od 10 i nieparzyste

int a = 5, b = 10;
if (a < b) {
    if (b % a == 0) {
        System.out.println("b dzieli się przez a");
    }
} else {
    System.out.println("a nie jest większe niż b");
}
//b dzieli się przez a

 

Section title

Operator warunkowy

Section body

Conditional operator, ternary operator

Section title

Przykładowy program

Section body
package eu.kgnet.interlang;

import java.util.Random;

public class Main {
    public static void main(String[] args) {
        Random r = new Random();
        int number = r.nextInt(100);
        if (number % 2 == 0) {
            System.out.println("Wylosowano liczbę parzystą: " + number);
            if (number % 4 == 0) {
                System.out.println("Wylosowano liczbę podzielną przez cztery.");
            }
        } else {
            System.out.println("Wylosowano liczbę nieparzystą: " + number);
            if (number < 21) {
                System.out.println("Wylosowano liczbę mniejszą niż 21");
            } else if (number == 21) {
                System.out.println("Wylosowano liczbę 21");
            } else {
                System.out.println("Wylosowano liczbę większą niż 21");
            }
        }
    }
} //losowe wyniki