Swift Academy · บทเรียน

ตัวดำเนินการตรรกะและการประเมินแบบลัด

รวมเงื่อนไขด้วย &&, ||, ! และทำความเข้าใจการประเมินแบบลัด

บทเรียน 3 จาก 413 ขั้นตอน

ตัวดำเนินการตรรกะและการประเมินแบบลัด เป็นบทเรียน Swift Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Swift Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Swift Academy มีบทเรียนทั้งหมด 4 บทเรียน

ตัวดำเนินการทางตรรกะ

ตัวดำเนินการทางตรรกะใช้รวมค่า Bool ได้แก่ AND &&, OR || และ NOT ! ซึ่งจำเป็นสำหรับการสร้างเงื่อนไข

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

ตรรกะ NOT

ตัวดำเนินการ ! จะกลับค่าบูลีน โดย true จะกลายเป็น false และในทางกลับกัน

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

ตรรกะ AND

&& จะมีค่าเป็น true ก็ต่อเมื่อออเปอแรนด์ ทั้งสอง มีค่าเป็น true ใช้เมื่อต้องการให้ทุกเงื่อนไขเป็นจริง

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

ตรรกะ OR

|| จะมีค่าเป็น true เมื่อออเปอแรนด์ อย่างน้อยหนึ่งรายการ เป็นจริง ใช้เมื่อมีเงื่อนไขใดเงื่อนไขหนึ่งเป็นจริงก็เพียงพอ

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

การรวม AND และ OR

คุณสามารถผสมตัวดำเนินการได้ โดย && มีลำดับความสำคัญสูงกว่า || แต่การใช้วงเล็บจะช่วยให้เงื่อนไขที่ซับซ้อนอ่านได้ง่ายขึ้น

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

การประเมินผลแบบลัดวงจรของ AND

Swift ใช้การประเมินผลแบบลัดวงจร ใน a && b หาก a เป็น false Swift จะไม่ประเมินค่า b เพราะทราบผลลัพธ์แล้วว่าเป็น false

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

การประเมินผลแบบลัดวงจรของ OR

เช่นเดียวกัน ใน a || b หาก a เป็น true Swift จะข้าม b ไป โดยจะตรวจสอบด้านขวาเมื่อจำเป็นเท่านั้น

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

เหตุผลที่การลัดวงจรมีความสำคัญ

การลัดวงจรช่วยให้คุณวางตัวป้องกันที่ประหยัดหรือ safe ไว้ก่อน เพื่อป้องกันการตรวจสอบที่ใช้ทรัพยากรมากหรือมีความเสี่ยงซึ่งอยู่ถัดไป ลำดับของออเปอแรนด์จึงมีความหมาย

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")
}

ลำดับการประเมินจากซ้ายไปขวา

ออเปอแรนด์จะถูกประเมินจากซ้ายไปขวา การวางเงื่อนไขที่ใช้ตัดสินผลไว้ก่อนอาจช่วยหลีกเลี่ยงการเรียกใช้โค้ดที่ไม่จำเป็นหรือไม่ปลอดภัย

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

การสร้างเงื่อนไขที่ซับซ้อน

โปรแกรมจริงมักรวมการตรวจสอบหลายรายการเข้าด้วยกัน ใช้วงเล็บจัดกลุ่มเพื่อสื่อ logic ที่แน่นอนและทำให้โค้ดอ่านง่าย

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

การทำให้เงื่อนไขแบบผสมเป็นปฏิเสธ

การครอบเงื่อนไขด้วย !(...) จะกลับค่าของเงื่อนไขทั้งหมด ตามกฎของเดอมอร์แกน !(a && b) จึงเท่ากับ !a || !b

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

ตรวจสอบอย่างรวดเร็ว

ลองพิจารณาการประเมินผลแบบลัดวงจร

สรุป: ตัวดำเนินการทางตรรกะและการลัดวงจร

คุณได้เรียนรู้ &&, || และ ! เรียนรู้ว่า && หยุดที่ false ตัวแรก และ || หยุดที่ true ตัวแรก รวมถึงเรียนรู้ว่าการลัดวงจรจากซ้ายไปขวาช่วยให้ตัวป้องกันที่อยู่ก่อนหน้าปกป้องการตรวจสอบที่ตามมาได้อย่างไร

let list = [1, 2, 3]
let i = 10
let safe = i < list.count && list[i] == 2
print("Safe and matched:", safe)
เริ่มต้นได้ฟรี

เรียนรู้ Swift ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
122
บทเรียน
409

คำถามที่พบบ่อย

บทเรียน “ตัวดำเนินการตรรกะและการประเมินแบบลัด” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ตัวดำเนินการตรรกะและการประเมินแบบลัด” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Swift Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Swift Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “ตัวดำเนินการตรรกะและการประเมินแบบลัด”

รวมเงื่อนไขด้วย &&, ||, ! และทำความเข้าใจการประเมินแบบลัด คุณปฏิบัติ Swift Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Swift Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Swift Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “ตัวดำเนินการตรรกะและการประเมินแบบลัด” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Swift Academy นี้ได้ไหม

ได้ บทเรียน Swift Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ตัวดำเนินการคณิตศาสตร์และการกำหนดค่าแบบผสม
  2. ตัวดำเนินการเปรียบเทียบและตรวจสอบเอกลักษณ์
  3. ตัวดำเนินการตรรกะและการประเมินแบบลัด
  4. ตัวดำเนินการระดับบิตและโอเวอร์โฟลว์
← กลับไปที่ Swift Academy