Loogiset Operaattorit
Toinen operaattoriluokka tunnetaan loogisina operaattoreina. Toisin kuin muut operaattorit, jotka toimivat numeerisilla arvoilla, loogiset operaattorit on suunniteltu käsittelemään totuusarvoja (boolean-arvoja). Loogisia operaattoreita on kolme:
| Operaattori | Logiikka |
|---|---|
! | EI |
|| | TAI |
&& | JA |
NOT (!) -operaattoria käytetään boolean-lausekkeen kieltämiseen (kääntämiseen). Tässä on yksinkertainen esimerkki, joka sisältää if-lauseen:
index.go
12345678package main import "fmt" func main() { if (false) { fmt.Println("Print if True") } }
Yllä olevassa koodissa Print-lausetta ei suoriteta, koska ehto on oletuksena false. Jos kuitenkin lisäämme lausekkeeseen NOT-operaattorin, ehto käännetään ja siitä tulee vastaava kuin true:
index.go
12345678package main import "fmt" func main() { if (!false) { fmt.Println("Print if True") } }
Voimme käyttää myös EI (!) -operaattoria monimutkaisemmissa tapauksissa. Meidän täytyy kuitenkin sulkea lausekkeet sulkuihin ennen niiden kieltämistä. Esimerkiksi, jos haluamme kieltää 3 > 4, kirjoitamme !(3 > 4):
index.go
12345678package main import "fmt" func main() { if (!(3 > 4)) { fmt.Println("Print if True") } }
TAI (||) -operaattori arvioi kaksi operandia ja palauttaa true, jos vähintään yksi operandi on true.
Huomautus
Operandi tarkoittaa arvoa tai lauseketta, jota käytetään syötteenä operaattorille lauseessa tai lausekkeessa. Esimerkiksi lausekkeessa
1 + 2arvot1ja2ovat operandeja. Loogisten operaattoreiden tapauksessa operandi on aina totuusarvolauseke tai -arvo.
Tässä on esimerkki, joka havainnollistaa loogisten operaattoreiden peruskäyttöä:
index.go
1234567package main import "fmt" func main() { fmt.Println(true || false) fmt.Println(false || false) }
Ensimmäinen lauseke tulostaa true, koska toinen operandeista lausekkeessa true || false on true. Toisaalta toinen lauseke tulostaa false, koska molemmat operandit ovat false kyseisessä lausekkeessa. Alla on totuustaulu loogiselle TAI-operaatiolle:
Huomio
Totuustaulu on looginen esitys, joka näyttää kaikki mahdolliset syötteiden yhdistelmät ja niiden vastaavat tulosarvot.
| Input | Output |
|---|---|
true || true | true |
true || false | true |
false || true | true |
false || false | false |
Loogisia TAI-operaattoreita voidaan ketjuttaa yhdistämään useita operandeja. Tässä tapauksessa lauseke arvioidaan vasemmalta oikealle:
index.go
123456package main import "fmt" func main() { fmt.Println(false || false || true || false) }
Yllä olevan lausekkeen arviointijärjestys on seuraava:
Huom
Oletuksena kaikki loogiset lausekkeet arvioidaan vasemmalta oikealle.
Looginen JA (&&) -operaattori on samanlainen kuin TAI (||) -operaattori, mutta se palauttaa arvon true vain, jos molemmat operandit ovat true. Loogisen JA (&&) -operaation totuustaulu on esitetty alla:
| Input | Output |
|---|---|
true && true | true |
true && false | false |
false && true | false |
false && false | false |
Alla on monimutkaisempi esimerkki, joka havainnollistaa loogisten operaattoreiden käytännön sovellusta. Tutustu koodiin ja pyri ymmärtämään sen toiminta:
index.go
1234567891011package main import "fmt" func main() { var x int = 99 if (1 <= x && x <= 10 || 90 <= x && x <= 100) { fmt.Printf("The value %d is in the range 1-10 or 90-100", x) } else { fmt.Printf("The value %d is not in the range 1-10 or 90-100", x) } }
Huomaa, että yllä olevassa esimerkissä käytetään useita operaattoreita ja arvoja monimutkaisemman ehdon muodostamiseksi. Suorituksen aikana lauseke arvioidaan operaattoreiden etusijajärjestyksen mukaisesti. Korkean prioriteetin operaattorit arvioidaan ensin, ja on tärkeää ymmärtää, missä järjestyksessä ne käsitellään. Vertailuoperaattoreilla on korkeampi prioriteetti kuin loogisilla operaattoreilla.
Alla oleva kaavio havainnollistaa loogisten operaattoreiden prioriteettijärjestystä:
Seuraava kaavio havainnollistaa, miten lauseke 1 <= x && x <= 10 || 90 <= x && x <= 100 arvioidaan:
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Awesome!
Completion rate improved to 1.96
Loogiset Operaattorit
Pyyhkäise näyttääksesi valikon
Toinen operaattoriluokka tunnetaan loogisina operaattoreina. Toisin kuin muut operaattorit, jotka toimivat numeerisilla arvoilla, loogiset operaattorit on suunniteltu käsittelemään totuusarvoja (boolean-arvoja). Loogisia operaattoreita on kolme:
| Operaattori | Logiikka |
|---|---|
! | EI |
|| | TAI |
&& | JA |
NOT (!) -operaattoria käytetään boolean-lausekkeen kieltämiseen (kääntämiseen). Tässä on yksinkertainen esimerkki, joka sisältää if-lauseen:
index.go
12345678package main import "fmt" func main() { if (false) { fmt.Println("Print if True") } }
Yllä olevassa koodissa Print-lausetta ei suoriteta, koska ehto on oletuksena false. Jos kuitenkin lisäämme lausekkeeseen NOT-operaattorin, ehto käännetään ja siitä tulee vastaava kuin true:
index.go
12345678package main import "fmt" func main() { if (!false) { fmt.Println("Print if True") } }
Voimme käyttää myös EI (!) -operaattoria monimutkaisemmissa tapauksissa. Meidän täytyy kuitenkin sulkea lausekkeet sulkuihin ennen niiden kieltämistä. Esimerkiksi, jos haluamme kieltää 3 > 4, kirjoitamme !(3 > 4):
index.go
12345678package main import "fmt" func main() { if (!(3 > 4)) { fmt.Println("Print if True") } }
TAI (||) -operaattori arvioi kaksi operandia ja palauttaa true, jos vähintään yksi operandi on true.
Huomautus
Operandi tarkoittaa arvoa tai lauseketta, jota käytetään syötteenä operaattorille lauseessa tai lausekkeessa. Esimerkiksi lausekkeessa
1 + 2arvot1ja2ovat operandeja. Loogisten operaattoreiden tapauksessa operandi on aina totuusarvolauseke tai -arvo.
Tässä on esimerkki, joka havainnollistaa loogisten operaattoreiden peruskäyttöä:
index.go
1234567package main import "fmt" func main() { fmt.Println(true || false) fmt.Println(false || false) }
Ensimmäinen lauseke tulostaa true, koska toinen operandeista lausekkeessa true || false on true. Toisaalta toinen lauseke tulostaa false, koska molemmat operandit ovat false kyseisessä lausekkeessa. Alla on totuustaulu loogiselle TAI-operaatiolle:
Huomio
Totuustaulu on looginen esitys, joka näyttää kaikki mahdolliset syötteiden yhdistelmät ja niiden vastaavat tulosarvot.
| Input | Output |
|---|---|
true || true | true |
true || false | true |
false || true | true |
false || false | false |
Loogisia TAI-operaattoreita voidaan ketjuttaa yhdistämään useita operandeja. Tässä tapauksessa lauseke arvioidaan vasemmalta oikealle:
index.go
123456package main import "fmt" func main() { fmt.Println(false || false || true || false) }
Yllä olevan lausekkeen arviointijärjestys on seuraava:
Huom
Oletuksena kaikki loogiset lausekkeet arvioidaan vasemmalta oikealle.
Looginen JA (&&) -operaattori on samanlainen kuin TAI (||) -operaattori, mutta se palauttaa arvon true vain, jos molemmat operandit ovat true. Loogisen JA (&&) -operaation totuustaulu on esitetty alla:
| Input | Output |
|---|---|
true && true | true |
true && false | false |
false && true | false |
false && false | false |
Alla on monimutkaisempi esimerkki, joka havainnollistaa loogisten operaattoreiden käytännön sovellusta. Tutustu koodiin ja pyri ymmärtämään sen toiminta:
index.go
1234567891011package main import "fmt" func main() { var x int = 99 if (1 <= x && x <= 10 || 90 <= x && x <= 100) { fmt.Printf("The value %d is in the range 1-10 or 90-100", x) } else { fmt.Printf("The value %d is not in the range 1-10 or 90-100", x) } }
Huomaa, että yllä olevassa esimerkissä käytetään useita operaattoreita ja arvoja monimutkaisemman ehdon muodostamiseksi. Suorituksen aikana lauseke arvioidaan operaattoreiden etusijajärjestyksen mukaisesti. Korkean prioriteetin operaattorit arvioidaan ensin, ja on tärkeää ymmärtää, missä järjestyksessä ne käsitellään. Vertailuoperaattoreilla on korkeampi prioriteetti kuin loogisilla operaattoreilla.
Alla oleva kaavio havainnollistaa loogisten operaattoreiden prioriteettijärjestystä:
Seuraava kaavio havainnollistaa, miten lauseke 1 <= x && x <= 10 || 90 <= x && x <= 100 arvioidaan:
Kiitos palautteestasi!