Instrukcja if
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
Składnia
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.
Warianty składni
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ż 1ccc
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
Operator warunkowy
Conditional operator, ternary operator
Przykładowy program
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