Swift Academy · Oppitunti

Loogiset operaattorit ja oikosulkuarviointi

Yhdistä ehtoja operaattoreilla &&, || ja ! sekä opi ymmärtämään oikosulkuarviointi.

Oppitunti 3/413 vaihetta

Loogiset operaattorit ja oikosulkuarviointi on ilmainen Swift Academy-oppitunti CoddyKitissä. Tämä on oppitunti 3/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Swift Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Swift Academy-kurssilla on yhteensä 4 oppituntia.

Loogiset operaattorit

Loogiset operaattorit yhdistävät Bool-arvoja: AND &&, OR || ja NOT !. Ne ovat olennaisia ehtojen muodostamisessa.

let isWeekend = true
let isSunny = false
print(isWeekend && isSunny)
print(isWeekend || isSunny)
print(!isSunny)

Looginen NOT

!-operaattori kääntää totuusarvon: true muuttuu arvoksi false ja päinvastoin.

let loggedIn = false
if !loggedIn {
    print("Please log in")
}

Looginen AND

&& on true vain silloin, kun molemmat operandit ovat tosia. Käyttäkää sitä, kun kaikkien ehtojen on täytyttävä.

let hasTicket = true
let hasID = true
let canEnter = hasTicket && hasID
print("Can enter:", canEnter)

Looginen OR

|| on true, kun vähintään yksi operandi on tosi. Käyttäkää sitä, kun mikä tahansa ehto riittää.

let isAdmin = false
let isOwner = true
let canEdit = isAdmin || isOwner
print("Can edit:", canEdit)

AND- ja OR-operaattoreiden yhdistäminen

Voitte yhdistää operaattoreita. &&-operaattorilla on suurempi etusijajärjestys kuin ||-operaattorilla, mutta sulkeet tekevät monimutkaisista ehdoista helpommin luettavia.

let age = 20
let hasGuardian = false
let allowed = (age >= 18) || hasGuardian
print("Allowed:", allowed)

AND-operaattorin oikosulkulaskenta

Swift käyttää oikosulkulaskentaa: lausekkeessa a && b Swift ei koskaan arvioi kohtaa b, jos a on false, koska tulos on jo varmasti false.

func sideEffect() -> Bool {
    print("sideEffect ran")
    return true
}
let result = false && sideEffect()
print("Result:", result)

OR-operaattorin oikosulkulaskenta

Vastaavasti lausekkeessa a || b Swift ohittaa kohdan b, jos a on true. Oikea puoli tarkistetaan vain tarvittaessa.

func sideEffect() -> Bool {
    print("sideEffect ran")
    return false
}
let result = true || sideEffect()
print("Result:", result)

Miksi oikosulkulaskennalla on merkitystä

Oikosulkulaskennan ansiosta voitte sijoittaa ensin nopean tai turvallisen suojatarkistuksen, joka suojaa sen jälkeen tehtävää kallista tai riskialtista tarkistusta. Operandien järjestyksellä on merkitystä.

let numbers = [10, 20, 30]
let index = 5
if index < numbers.count && numbers[index] > 0 {
    print("Safe access")
} else {
    print("Index out of bounds guarded")
}

Arviointijärjestys vasemmalta oikealle

Operandit arvioidaan vasemmalta oikealle. Kun ratkaiseva ehto sijoitetaan ensin, tarpeettoman tai vaarallisen koodin suorittaminen voidaan välttää.

func check(_ label: String, _ value: Bool) -> Bool {
    print("checking", label)
    return value
}
let r = check("A", false) && check("B", true)
print("Final:", r)

Monimutkaisten ehtojen muodostaminen

Oikeat ohjelmat yhdistävät usein useita tarkistuksia. Ryhmitelkää ehdot sulkeilla, jotta täsmällinen logiikka tulee esiin ja koodi pysyy helppolukuisena.

let temp = 25
let humidity = 40
let comfortable = (temp >= 18 && temp <= 26) && (humidity < 60)
print("Comfortable:", comfortable)

Yhdistettyjen ehtojen negaatio

Ehdon ympäröiminen muodolla !(...) kääntää koko ehdon päinvastaiseksi. De Morganin lakien mukaan !(a && b) vastaa lauseketta !a || !b.

let a = true
let b = false
print(!(a && b))
print(!a || !b)

Pikatarkistus

Päätelkää, miten oikosulkulaskenta toimii.

Kertaus: loogiset operaattorit ja oikosulkulaskenta

Opitte operaattorit &&, || ja !, että && pysähtyy ensimmäiseen false-arvoon ja || ensimmäiseen true-arvoon sekä kuinka tämä vasemmalta oikealle etenevä oikosulkulaskenta antaa alussa olevan suojatarkistuksen suojata seuraavaa tarkistusta.

let list = [1, 2, 3]
let i = 10
let safe = i < list.count && list[i] == 2
print("Safe and matched:", safe)
Aloita maksutta

Opi Swift tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
122
Oppitunnit
409

Usein kysytyt kysymykset

Onko oppitunti ”Loogiset operaattorit ja oikosulkuarviointi” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Swift Academy-oppimispolun 3 oppituntia, myös oppitunnin “Loogiset operaattorit ja oikosulkuarviointi”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Swift Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Loogiset operaattorit ja oikosulkuarviointi”?

Yhdistä ehtoja operaattoreilla &&, || ja ! sekä opi ymmärtämään oikosulkuarviointi. Harjoittelet Swift Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Swift Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Swift Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/4.

Kuinka kauan ”Loogiset operaattorit ja oikosulkuarviointi”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Swift Academy-oppitunnilla?

Kyllä. Jokainen Swift Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Aritmeettiset ja yhdistetyn sijoituksen operaattorit
  2. Vertailu- ja identiteettioperaattorit
  3. Loogiset operaattorit ja oikosulkuarviointi
  4. Bitti- ja ylivuoto-operaattorit
← Takaisin: Swift Academy