if
1. Kijelentések sorrendje
Néha egy programnak sok különböző műveletet kell végrehajtania egy változó értékétől vagy egy kifejezés értékétől függően.
Tegyük fel, hogy a feladatunk a következő:
- Ha a hőmérséklet magasabb, mint
20
a fok, akkor vegyen fel egy inget - Ha a hőmérséklet foknál nagyobb
10
és kisebb (vagy egyenlő)20
, akkor vegyen fel egy pulóvert - Ha a hőmérséklet magasabb, mint
0
fok és kisebb (vagy egyenlő)10
, akkor vegyen fel esőkabátot - Ha a hőmérséklet foknál alacsonyabb
0
, akkor vegyen fel egy kabátot.
Ezt a következőképpen lehet kódban ábrázolni:
int temperature = 9;
if (temperature > 20)
System.out.println("put on a shirt");
else // Here the temperature is less than (or equal to) 20
{
if (temperature > 10)
System.out.println("put on a sweater");
else // Here the temperature is less than (or equal to) 10
{
if (temperature > 0)
System.out.println("put on a raincoat");
else // Here the temperature is less than 0
System.out.println("put on a coat");
}
}
If-else
Az utasítások egymásba ágyazhatók. Ez lehetővé teszi meglehetősen összetett logika megvalósítását egy programban.
A fenti példa azonban abból a szempontból is érdekes, hogy kicsit egyszerűbbé tehetjük a kódot a kapcsos kapcsos zárójelek elhagyásával:
int temperature = 9;
if (temperature > 20)
System.out.println("put on a shirt");
else // Here the temperature is less than (or equal to) 20
if (temperature > 10)
System.out.println("put on a sweater");
else // Here the temperature is less than (or equal to) 10
if (temperature > 0)
System.out.println("put on a raincoat");
else // Here the temperature is less than 0
System.out.println("put on a coat");
A programozók azonban általában egy kicsit másképp írják ezt a konstrukciót:
int temperature = 9;
if (temperature > 20)
System.out.println("put on a shirt");
else if (temperature > 10) // Here the temperature is less than (or equal to) 20
System.out.println("put on a sweater");
else if (temperature > 0) // Here the temperature is less than (or equal to) 10
System.out.println("put on a raincoat");
else // Here the temperature is less than 0
System.out.println("put on a coat");
Mindhárom példa egyenértékű.
else
2. A blokk árnyalatai
Ha nem használ göndör kapcsos zárójelet egy konstrukcióban if-else
, akkor else
a legközelebbi előzőre hivatkozik if
.
Példa:
A kódunk | Hogyan fog működni |
---|---|
|
|
Ha megnézed a bal oldali kódot, úgy tűnik, hogy a képernyőn a "Nem kell dolgozni" lesz a kimenet. De ez nem így van. A valóságban a else
blokk és a "Nem kell dolgozni" utasítás a második (a közelebbi) utasításhoz kapcsolódik if
.
A jobb oldali kódban a kapcsolódó if
és else
pirossal vannak kiemelve. Ezenkívül a göndör zárójelek egyértelműen vannak elhelyezve, egyértelműen megmutatva, hogy milyen műveleteket kell végrehajtani. Soha nem jelenik meg a Nem kell dolgozni karakterlánc , ha age
nagyobb, mint 60
?
if-else
3. Példa egy utasítás használatára
Mivel olyan jól megvizsgáltuk az if-else
állítást, mondjunk egy példát:
import java.util.Scanner;
public class Solution {
public static void main(String[] args)
{
Scanner console = new Scanner(System.in); // Create a Scanner object
int a = console.nextInt(); // Read the first number from the keyboard
int b = console.nextInt(); // Read the second number from the keyboard
if (a < b) // If a is less than b
System.out.println(a); // we display a
else // otherwise
System.out.println(b); // we display b
}
}
GO TO FULL VERSION