Et foredragsuddrag med en mentor som en del af Codegym University-kurset. Tilmeld dig hele kurset.


"Hej, Amigo. Lad mig fortælle dig om en ny datatype. Den boolske . Variabler af denne type kan kun have to værdier: sand og falsk . "

"Hvordan bruger vi det?"

"Denne type er implicit brugt mange steder. Ligesom enhver additionsoperation producerer et tal, er resultatet af enhver sammenligning en boolesk . Her er nogle eksempler:"

Kode Forklaring
1
boolean m;
Disse to udtryk er ækvivalente. Standardværdien for en boolesk variabel er falsk .
2
boolean m = false;
3
if (a > b)
    System.out.println(a);
Resultatet af sammenligningen (enten sand eller falsk ) vil blive tildelt variablen m. Betingelsen er opfyldt, hvis udtrykket evalueres til sandt .
4
boolean m = (a > b);
if (m)
    System.out.println(a);
5
boolean m = (a > b);
if (m == true)
    System.out.println(a);
Der er ingen grund til at sammenligne en logisk ( boolesk ) variabel med sand eller falsk . Resultatet af sammenligningen vil være en boolean , der matcher den anden variabel. For eksempel, sand == sand evalueres til sand; true == falsk evalueres til falsk .
6
boolean m = (a > b);
if (m)
    System.out.println(a);

"Flere eksempler:"

Kode Forklaring
1
public boolean isALessThanB (int a, int b)
{
    if (a < b)
        return true;
    else
        return false;
}
Denne metode verificerer, at nummer a er mindre end nummer b.

Her er fire tilsvarende sammenligninger. Den sidste er den mest kompakte og korrekte. Prøv altid at bruge kompakt notation.

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

"Hvad hvis jeg vil skrive 0<a<b?"

"Java har ikke en sammenligningsoperator, der tager tre operander. Så du skal gøre det sådan her: (0<a) OG (a<b) ."

"Skriver jeg ordet OG?"

"Vent. Jeg skal forklare det. Java har tre logiske operatorer: AND , OR og NOT . Du kan bruge dem til at konstruere betingelser af varierende kompleksitet. Du kan kun bruge disse operatorer med booleske udtryk. Så du kan ikke skrive ( a+1) OG (3) , men (a>1)AND (a<3) er OK."

" NOT- operatoren er unær: den påvirker kun udtrykket til højre. Det er mere som et minustegn før et negativt tal snarere end et multiplikationstegn mellem to tal."

"Du kan udføre forskellige operationer på booleske (logiske) variabler."

"Som hvad?"

"Lad os se:"

Logisk operator Java notation Udtryk Resultat
OG && sandt  &&  sandt rigtigt
sandt &&  falsk falsk
falsk  &&  sand falsk
falsk && falsk falsk
ELLER || sandt || rigtigt rigtigt
sandt || falsk rigtigt
falsk || rigtigt rigtigt
falsk || falsk falsk
IKKE ! ! rigtigt falsk
! falsk rigtigt
Almindelige kombinationer og udtryk m && !m falsk
m || !m rigtigt
! (a && b) !a || !b
! (a || b) !a && !b

"Kan du give mig flere eksempler?"

"Jo da:"

Java notation Logisk notation
(a<3) && (a>0) (a < 3) OG (a>0)
(a>10) || (a<100) (a>10) ELLER (a<100)
(a<b) && (!(c<=d)) (a<b) OG (IKKE (c<=d))

"Gør nu nogle opgaver."

4
Opgave
Java Syntax,  niveaulektie
Låst
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!