Podmíněný výraz
Z MiS
				
				
				
				
																
				
				
								
				
| Obsah | 
Podmíněné výrazy v jazycích Java a PHP
Následující text je velmi neformální a je určen žákům střední školy, kteří začínají s programováním. Omluvte proto častá zjednodušení.
Podmíněný výraz v Javě či PHP je výraz, jehož hodnotou je logická hodnota (pravda nebo nepravda). Výsledkem je tedy datový typ boolean.
Podmíněný výraz se jako ostatní výrazy v Javě skládá z proměnných, konstant a operátorů.
Podmíněný výraz se používá k zápisu podmínek v řídících strukturách (cyklech a větvení — podmíněných příkazech).
Zápis podmíněných výrazů (Java a PHP)
Operátory porovnání číselných hodnot
-  $a == 5
-  $a != 5(není rovno)
-  $a < 5
-  $a > 5
-  $a <= 5
-  $a >= 5
Logické hodnoty
| Hodnota | PHP i Java | 
|---|---|
| Pravda | true | 
| Nepravda | false | 
Porovnání textových řetězců
- PHP
-  Použijeme funkci strcmp(), která vrací0, pokud jsou parametry stejné řetězce:
var $t1 = "ahoj";
var $t2 = "ahoj";
if (strcmp($t1, $t2) == 0) {
    echo "Texty jsou stejné!";
}
- Více viz například: W3Schools.com → Strcmp.
- Java
-  Třída Stringmá metoduequals(), která vracítruenebofalse.
String text;
if (text.equals("abc")) {...}
Pozor! Nikdy neporovnávejte textové řetězce pomocí ==. 
-  Operátor ==testuje, jestli se jedná o stejný objekt, nikoli jestli jsou hodnoty objektů stejné.
-  Překladač se snaží zbytečně nevytvářet nové objekty třídy String, takže porovnání přes==fungovat v některých případech může. Ale nelze na to spoléhat!
Zkuste následující kód (testováno na OpenJDK 11):
String text1 = "ahoj";
String text2 = "a";
text2 += "hoj";
System.out.println("text1: "+text1+", text2: "+text2); // -> text1: ahoj, text2: ahoj
System.out.println(text1 == text2); 			// -> false (i když se jedná o stejný text
Zápis logických funkcí
| Logická funkce | PHP | Java | 
|---|---|---|
| AND | ANDnebo&& | && | 
| OR | ORnebo|| | || | 
| NOT | NOTnebo! | ! | 
| XOR | XORnebo^ | ^ | 
- Příklady Java
-  Číslo aje menší nebo rovno5a zároveň je číslobrůzné od4:
(a <= 5) && (b != 4)
-  Číslo aje větší než0nebo metodaspusteno()vrací nepravda:
(a > 0) || ! spusteno()
- Příklady PHP
($a <= 5) AND ($b != 4)
Cvičení
1. Porovnání hodnot
- Vstup: čísla K a limit.
- Zapište podmíněný výraz, který vrátí true, právě když je hodnota K alespoň o 10 větší než hodnota limit.
2. Porovnání hodnot
- Vstup: čísla A, B a C.
- Zapište podmíněný výraz, který vrátí true, právě když je hodnota A je větší než hodnota B a zároveň větší než hodnota C.
3. Číslo z intervalu
- Vstup: čísla A, B a C.
- Zapište podmíněný výraz, který vrátí true, právě když je hodnota A z intervalu <B, C>.
Související stránky
Zdroje:
- The Java Tutorials [online]. 1995, 2011 [cit. 2011-06-07]. Control Flow Statements.
-  ARCANIS. Výuka PHP a MySQL [online]. Třeboň : 2008 [cit. 2011-06-07]. Řídící struktury. 
- Dostupné z WWW: <http://arcanis.argon.cz/docs/seminarka1/index.php?incl=lekce_5>.
 
-  ARCANIS. Výuka PHP a MySQL [online]. Třeboň : 2008 [cit. 2011-06-07]. Cykly. 
- Dostupné z WWW: <http://arcanis.argon.cz/docs/seminarka1/index.php?incl=lekce_6>.
 
