แนะนำ, 2024

ตัวเลือกของบรรณาธิการ

ความแตกต่างระหว่าง if-else และสวิตช์

“ If-else” และ“ switch” ทั้งคู่เป็นข้อความสั่งการเลือก คำสั่งการเลือกโอนย้ายโฟลว์ของโปรแกรมไปยังบล็อกของข้อความเฉพาะตามเงื่อนไขว่า“ เป็นจริง” หรือ“ เท็จ” ความแตกต่างพื้นฐานระหว่างคำสั่ง if-else และ switch คือคำสั่ง if-else“ เลือกการดำเนินการของข้อความตามการประเมินผลการแสดงออกใน if statement” คำสั่ง switch“ เลือกการดำเนินการของคำสั่งที่มักขึ้นอยู่กับคำสั่งแป้นพิมพ์”

แผนภูมิเปรียบเทียบ

พื้นฐานสำหรับการเปรียบเทียบถ้า-อื่นสวิตซ์
ขั้นพื้นฐานคำสั่งใดจะถูกดำเนินการขึ้นอยู่กับเอาต์พุตของนิพจน์ภายในหากคำสั่งนั้นคำสั่งใดที่จะถูกดำเนินการถูกตัดสินใจโดยผู้ใช้
การแสดงออกคำสั่ง if-else ใช้หลายคำสั่งสำหรับหลายตัวเลือกงบ switch ใช้การแสดงออกเดียวสำหรับหลายตัวเลือก
การทดสอบคำสั่ง if-else ทดสอบเพื่อความเท่าเทียมเช่นเดียวกับการแสดงออกทางตรรกะการทดสอบคำสั่ง switch เพื่อความเท่าเทียมเท่านั้น
การประเมินผลถ้า statement ประเมินค่าจำนวนเต็มอักขระพอยน์เตอร์หรือชนิดอิงดัชนีหรือบูลีนคำสั่ง switch จะประเมินเฉพาะอักขระหรือค่าจำนวนเต็ม
ลำดับของการดำเนินการถ้าคำสั่งจะถูกดำเนินการหรือคำสั่งอื่นจะถูกดำเนินการคำสั่ง switch ดำเนินการหนึ่งกรณีหลังจากนั้นจนกว่าจะมีคำสั่ง break หรือปรากฏคำสั่งสิ้นสุดของสวิตช์
การดำเนินการเริ่มต้นหากเงื่อนไขภายในถ้าข้อความเป็นเท็จโดยปกติแล้วคำสั่งอื่นจะถูกดำเนินการหากสร้างขึ้นหากเงื่อนไขภายในคำสั่ง switch ไม่ตรงกับกรณีใด ๆ ตัวอย่างเช่นนั้นคำสั่งเริ่มต้นจะถูกดำเนินการหากสร้างขึ้น
การตัดต่อเป็นการยากที่จะแก้ไขคำสั่ง if-else หากใช้คำสั่ง if-else แบบซ้อนมันง่ายที่จะแก้ไขกรณีสวิตช์เนื่องจากสามารถจดจำได้ง่าย

คำจำกัดความของ if-else

คำสั่ง if-else เป็นของคำสั่งการเลือกใน OOP รูปแบบทั่วไปของคำสั่ง if-else มีดังต่อไปนี้

 ถ้า (นิพจน์) {คำสั่ง}} อื่น {คำสั่ง} 

โดยที่“ ถ้า” และ“ อื่น” เป็นคำหลักและข้อความสามารถเป็นข้อความเดี่ยวหรือบล็อกข้อความได้ นิพจน์ประเมินว่าเป็น "จริง" สำหรับค่าที่ไม่เป็นศูนย์ใด ๆ และค่าที่เป็นศูนย์จะประเมินว่าเป็น "เท็จ"
การแสดงออกในถ้าคำสั่งสามารถมีจำนวนเต็มอักขระตัวชี้จุดลอยตัวหรืออาจเป็นประเภทบูลีน คำสั่ง else เป็นทางเลือกในคำสั่ง if-else หากการแสดงออกกลับมาจริงงบภายในถ้าคำสั่งจะถูกดำเนินการและถ้ามันกลับเท็จคำสั่งภายในคำสั่งอื่นจะถูกดำเนินการและในกรณีที่คำสั่งอื่นไม่ได้สร้างขึ้นไม่มีการดำเนินการจะดำเนินการและการควบคุมของโปรแกรมกระโดดออก ของคำสั่ง if-else

ให้เราเข้าใจด้วยตัวอย่าง

 int i = 45, j = 34; ถ้า (i == 45 & j == 34) {ศาล << "ฉัน jyou เลือก choclate มืด"; ทำลาย; กรณีที่ 2: ศาล << "คุณเลือกลูกอม"; ทำลาย; กรณีที่ 3: ศาล << "คุณเลือก lollypop"; ทำลาย; . . ศาลเริ่มต้น << "คุณไม่ได้เลือกอะไร"; } 

ในที่นี้ค่าของ“ i” จะตัดสินใจว่าจะพิมพ์เคสใดหากผู้ใช้ให้ค่าเป็น“ i” นอกเหนือจาก 1, 2 หรือ 3 จากนั้นเคสเริ่มต้นจะถูกดำเนินการ

ความแตกต่างที่สำคัญระหว่าง if-else และสวิตช์

  1. การแสดงออกภายในถ้าคำสั่งตัดสินใจว่าจะดำเนินการคำสั่งภายในถ้าบล็อกหรือภายใต้บล็อกอื่น ในทางกลับกันการแสดงออกภายในคำสั่งสวิตช์ตัดสินใจว่าจะเรียกใช้เคสใด
  2. คุณสามารถมีหลายคำสั่งถ้าคำสั่งสำหรับหลายทางเลือกของคำสั่ง ในการสลับคุณมีเพียงหนึ่งการแสดงออกสำหรับตัวเลือกหลายตัว
  3. คำสั่ง if-esle ตรวจสอบความเท่าเทียมกันรวมถึงการแสดงออกทางตรรกะ ในทางกลับกันสวิตช์จะตรวจสอบความเท่าเทียมกันเท่านั้น
  4. คำสั่ง if ประเมินค่าจำนวนเต็มอักขระพอยน์เตอร์หรือชนิดอิงดัชนีหรือบูลีน ในทางกลับกันคำสั่ง switch จะประเมินเฉพาะอักขระหรือประเภทข้อมูลจำนวนเต็ม
  5. ลำดับของการดำเนินการเป็นเหมือนคำสั่งอย่างใดอย่างหนึ่งภายใต้ถ้าบล็อกจะดำเนินการหรือคำสั่งภายใต้คำสั่งบล็อกอื่นจะดำเนินการ ในทางกลับกันนิพจน์ในคำสั่ง switch จะตัดสินใจว่าจะเรียกใช้เคสใดและหากคุณไม่ได้ใช้คำสั่ง break หลังจากแต่ละเคสจะรันจนกว่าจะสิ้นสุดคำสั่งสวิตช์
  6. หากการแสดงออกภายในถ้าเลี้ยวลึกหนาบางเป็นเท็จคำสั่งภายในบล็อกอื่นจะถูกดำเนินการ หากการแสดงออกภายในคำสั่งเปลี่ยนกลายเป็นเท็จแล้วคำสั่งเริ่มต้นจะถูกดำเนินการ
  7. เป็นการยากที่จะแก้ไขคำสั่ง if-else เนื่องจากเป็นที่น่าเบื่อในการติดตามเมื่อต้องการการแก้ไข ในทางกลับกันมันเป็นเรื่องง่ายที่จะแก้ไขคำสั่ง switch เนื่องจากง่ายต่อการติดตาม

สรุป:

คำสั่ง switch นั้นง่ายต่อการแก้ไขเนื่องจากมันได้สร้างกรณีที่แยกต่างหากสำหรับคำสั่งต่าง ๆ ในขณะที่คำสั่ง if-else ที่ซ้อนกันจะเป็นการยากที่จะระบุคำสั่งที่จะแก้ไข

Top