Šiame straipsnyje jūs išmoksite naudoti sąlyginį arba trikampį operatorių, norėdami pakeisti programos valdymo srautą.
Trigubis sąlyginis operatorius "? :"
yra „if-else“ teiginio sutrumpinimas.
Trišalio sąlyginio operatoriaus sintaksė yra:
būklė? vertė1: vertė2
Kaip veikia trijų komponentų sąlyginis operatorius?
Štai kaip tai veikia
- Jei sąlyga yra teisinga, ji grąžina reikšmę1.
- Jei sąlyga yra klaidinga, ji grąžina reikšmę2.
Aukščiau pateiktas lygiavertis kodas naudojant if - else yra:
jei sąlyga (vertė1) kita (vertė2)
Kodėl verta naudoti trijų komponentų sąlyginį operatorių?
Jums gali būti įdomu, kodėl turėtume naudoti sąlyginį operatorių, jei jis atlieka tą patį darbą kaip teiginys „if-else“. Pagrindinis jo naudojimo tikslas yra padaryti kodą trumpesnį ir lengviau įskaitomą.
Paprastoms sąlygoms galite tai įvertinti vienoje eilutėje su mažesniu kodu nei jei kitaip.
1 pavyzdys: paprastas pavyzdys naudojant trijų komponentų sąlyginį operatorių
print(true && false ? "The condition is true": "The condition is false")
Aukščiau pateiktas lygiavertis kodas naudojant if - else yra:
if true && false ( print("The condition is true") ) else ( print("The condition is false") )
Kai paleisite pirmiau nurodytą programą, išvestis bus:
Sąlyga yra klaidinga
Ankstesnėje programoje išraiška true && false
vertinama į false
, todėl sakinys grąžina eilutę Sąlyga yra klaidinga, o spausdinimo sakinys pateikia eilutę konsolėje.
Jei pakeisite išraišką, true || false
kai sakinys įvertins true
ir grąžins eilutę Sąlyga yra teisinga, o spausdinimo sakinys išleidžia eilutę konsolėje.
Dalykai, kuriuos reikia atsiminti
Ternarinis sąlyginis operatorius taip pat gali būti naudojamas kaip if-else-if
teiginio alternatyva .
Naudodami trikampį sąlyginį operatorių, galite kelias if-else-if
kodo eilutes pakeisti viena eilute.
Tačiau tai gali būti ne gera idėja.
2 pavyzdys: įdėtas, jei dar naudojamas trijų komponentų operatorius
if true && false ( print("Result is (true && false)") ) else if true || false ( print("Result is (true || false)") ) else if false || false ( print("Result is (false || false)") ) else ( print("Default else statement") )
Aukščiau pateiktas lygiavertis kodas, naudojant trijų komponentų sąlyginį operatorių, yra:
print(true && false ? "Result is (true && false)" : true || false ? "Result is (true || false)" : false || false ? "Result is (false || false)" : "The condition is unknown")
Kai paleisite pirmiau nurodytas programas, abi išvestys bus:
Rezultatas teisingas
Anksčiau nurodytose programose, nors sakiniai if-else-if
pakeičiami viena eilute, naudojant sąlyginį operatorių. Ternariniame sąlyginiame operatoriuje vartojamą išraišką tikrai sunku suprasti.
Taigi, tiesiog laikykitės trinario sąlyginio operatoriaus naudojimo kaip if-else
tik teiginio alternatyvos .