CodeGym /Tanfolyamok /All lectures for HU purposes /A feltételes utasítással való munka árnyalatai

A feltételes utasítással való munka árnyalatai

All lectures for HU purposes
Szint, Lecke
Elérhető

if1. 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 20a 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 0fok é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-elseAz utasítások egymásba ágyazhatók . Ez lehetővé teszi meglehetősen összetett logika megvalósítását egy programban.

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");
}

A két példa egyenértékű, de a második könnyebben érthető.


else2. A blokk árnyalatai

Egy fontos szempont:

Ha nem használ göndör kapcsos zárójelet egy konstrukcióban if-else, akkor elsea legközelebbi előzőre hivatkozik if.

Példa:

A kódunk Hogyan fog működni
int age = 65;

if (age < 60)
   if (age > 20)
      System.out.println("You must work");
else
   System.out.println("You don't have to work");
int age = 65;

if (age < 60) {
   if (age > 20)
     System.out.println("You must work");
   else
     System.out.println("You don't have to work");
}

Ha megnézi a bal oldali kódot, úgy tűnik, hogy a képernyőn a "Nem kell dolgozni" lesz a kimenete. De ez nem így van. A valóságban a elseblokk é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 elsepirossal 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. A Nem kell dolgoznod karakterlánc soha nem jelenik meg, ha agenagyobb, mint 60.



if-else3. 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
   }
}
A minimum két szám megjelenítése
Hozzászólások
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION