Tässä artikkelissa opit käyttämään ehdollista tai kolmiportaista operaattoria ohjelman ohjausvirtojen muuttamiseen.
Ternäärinen ehdollinen operaattori "? :"
on if-else-lauseen lyhenne.
Kolmiosaisen ehdollisen operaattorin syntaksi on:
kunnossa? arvo1: arvo2
Kuinka kolminkertainen ehdollinen operaattori toimii?
Näin tämä toimii
- Jos ehto on tosi, se palauttaa arvon1.
- Jos ehto on väärä, se palauttaa arvon2.
Yllä oleva vastaava koodi käyttämällä if - else on:
jos ehto (arvo1) muu (arvo2)
Miksi käyttää kolminkertaista ehdollista operaattoria?
Saatat miettiä, miksi meidän pitäisi käyttää ehdollista operaattoria, jos se tekee saman työn kuin if-else-lause. Sen käytön päätarkoitus on tehdä koodista lyhyempi ja luettavampi.
Yksinkertaisissa olosuhteissa voit arvioida sen yhdellä rivillä vähemmän koodilla kuin jos muualla.
Esimerkki 1: Yksinkertainen esimerkki kolmivaiheisen operaattorin avulla
print(true && false ? "The condition is true": "The condition is false")
Yllä oleva vastaava koodi käyttämällä if - else on:
if true && false ( print("The condition is true") ) else ( print("The condition is false") )
Kun suoritat yllä olevan ohjelman, tulos on:
Ehto on väärä
Yllä olevassa ohjelmassa lauseke true && false
arvioi arvon false
, minkä vuoksi käsky palauttaa merkkijonon Ehto on väärä ja print-lause antaa merkkijonon konsoliin.
Jos muutat lauseketta true || false
lausekkeen arvioidessa true
ja palauttaessa merkkijonon Ehto on tosi ja print-lause antaa merkkijonon konsoliin.
Muistettavaa
Ternäärisen ehdollista operaattoria voidaan käyttää myös if-else-if
lauseen vaihtoehtona .
Kolmivaiheisen operaattorin avulla voit korvata useita if-else-if
koodirivejä yhdellä rivillä.
Se ei kuitenkaan välttämättä ole hyvä idea.
Esimerkki 2: Sisäkkäin, jos muuten käytetään kolmivaiheista operaattoria
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") )
Yllä oleva vastaava koodi, jossa käytetään ehdollista operaattoria, on
print(true && false ? "Result is (true && false)" : true || false ? "Result is (true || false)" : false || false ? "Result is (false || false)" : "The condition is unknown")
Kun suoritat yllä olevat ohjelmat, molemmat tulosteet ovat:
Tulos on totta
Edellä mainituissa ohjelmissa, vaikka lauseet if-else-if
korvataan yhdellä rivillä ehdollisen operaattorin avulla. Ternäärisen ehdollisen operaattorin ilmaisua on todella vaikea ymmärtää.
Joten, vain pitää kiinni kolmiosaisen ehdollisen operaattorin käytöstä if-else
vain lauseen vaihtoehtona .