Průvodce pro logické a relační operátory v Javě pro začátečníky

Průvodce pro logické a relační operátory v Javě pro začátečníky

Operátory jsou symboly používané k provádění operací s hodnotami, proměnnými nebo příkazy. Výrazy, na kterých tyto akce provádějí, se nazývají operandy. Operace vrací logický výsledek (true nebo false) pro relační, rovnost a logické operátory.





Počet operandů, které operátor provede, určuje jeho typ. Operátor, který má jeden operand, se nazývá „unární“. Operátor, který má dva operandy, se nazývá „binární“.





Pokračujte v čtení, abyste zjistili, jak můžete v Javě používat logické a relační operátory. Ještě lépe, většina programovacích jazyků používá stejné operátory, takže tyto znalosti můžete uplatnit i jinde.





Logičtí operátoři

Používají se k vytváření logických příkazů při programování. V Javě je šest logických operátorů. Níže uvedená tabulka je shrnuje.

OperátornázevTyp
|Logická logická operace NEBOBinární
&Logická logická ANDBinární
^Logická exkluzivní logická hodnota NEBOBinární
||Podmíněné NEBOBinární
&&Podmíněné ANDBinární
!Logické NEUnární

Pokud chcete zkontrolovat, zda je splněna jedna nebo obě podmínky, použijte tento operátor. Podmínka je výraz, který může být pravdivý nebo nepravdivý.



Boolean Logical Inclusive NEBO (|)

Logický NEBO před vyhodnocením výrazu zkontroluje, zda jsou oba operandy pravdivé.

if ( dob <2005 | height <= 5){
money++;
}

Výše uvedený příklad poskytne někomu více peněz, pokud je jeho datum narození (dob) menší než 2005 nebo pokud je jeho výška menší nebo rovna 5 stop.





Logická logická AND (&)

Tento operátor slouží ke kontrole, zda jsou splněny obě podmínky, než v programu použijete určitou cestu spuštění. Před vyhodnocením celého výrazu nejprve zkontroluje, zda jsou splněny obě podmínky.

Související: Jak ověřit řetězce pomocí booleovských metod v Pythonu





Logická exkluzivní logická NEBO (^)

Pokud chcete zkontrolovat, zda je splněna jedna z podmínek, ale ne obě, pak je toto operátor, který má použít. Níže uvedená tabulka pravdy shrnuje výsledky, které uvidíte, když ji použijete.

výraz 1výraz 2výraz1 ^ výraz2
NepravdivéNepravdivéNepravdivé
Nepravdivéskutečnýskutečný
skutečnýNepravdivéskutečný
skutečnýskutečnýNepravdivé

Logická podmínka AND (&&)

Tento operátor je podobný logickému AND. Rozdíl je v tom, že nejprve zkontroluje, zda je podmínka vlevo pravdivá, a poté přejde ke kontrole té napravo.

Pokud je levá část shledána nepravdivou, provádění se okamžitě zastaví. Jinak bude hodnocení pravé části pokračovat. Tato funkce je známá jako vyhodnocení zkratu.

V níže uvedené tabulce pravdy můžete porozumět tomuto operátorovi.

výraz 1výraz 2výraz1 && výraz2
NepravdivéNepravdivéNepravdivé
NepravdivéskutečnýNepravdivé
skutečnýNepravdivéNepravdivé
skutečnýskutečnýskutečný

Podmíněné NEBO (||)

Pokud je některá z podmínek nepravdivá, provedení přeskočí na další část programu. Jinými slovy, obě podmínky musí být splněny.

Tento operátor je podobný logickému NEBO. Před spuštěním určitého kódu také zkontroluje, zda je splněna jedna nebo obě podmínky.

Podobně jako podmíněné AND, logické NEBO také používá vyhodnocení zkratu. Před vyhodnocením toho napravo nejprve zkontroluje, zda je operand na levé straně pravdivý.

Příbuzný: Co je to konstruktor v Javě a jak jej používáte?

zrcadlete svůj Mac bezdrátově na vašem roce

Pokud je podmínka vlevo shledána pravdivou, není třeba zaškrtávat tu správnou. V opačném případě bude hodnocení napravo pokračovat.

Logické NE (!)

Tento operátor slouží k negaci podmínky. Jednoduše převrací smysl toho, na čem funguje.

if(!(x>5)){
// statements
}

Výše uvedené prohlášení znamená, že pokud 'x je větší než 5' NENÍ NENÍ pravda, proveďte příkazy uvnitř -li .

Všimněte si použití kulatých závorek s výrazem (x> 5). Pokud při psaní programu tyto závorky nezahrnete, zobrazí se chyba při kompilaci. Důvodem je, že ! je unární operátor, který jedná za podmínky. Bez závorek by jej překladač interpretoval jako operátor působící na x, ne x> 5.

Zahrnutí závorek není jen pro umožnění kompilátoru správně interpretovat výraz. Mohou být také použity jako způsob, jak programátor lépe porozumí složitějším výrazům. Podívejte se na příklad níže:

age >= 7 && height <5

Pro některé lidi je těžké logiku dodržet. Někteří programátoři proto z důvodu čitelnosti raději přidávají nadbytečné závorky:

(age >= 7) && (height <5)

Relační operátoři

Tyto operátory slouží k porovnání jednoduchých vztahů mezi operandy.

Operátornázev
>Větší než
<Méně než
> =Větší než nebo rovno
<=Méně než nebo rovno

Relační operátory jsou poměrně snadno pochopitelné, protože všechny mají stejný význam jako obvyklé algebraické operátory, které již znáte. To znamená, > a < mají stejný význam, který již znáte, jako ten, který je uveden v tabulce výše.

if( x <= 7 ){
x++;
}

Výše -li příkaz zkontroluje, zda x je menší nebo rovno 7. Pokud je true, příkazy v závorkách se spustí, jinak ne.

Nyní by bylo vhodné zmínit operátory rovnosti. Jsou jen dva (rovni, == a! =, Nerovný se). Jak naznačuje jejich název, používají se k testování rovnosti mezi dvěma operandy.

Příbuzný: Jak vytvářet a provádět operace na polích v Javě

Operátor rovnosti (==) nesmí být zaměňován s operátorem přiřazení (=). Začátečníci programátoři rádi tyto dva směšují. To je rozumné, protože v algebře se symbol (=) používá k vyjádření rovnosti. To však není v programování správné.

Operátor přiřazení (=) přiřadí hodnotu proměnné, zatímco operátor rovnosti (==) testuje rovnost. Rozdíl pochopíte v následujícím příkladu:

if(x=5){
// statements
}

Výše uvedený kód se vždy spustí bez ohledu na to, zda je x ve skutečnosti rovno 5. Mezitím se níže uvedený kód spustí pouze v případě, že x je rovno 5. Proto je důležité tyto dva kódy nemíchat.

if(x==5){
// statements
}

Dva uvedené operátory rovnosti mají stejnou úroveň priority, i když nižší než relační operátory.

Relační operátoři mají také stejnou úroveň priority. Provádění těchto operátorů začíná zleva doprava.

Další úvahy o operátorech Java

Určitě jste si všimli, že v některých příkladech je mezera mezi některými operátory a jejich operandy, zatímco v jiných není.

Absence/přítomnost tohoto prostoru by vás neměla znepokojovat. Kompilátor to bude ignorovat. Následující výrazy tedy znamenají totéž:

Y>=7 // no whitespace
Y >= 7 // with whitespace

Relační operátory se obecně používají k vyjádření jednoduchých podmínek. Chcete -li kombinovat jednoduché podmínky do složitějších, budete muset použít logické operátory. Logické operátory mohou testovat více podmínek, na rozdíl od relačních operátorů, které testují pouze jednu podmínku.

Je také důležité si uvědomit, že logické operátory (|, &, ^) mohou být bitové operátory, pokud mají integrované operandy. Při použití jako bitové operátory budou operovat na bitech svých operandů.

S těmito znalostmi operátorů byste se nyní měli připravovat na výuku tříd Java.

Podíl Podíl tweet E-mailem Naučte se vytvářet třídy v Javě

Pokud se učíte programovat v Javě, budete potřebovat vědět, jak vytvářet třídy.

Číst dále
Související témata
  • Programování
  • Jáva
  • Návody na kódování
O autorovi Jerome Davidson(22 článků zveřejněno)

Jerome je spisovatelem štábu v MakeUseOf. Zabývá se články o programování a Linuxu. Je také nadšencem kryptoměn a vždy má přehled o krypto průmyslu.

Více od Jerome Davidsona

Přihlaste se k odběru našeho zpravodaje

Připojte se k našemu zpravodaji a získejte technické tipy, recenze, bezplatné elektronické knihy a exkluzivní nabídky!

Kliknutím sem se přihlásíte k odběru