1. Boolean
típus
Mint már láttuk, a Java rendkívül hasznos if-else
kijelentéssel rendelkezik. Egy utasításblokkot hajt végre, ha a zárójelben lévő feltétel igaz, és egy második utasításblokkot, ha a feltétel hamis.
Az igaz vagy hamis kifejezésekkel végzett munka kényelme érdekében a Java alkotója hozzáadta a speciális boolean
típust. Fő jellemzője, hogy az ilyen típusú változók csak két értéket vehetnek fel: true
és false
.
Lehetetlen más értéket hozzárendelni a változókhoz boolean
. A fordító nem engedi.
És miért van szükségünk egy ilyen primitív típusra?
Nos, az a jó, hogy logikai kifejezések értékeinek tárolására használható. Példa:
Kód | Magyarázat |
---|---|
|
A logikai isOK változó tartalmazza az értékettrue |
|
A logikai hasError változó tartalmazza az értéketfalse |
|
A logikai isSenior változó tartalmazza az értékettrue |
|
A logikai hasNewRecord változó tartalmazza az értékettrue |
|
A logikai A logikai |
2. Logikai változók használata
A logikai változóknak nem sok haszna lenne, ha csak a kifejezések eredményeit tudnák tárolni. Itt az a lényeg, hogy te is használhatod őket. Ahol? Bárhol, ahol logikai kifejezést írhat.
Például használhat logikai változót egy if
utasítás feltételében:
Kód | Egyenértékű |
---|---|
|
|
Ebben a példában kevés haszon származik a csere végrehajtásából, de amikor a programok növekednek, a feltételek bonyolultabbá válnak. Erről a közeljövőben meg fog győződni.
3. Összehasonlító operátorok
A Java-ban, akárcsak más programozási nyelvekben, gyakran szükséges a változók összehasonlítása egymással. A Java-ban pedig csak az összehasonlításhoz szükséges operátorok vannak:
Operátor | Magyarázat | Példa |
---|---|---|
< |
Kevesebb, mint | a < 10 |
> |
Nagyobb, mint | b > a |
<= |
Kisebb vagy egyenlő | a <= 10 |
>= |
Nagyobb vagy egyenlő | speed >= max |
== |
Egyenlő | age == 18 |
!= |
Nem egyenlő | time != 0 |
A fenti operátorok logikai kifejezések előállítására szolgálnak. Az eredmények változókban tárolhatók, boolean
vagy egy utasítás feltételeként használhatók if
.
A két karakterből álló operátorok nem oszthatók szét.
Más szavakkal, az ehhez hasonló kód nem fordítható le:
a < = 10
speed > = max
age = = 18
time ! = 0
Vegye figyelembe, hogy nincsenek =>
vagy =<
operátorok. Csak a <=
és >=
operátorok. Ha beírod , a kódod egyszerűen nem fordítható le.a=< 3
Java nyelven nem írhat olyan kifejezést, mint . Végül is a kifejezés vagy -ra lesz kiértékelve . És nem tudja elvégezni az összehasonlítást (a típusok különbözőek). Legalábbis Java-ban.18 < age < 65
18 < age
true
false
true < 65
Mit lehet tenni? Erre a kérdésre a következő leckében megtalálja a választ.