Den betingede operatøren er også kjent som en ternær operatør . De betingede uttalelsene er beslutningsuttalelsene som avhenger av resultatet av uttrykket. Det er representert med to symboler, dvs. '?' og ':'.
Ettersom betinget operatør fungerer på tre operander, er den også kjent som den ternære operatøren.
Oppførselen til den betingede operatøren ligner på ' hvis-annet ' uttalelse som 'hvis-anne'-uttalelse er også en beslutningstaking.
Syntaks for en betinget operator
Expression1? expression2: expression3;
Den billedlige representasjonen av syntaksen ovenfor er vist nedenfor:
Betydningen av syntaksen ovenfor.
- I syntaksen ovenfor er expression1 en boolsk tilstand som kan være enten sann eller usann.
- Hvis expression1 resulterer i en sann verdi, vil expression2 kjøres.
- Uttrykket2 sies å være sant bare når det returnerer en verdi som ikke er null.
- Hvis expression1 returnerer falsk verdi, vil expression3 kjøres.
- Uttrykket3 sies å være usann bare når det returnerer nullverdi.
La oss forstå den ternære eller betingede operatoren gjennom et eksempel.
#include int main() { int age; // variable declaration printf('Enter your age'); scanf('%d',&age); // taking user input for age variable (age>=18)? (printf('eligible for voting')) : (printf('not eligible for voting')); // conditional operator return 0; }
I koden ovenfor tar vi inndata som 'alderen' til brukeren. Etter å ha tatt innspill, har vi brukt betingelsen ved å bruke en betinget operator. I denne tilstanden sjekker vi alderen til brukeren. Hvis alderen til brukeren er større enn eller lik 18, vil setningen1 utføres, dvs. (printf('kvalifisert for å stemme')) ellers vil erklæring2 utføres, dvs. (printf('ikke stemmeberettiget') ).
La oss se resultatet av programmet ovenfor.
Hvis vi oppgir alderen til brukeren under 18 år, vil utgangen være:
Hvis vi oppgir alderen til brukeren over 18 år, vil utgangen være:
Som vi kan observere fra de to utgangene ovenfor at hvis betingelsen er sann, blir setningen1 utført; ellers vil statement2 bli utført.
Til nå har vi observert at hvordan betinget operatør sjekker tilstanden, og basert på tilstand, utfører den setningene. Nå skal vi se hvordan en betinget operatør brukes til å tilordne verdien til en variabel.
pseudokode java
La oss forstå dette scenariet gjennom et eksempel.
#include int main() { int a=5,b; // variable declaration b=((a==5)?(3):(2)); // conditional operator printf('The value of 'b' variable is : %d',b); return 0; }
I koden ovenfor har vi deklarert to variabler, dvs. 'a' og 'b', og tilordner 5-verdien til 'a'-variabelen. Etter erklæringen tildeler vi verdi til 'b'-variabelen ved å bruke den betingede operatoren. Hvis verdien av 'a' er lik 5, tildeles 'b' en 3-verdi ellers 2.
Produksjon
Ovennevnte utdata viser at verdien av 'b'-variabelen er 3 fordi verdien av 'a'-variabelen er lik 5.
Som vi vet at oppførselen til betinget operatør og 'hvis-anne' er lik, men de har noen forskjeller. La oss se på forskjellene deres.
- En betinget operatør er en enkelt programmeringssetning, mens 'if-else'-setningen er en programmeringsblokk der setninger kommer under parentes.
- En betinget operatør kan også brukes for å tilordne en verdi til variabelen, mens 'hvis-else'-setningen ikke kan brukes til tildelingsformålet.
- Det er ikke nyttig for å utføre setningene når setningene er flere, mens 'if-else'-setningen viser seg å være mer egnet når du kjører flere setninger.
- Den nestede ternære operatoren er mer kompleks og kan ikke enkelt feilsøkes, mens den nestede 'hvis-else'-setningen er lett å lese og vedlikeholde.