Előadásrészlet egy mentorral a Codegym University tanfolyam részeként. Jelentkezzen a teljes tanfolyamra.


"Szia, Amigo. Hadd meséljek egy új adattípusról. A logikai . Az ilyen típusú változók csak két értéket vehetnek fel: igaz és hamis . "

– Hogyan használjuk?

"Ezt a típust implicit módon sok helyen használják. Ahogy minden összeadási művelet számot ad, minden összehasonlítás eredménye logikai érték . Íme néhány példa:

Kód Magyarázat
1
boolean m;
Ez a két kifejezés egyenértékű. A logikai változó alapértelmezett értéke false .
2
boolean m = false;
3
if (a > b)
    System.out.println(a);
Az összehasonlítás eredménye ( igaz vagy hamis ) a változóhoz lesz rendelve m. A feltétel teljesül, ha a kifejezés kiértékelése igaz .
4
boolean m = (a > b);
if (m)
    System.out.println(a);
5
boolean m = (a > b);
if (m == true)
    System.out.println(a);
Nincs szükség logikai ( logikai ) változók igaz vagy hamis összehasonlítására . Az összehasonlítás eredménye egy logikai érték lesz , amely megegyezik a másik változóval. Például igaz == igaz igazra értékeli ki; igaz == false hamisra értékeli ki .
6
boolean m = (a > b);
if (m)
    System.out.println(a);

"További példa:"

Kód Magyarázat
1
public boolean isALessThanB (int a, int b)
{
    if (a < b)
        return true;
    else
        return false;
}
Ez a módszer ellenőrzi, hogy az a szám kisebb-e, mint a b.

Íme négy egyenértékű összehasonlítás. Az utolsó a legkompaktabb és leghelyesebb. Mindig próbáljon kompakt jelölést használni .

2
public boolean isALessThanB (int a, int b)
{
   boolean m = (a < b);
    if (m)
        return true;
    else
        return false;
}
3
public boolean isALessThanB (int a, int b)
{
    boolean m = (a < b);
    return m;
}
4
public boolean isALessThanB (int a, int b)
{
    return a < b;
}

"Mi van, ha 0<a<b-t akarok írni?"

"A Java-nak nincs olyan összehasonlító operátora, amely három operandust vesz fel. Tehát ezt a következőképpen kell megtennie: (0<a) ÉS (a<b) ."

– Írjam az ÉS szót?

"Várj. Elmagyarázom. A Java-nak három logikai operátora van: AND , OR és NOT . Használhatod őket változó bonyolultságú feltételek létrehozására. Ezeket az operátorokat csak logikai kifejezésekkel használhatod. Tehát nem írhatsz ( a+1) ÉS (3) , de az (a>1)ÉS (a<3) rendben van."

"A NOT operátor unáris: csak a jobb oldali kifejezést érinti. Inkább egy mínuszjel a negatív szám előtt, nem pedig egy szorzójel két szám között."

"Különféle műveleteket hajthat végre logikai (logikai) változókon."

"Mint micsoda?"

"Lássuk:"

Logikai operátor Java jelölés Kifejezés Eredmény
ÉS && igaz  és  igaz igaz
igaz és  hamis hamis
hamis  &&  igaz hamis
hamis && hamis hamis
VAGY || igaz || igaz igaz
igaz || hamis igaz
hamis || igaz igaz
hamis || hamis hamis
NEM ! ! igaz hamis
! hamis igaz
Gyakori kombinációk és kifejezések m && !m hamis
m || !m igaz
! (a && b) !a || !b
! (a || b) !a && !b

– Tudna még példákat mondani?

"Biztos:"

Java jelölés Logikai jelölés
(a<3) && (a>0) (a < 3) ÉS (a>0)
(a>10) || (a<100) (a>10) VAGY (a<100)
(a<b) && (!(c<=d)) (a<b) ÉS (NEM (c<=d))

– Most pedig csinálj néhány feladatot.

4
Feladat
Java Syntax,  szintlecke
Zárt
Labels and numbers
Not all labels are equally useful, but sometimes a lack of labels results in chaos. Let's do a task that dishes out labels: use the keyboard to enter an integer, and make the program indicate whether the number is negative or positive (or zero), and even or odd. Why do we need this? Just because, for practice. After all, we're here to learn!