Una guia per a principiants sobre operadors lògics i relacionals a Java

Una guia per a principiants sobre operadors lògics i relacionals a Java

Els operadors són símbols que s’utilitzen per realitzar operacions sobre valors, variables o sentències. Les expressions en què realitzen aquestes accions s’anomenen operands. Les operacions retornen un resultat booleà (veritable o fals) per a operadors relacionals, d'igualtat i lògics.





El nombre d'operands que pren un operador determina el seu tipus. Un operador que pren un operant es diu 'unari'. Un operador que pren dos operands es diu 'binari'.





Seguiu llegint per obtenir informació sobre com podeu utilitzar operadors lògics i relacionals a Java. Millor encara, la majoria dels llenguatges de programació utilitzen els mateixos operadors perquè pugueu aplicar aquest coneixement en altres llocs.





Operadors lògics

S'utilitzen per construir sentències lògiques durant la programació. Hi ha sis operadors lògics a Java. La taula següent els resumeix.

OperadorNomTipus
|OR lògica booleanaBinari
&Lògica booleana IBinari
^Lògica booleana exclusiva OBinari
||OR condicionalBinari
&&Condicional ANDBinari
!Lògic NOUnari

Si voleu comprovar si una o ambdues condicions són certes, utilitzeu aquest operador. Una condició és una expressió que pot ser veritable o falsa.



Boolean Logical Inclusive OR (|)

L’OR lògic comprova si els dos operands són certs abans d’avaluar l’expressió.

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

L'exemple anterior donarà a algú més diners si la seva data de naixement (dob) és inferior al 2005 o si la seva alçada és inferior o igual a 5 peus.





Lògica booleana I (&)

Aquest operador s’utilitza per comprovar si ambdues condicions són certes abans d’agafar un camí d’execució determinat al programa. Primer comprova si les dues condicions són certes abans d’avaluar l’expressió sencera.

Relacionat: Com validar cadenes mitjançant mètodes booleans a Python





Lògica booleana exclusiva OR (^)

Si voleu comprovar si una de les condicions és certa, però no totes dues, aquest és l'operador que cal utilitzar. La taula de veritat següent resumeix els resultats que veureu quan l’utilitzeu.

expression1expressió2expression1 ^ expression2
falsfalsfals
falscertcert
certfalscert
certcertfals

Condicional booleà AND (&&)

Aquest operador és similar al AND lògic. La diferència és que primer comprova si la condició de l'esquerra és certa abans de passar per comprovar la de la dreta.

Si es constata que la part esquerra és falsa, l'execució s'atura immediatament. En cas contrari, es continuarà avaluant la part correcta. Aquesta característica es coneix com a avaluació de curtcircuits.

Consulteu la taula de veritat següent per confirmar la vostra comprensió d’aquest operador.

expression1expressió2expression1 && expression2
falsfalsfals
falscertfals
certfalsfals
certcertcert

OR condicional (||)

Si alguna de les condicions és falsa, l'execució passarà a la següent part del programa. En altres paraules, les dues condicions han de ser certes.

Aquest operador és similar al OR lògic. També comprova si una o les dues condicions són certes abans d'executar determinat codi.

De manera similar al AND condicional, l'OR lògic també utilitza l'avaluació de curtcircuits. Primer comprova si l’operant de l’esquerra és cert abans d’avaluar el de la dreta.

Relacionat: Què és un constructor a Java i com s'utilitza?

com crear una línia en word

Si es troba que la condició de l’esquerra és certa, no cal que comproveu la de la dreta. En cas contrari, continuarà l’avaluació cap a la dreta.

Lògic NO (!)

Aquest operador s'utilitza per negar una condició. Simplement inverteix el significat del que està operant.

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

L'afirmació anterior significa que si 'x és superior a 5' NO és cert, executeu les sentències dins del fitxer si .

Fixeu-vos en l’ús de claudàtors rodons amb l’expressió (x> 5). Si no incloeu aquests claudàtors mentre escriviu el programa, obtindreu un error de compilació. La raó és perquè ! és un operador unari que actua en una condició. Sense els claudàtors, el compilador l’interpretaria com l’operador que actua sobre la x, no x> 5.

La inclusió de claudàtors no és només per permetre al compilador interpretar correctament una expressió. També es poden utilitzar com una manera perquè el programador entengui millor expressions més complexes. Mireu l'exemple següent:

age >= 7 && height <5

És possible que a algunes persones els costi seguir la lògica. Per tant, alguns programadors prefereixen afegir parèntesis redundants per motius de llegibilitat:

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

Operadors relacionals

Aquests operadors s’utilitzen per comparar relacions simples entre operands.

OperadorNom
>Més gran que
<Menys que
> =Superior o igual a
<=Menys o igual a

Els operadors relacionals són bastant fàcils d’entendre perquè tots tenen el mateix significat que els operadors algebraics habituals que ja coneixeu. Això es per dir, > i < tenen el mateix significat que ja coneixeu que el que apareix a la taula anterior.

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

El de sobre si sentència comprova si x és menor o igual a 7. Si és cert, les sentències dins dels claudàtors s'executen, en cas contrari no ho fan.

Ara seria un bon moment per esmentar els operadors d’igualtat. N’hi ha només dos (igual a, == i! =, No igual a). Com el seu nom indica, s’utilitzen per provar la igualtat entre dos operands.

Relacionat: Com crear i realitzar operacions en matrius a Java

No s'ha de confondre l'operador d'igualtat (==) amb l'operador d'assignació (=). Als programadors principiants els agrada barrejar els dos. Això és raonable ja que en l'àlgebra s'utilitza el símbol (=) per expressar la igualtat. Però això no és correcte en programació.

L'operador d'assignació (=) assigna un valor a una variable mentre l'operador d'igualtat (==) prova la igualtat. Vegeu l'exemple següent per entendre la diferència:

if(x=5){
// statements
}

El codi anterior sempre s’executarà independentment de si x és realment igual a 5. Mentrestant, el codi següent només s’executarà si x és igual a 5. Per tant, és important no barrejar-ne els dos.

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

Els dos operadors d’igualtat esmentats tenen el mateix nivell de precedència, tot i que inferior al dels operadors relacionals.

Els operadors relacionals també tenen el mateix nivell de precedència. L’execució d’aquests operadors comença d’esquerra a dreta.

Més consideracions sobre els operadors Java

Heu d’haver observat que hi ha espais en blanc entre alguns operadors i els seus operands en alguns exemples, mentre que en d’altres no n’hi ha.

L’absència / presència d’aquest espai no us hauria de preocupar. El compilador l’ignorarà. Per tant, les expressions següents signifiquen el mateix:

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

Els operadors relacionals s’utilitzen generalment per expressar condicions simples. Per combinar condicions simples en condicions més complexes, haureu d'utilitzar operadors lògics. Els operadors lògics poden provar diverses condicions, a diferència dels operadors relacionals que només proven una condició.

També és important tenir en compte que els operadors lògics (|, &, ^) poden ser operadors de bits quan tenen operands integrals. Quan s’utilitzen com a operadors de bits, funcionaran als bits dels seus operands.

Amb aquest coneixement dels operadors, ara hauríeu de preparar-vos per aprendre classes de Java.

Compartir Compartir Tweet Correu electrònic Apreneu a crear classes a Java

Si esteu aprenent a programar a Java, haureu de saber crear classes.

Llegiu a continuació
Temes relacionats
  • Programació
  • Java
  • Tutorials de codificació
Sobre l'autor Jerome Davidson(22 articles publicats)

Jerome és escriptor de personal de MakeUseOf. Cobreix articles sobre programació i Linux. També és un entusiasta de la criptografia i manté sempre al dia la indústria de la criptografia.

Més de Jerome Davidson

Subscriu-te al nostre butlletí

Uniu-vos al nostre butlletí per obtenir consells tècnics, ressenyes, llibres electrònics gratuïts i ofertes exclusives.

Feu clic aquí per subscriure-us