En begyndervejledning til logiske og relationelle operatører i Java

En begyndervejledning til logiske og relationelle operatører i Java

Operatører er symboler, der bruges til at udføre operationer på værdier, variabler eller udsagn. De udtryk, som de udfører disse handlinger på, kaldes operander. Operationerne returnerer et boolsk resultat (sandt eller falsk) for relationelle, ligestillede og logiske operatorer.





Antallet af operander, en operatør tager, bestemmer dens type. En operatør, der tager en operand, kaldes 'unary'. En operator, der tager to operander, kaldes 'binær'.





Læs videre for at lære, hvordan du kan bruge logiske og relationelle operatorer i Java. Endnu bedre, de fleste programmeringssprog bruger de samme operatører, så du kan anvende denne viden andre steder.





Logiske operatører

De bruges til at opbygge logiske udsagn under programmeringen. Der er seks logiske operatorer i Java. Tabellen nedenfor opsummerer dem.

OperatørNavnType
|Boolsk logisk ELLERBinær
&Boolsk logisk OGBinær
^Boolsk logisk eksklusiv ELLERBinær
||Betinget ELLERBinær
&&Betinget OGBinær
!Logisk IKKEUnary

Hvis du vil kontrollere, om en eller begge betingelser er sande, skal du bruge denne operator. En betingelse er et udtryk, der enten kan være sandt eller falsk.



Boolsk logisk inklusiv ELLER (|)

Det logiske ELLER kontrollerer, om begge operander er sande, før udtrykket evalueres.

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

Ovenstående eksempel vil give nogen flere penge, hvis deres fødselsdato (dob) er mindre end 2005, eller hvis deres højde er mindre end eller lig med 5 fod.





Boolsk logisk OG (&)

Denne operatør bruges til at kontrollere, om begge betingelser er sande, før man tager en bestemt udførelsessti i programmet. Den kontrollerer først, om begge betingelser er sande, før hele udtrykket evalueres.

Relateret: Sådan valideres strenge ved hjælp af boolske metoder i Python





Boolsk logisk eksklusiv ELLER (^)

Hvis du vil kontrollere, om en af ​​betingelserne er opfyldt, men ikke begge dele, så er dette operatøren, der skal bruges. Sandhedstabellen nedenfor opsummerer de resultater, du vil se, når du bruger den.

udtryk1udtryk2udtryk1 ^ udtryk2
falskfalskfalsk
falsksandsand
sandfalsksand
sandsandfalsk

Boolsk betinget OG (&&)

Denne operator ligner den logiske AND. Forskellen er, at den først kontrollerer, om betingelsen til venstre er sand, før den går videre for at kontrollere den til højre.

Hvis det viser sig, at den venstre del er falsk, stopper udførelsen med det samme. Ellers fortsætter evalueringen af ​​den rigtige del. Denne funktion kaldes kortslutningsevaluering.

Se sandhedstabellen nedenfor for at begrunde din forståelse af denne operatør.

udtryk1udtryk2expression1 && expression2
falskfalskfalsk
falsksandfalsk
sandfalskfalsk
sandsandsand

Betinget ELLER (||)

Hvis en af ​​betingelserne er falsk, springes udførelsen til den næste del af programmet. Med andre ord skal begge betingelser være sande.

Denne operator ligner den logiske ELLER. Det kontrollerer også, om enten den ene eller begge betingelser er sande, før en bestemt kode udføres.

I lighed med den betingede AND bruger den logiske OR også kortslutningsvurdering. Den kontrollerer først, om operanden til venstre er sand, før den evalueres til højre.

Relaterede: Hvad er en konstruktør i Java, og hvordan bruger du det?

hvordan man bruger efterskole -app uden facebook

Hvis tilstanden til venstre viser sig at være sand, er det ikke nødvendigt at kontrollere den til højre. Ellers fortsætter evalueringen til højre.

Logisk IKKE (!)

Denne operatør bruges til at ophæve en tilstand. Det vender simpelthen betydningen af, hvad det opererer på.

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

Ovenstående sætning betyder, at hvis 'x er større end 5' IKKE er sandt, skal du udføre udsagnene inde i hvis .

Bemærk brugen af ​​runde parenteser med udtrykket (x> 5). Hvis du ikke inkluderer disse parenteser, mens du skriver dit program, får du en kompileringstidsfejl. Årsagen er fordi ! er en unary operatør, der handler på en betingelse. Uden parenteserne ville kompilatoren tolke det som operatøren, der handler på x, ikke x> 5.

Inkluderingen af ​​parenteser er ikke kun for at sætte kompilatoren i stand til korrekt at fortolke et udtryk. De kan også bruges som en måde for programmereren til bedre at forstå mere komplekse udtryk. Se eksemplet herunder:

age >= 7 && height <5

Nogle mennesker kan have svært ved at følge med logikken. Derfor foretrækker nogle programmører at tilføje redundante parenteser af læsbarhedsmæssige årsager:

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

Relationsoperatører

Disse operatører bruges til at sammenligne simple relationer mellem operander.

OperatørNavn
>Bedre end
<Mindre end
> =Større end eller lig med
<=Mindre end eller lig med

Relationsoperatorer er ret lette at forstå, fordi de alle har samme betydning som de sædvanlige algebraiske operatorer, du allerede kender. Det vil sige, > og < har den samme betydning, du allerede kender som den, der er angivet i tabellen ovenfor.

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

Ovenstående hvis sætning kontrollerer, om x er mindre end eller lig med 7. Hvis det er sandt, udføres udsagnene inden for parenteserne, ellers gør de det ikke.

Nu ville det være et godt tidspunkt at nævne ligestillingsoperatører. Der er kun to af dem (lig med, == og! =, Ikke lig med). Som deres navn antyder, er de vant til at teste lighed mellem to operander.

Relaterede: Sådan oprettes og udføres operationer på arrays i Java

Lighedsoperatøren (==) må ikke forveksles med tildelingsoperatoren (=). Begyndende programmører er glade for at blande de to. Dette er rimeligt, da symbolet (=) i algebra bruges til at udtrykke lighed. Det er dog ikke rigtigt i programmering.

Tildelingsoperatoren (=) tildeler en værdi en variabel, mens lighedsoperatoren (==) tester for lighed. Se eksemplet herunder for at forstå forskellen:

if(x=5){
// statements
}

Ovenstående kode udføres altid, uanset om x faktisk er lig med 5. I mellemtiden udføres nedenstående kode kun, hvis x er lig med 5. Derfor er det vigtigt ikke at blande de to.

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

De to nævnte ligestillingsoperatører har samme prioritet, dog lavere end relationelle operatørers.

Relationsoperatører har også samme prioritet. Udførelsen af ​​disse operatører begynder fra venstre mod højre.

Yderligere overvejelser om Java -operatører

Du må have observeret, at der er mellemrum mellem nogle operatører og deres operander i nogle af eksemplerne, mens der i andre ikke er det.

Fraværet/tilstedeværelsen af ​​dette rum bør ikke bekymre dig. Compileren ignorerer det. Derfor betyder følgende udtryk det samme:

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

Relationsoperatorer bruges generelt til at udtrykke simple forhold. For at kombinere simple forhold til mere komplekse betingelser skal du bruge logiske operatorer. Logiske operatører kan teste flere forhold, i modsætning til relationelle operatører, der bare tester en tilstand.

Det er også vigtigt at bemærke, at de logiske operatorer (|, &, ^) kan være bitvise operatorer, når de har integrerede operander. Når de bruges som bitvise operatører, opererer de på bitene i deres operander.

Med denne viden om operatører burde du nu være klar til at lære Java -klasser.

Del Del Tweet E -mail Lær, hvordan du opretter klasser i Java

Hvis du lærer at programmere i Java, skal du vide, hvordan du opretter klasser.

Læs Næste
Relaterede emner
  • Programmering
  • Java
  • Kodning Tutorials
Om forfatteren Jerome Davidson(22 artikler udgivet)

Jerome er personaleforfatter på MakeUseOf. Han dækker artikler om programmering og Linux. Han er også en kryptoentusiast og holder altid øje med kryptoindustrien.

Mere fra Jerome Davidson

Abonner på vores nyhedsbrev

Tilmeld dig vores nyhedsbrev for at få tekniske tips, anmeldelser, gratis e -bøger og eksklusive tilbud!

Klik her for at abonnere