Een fragment uit een lezing met een mentor als onderdeel van de Codegym University-cursus. Schrijf je in voor de volledige cursus.


"Hallo, Amigo. Laat me je vertellen over een nieuw gegevenstype. De boolean . Variabelen van dit type kunnen slechts twee waarden aannemen: waar en onwaar . "

"Hoe gebruiken we het?"

"Dit type wordt op veel plaatsen impliciet gebruikt. Net zoals elke optelbewerking een getal oplevert, is het resultaat van elke vergelijking een boolean . Hier zijn enkele voorbeelden:"

Code Uitleg
1
boolean m;
Deze twee uitdrukkingen zijn equivalent. De standaardwaarde van een booleaanse variabele is false .
2
boolean m = false;
3
if (a > b)
    System.out.println(a);
Het resultaat van de vergelijking ( true of false ) wordt aan de variabele toegewezen m. Er is aan de voorwaarde voldaan als de expressie resulteert in true .
4
boolean m = (a > b);
if (m)
    System.out.println(a);
5
boolean m = (a > b);
if (m == true)
    System.out.println(a);
Het is niet nodig om een ​​logische ( booleaanse ) variabele te vergelijken met waar of onwaar . Het resultaat van de vergelijking is een booleaanse waarde die overeenkomt met de andere variabele. True == true resulteert bijvoorbeeld in true; true == false evalueert naar false .
6
boolean m = (a > b);
if (m)
    System.out.println(a);

"Meer voorbeelden:"

Code Uitleg
1
public boolean isALessThanB (int a, int b)
{
    if (a < b)
        return true;
    else
        return false;
}
Deze methode verifieert dat nummer a kleiner is dan nummer b.

Hier zijn vier gelijkwaardige vergelijkingen. De laatste is de meest compacte en correcte. Probeer altijd compacte notatie te gebruiken.

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

"Wat als ik 0<a<b wil schrijven?"

"Java heeft geen vergelijkingsoperator die drie operanden nodig heeft. Je zou het dus als volgt moeten doen: (0<a) AND (a<b) ."

"Schrijf ik het woord EN?"

"Wacht. Ik zal dat uitleggen. Java heeft drie logische operatoren: AND , OR en NOT . Je kunt ze gebruiken om voorwaarden van verschillende complexiteit te construeren. Je kunt deze operatoren alleen gebruiken met booleaanse uitdrukkingen. Je kunt dus niet schrijven ( a+1) AND (3) , maar (a>1)AND (a<3) is OK."

"De NOT- operator is unair: het beïnvloedt alleen de uitdrukking aan de rechterkant. Het is meer een minteken voor een negatief getal dan een vermenigvuldigingsteken tussen twee getallen."

"U kunt verschillende bewerkingen uitvoeren op booleaanse (logische) variabelen."

"Zoals?"

"Laten we kijken:"

Logische operator Java-notatie Uitdrukking Resultaat
EN && waar  &&  waar WAAR
waar &&  onwaar vals
onwaar  &&  waar vals
onwaar && onwaar vals
OF || waar || WAAR WAAR
waar || vals WAAR
vals || WAAR WAAR
vals || vals vals
NIET ! ! WAAR vals
! vals WAAR
Gebruikelijke combinaties en uitdrukkingen m && !m vals
m || !M WAAR
! (een && b) !een || !B
! (een || b) !a && !b

"Kun je me meer voorbeelden geven?"

"Zeker:"

Java-notatie Logische notatie
(a<3) && (a>0) (a < 3) EN (a>0)
(a>10) || (a<100) (a>10) OF (a<100)
(a<b) && (!(c<=d)) (a<b) EN (NIET (c<=d))

"Nu, doe wat taken."

4
Taak
Java Syntax,  niveau 4les 7
Vergrendeld
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!