ในบทความนี้เราจะพูดถึงความแตกต่างระหว่างลูป "ในขณะที่" และ "ในขณะที่" ลูป
แผนภูมิเปรียบเทียบ
พื้นฐานสำหรับการเปรียบเทียบ | ในขณะที่ | ทำในขณะที่ |
---|---|---|
แบบฟอร์มทั่วไป | ในขณะที่ (เงื่อนไข) { งบ; // body of loop } | ทำ{ . งบ; // body of loop . } ในขณะที่ (เงื่อนไข); |
สภาพการควบคุม | ใน 'while' loop เงื่อนไขการควบคุมจะปรากฏขึ้นที่จุดเริ่มต้นของลูป | ในลูป 'do-while' เงื่อนไขการควบคุมจะปรากฏขึ้นที่ส่วนท้ายของลูป |
ซ้ำ | การวนซ้ำจะไม่เกิดขึ้นหากเงื่อนไขในการทำซ้ำครั้งแรกปรากฏเป็นเท็จ | การวนซ้ำจะเกิดขึ้นอย่างน้อยหนึ่งครั้งแม้ว่าเงื่อนไขนั้นจะเป็นเท็จในการทำซ้ำครั้งแรก |
คำจำกัดความของ while
ห่วงในขณะที่เป็นวงพื้นฐานที่สุดที่มีอยู่ใน C ++ และ Java การทำงานของ a while loop นั้นคล้ายกันในทั้ง C ++ และ Java รูปแบบทั่วไปของ while loop คือ:
ในขณะที่ (เงื่อนไข) {คำสั่ง; // body of loop}
ขณะที่ลูปแรกตรวจสอบเงื่อนไขและถ้าเงื่อนไขเป็นจริงแล้วมันวนซ้ำจนกว่าเงื่อนไขจะกลายเป็นเท็จ เงื่อนไขในขณะที่ลูปสามารถเป็นนิพจน์บูลีนใด ๆ เมื่อนิพจน์ส่งคืนค่าที่ไม่เป็นศูนย์ใด ๆ เงื่อนไขจะเป็น“ จริง” และถ้านิพจน์คืนค่าศูนย์เงื่อนไขนั้นจะกลายเป็น“ เท็จ” ถ้าเงื่อนไขเป็นจริงแล้ววนซ้ำตัวเองและถ้าเงื่อนไขกลายเป็นเท็จแล้วการควบคุมผ่านไปยังบรรทัดถัดไปของรหัสทันทีตามด้วยวง
ประโยคคำสั่งหรือเนื้อความของลูปอาจเป็นข้อความว่างเปล่าหรือข้อความเดี่ยวหรือบล็อกข้อความสั่งก็ได้
เรามาพูดถึงการทำงานของลูปในขณะที่ ในตัวอย่างด้านล่างรหัสจะพิมพ์จาก 1 ถึง 10
// ตัวอย่างอยู่ใน Java ชั้นเรียนในขณะที่ {โมฆะสาธารณะคงที่หลัก (args []) {int n = 0; ในขณะที่ (n <= 10) {n ++; system.out.println ("n =" + n); }}} // เอาต์พุต n = 1 n = 2 n = 3 n = 4 n = 5 n = 6 n = 7 n = 8 n = 9 n = 10
ที่นี่ค่าเริ่มต้นของ 'n' คือ 0 ซึ่งจะเปลี่ยนสภาพในขณะที่วงจริง จากนั้นการควบคุมจะเข้าสู่เนื้อความของ while loop และค่าของ 'n' จะเพิ่มขึ้นตามคำสั่งแรกในเนื้อความของ while loop จากนั้นค่าของ 'n' จะถูกพิมพ์และอีกครั้งตัวควบคุมจะกลับไปที่เงื่อนไขของลูป while ขณะนี้ค่าของ 'n' คือ 1 ซึ่งเป็นไปตามเงื่อนไขอีกครั้งและร่างกายของลูปจะถูกดำเนินการอีกครั้ง
สิ่งนี้จะดำเนินต่อไปจนกระทั่งเงื่อนไขเป็นจริงทันทีที่เงื่อนไขเป็นเท็จลูปจะถูกยกเลิก ชอบวนลูปในขณะที่ลูปยังตรวจสอบสภาพก่อนแล้วจึงดำเนินการลูปร่างกาย
คำจำกัดความของ do-while Loop
ในขณะที่ลูปถ้าเงื่อนไขการควบคุมกลายเป็นเท็จในการวนซ้ำครั้งแรกเท่านั้นดังนั้นร่างกายของลูปในขณะนั้นจะไม่ถูกดำเนินการเลย แต่วนรอบ do-while ค่อนข้างแตกต่างจาก while loop ลูป do-while เรียกใช้เนื้อความของลูปอย่างน้อยหนึ่งครั้งแม้ว่าเงื่อนไขจะเป็นเท็จในการพยายามครั้งแรก
รูปแบบทั่วไปของการทำในขณะนี้มีดังนี้
ทำ { งบ // เนื้อความของลูป . } ในขณะที่ (เงื่อนไข);
ในลูป do-while เนื้อความของลูปเกิดขึ้นก่อนเงื่อนไขการควบคุมและคำสั่งแบบมีเงื่อนไขอยู่ที่ด้านล่างของลูป เช่นเดียวกับในขณะที่ลูปที่นี่เช่นกันเนื้อความของลูปอาจว่างเปล่าเนื่องจากทั้ง C ++ และ Java อนุญาตข้อความสั่งที่เป็นโมฆะหรืออาจมีเพียงคำสั่งเดียวหรือบล็อกของข้อความสั่ง เงื่อนไขที่นี่ยังเป็นนิพจน์บูลีนซึ่งเป็นจริงสำหรับค่าที่ไม่เป็นศูนย์ทั้งหมด
ในลูป do-while การควบคุมจะไปถึงคำสั่งในเนื้อความของลูป do-while ก่อน คำสั่งในเนื้อความจะถูกดำเนินการก่อนจากนั้นการควบคุมจะไปถึงส่วนเงื่อนไขของลูป เงื่อนไขได้รับการตรวจสอบและหากเป็นจริงลูปจะถูกวนซ้ำอีกครั้งและหากเงื่อนไขเป็นเท็จการควบคุมจะกลับสู่บรรทัดถัดไปทันทีหลังจากลูป
ลองมาทำความเข้าใจโดยนำตัวอย่างข้างต้นมาทำในขณะที่
// ตัวอย่างอยู่ใน Java ชั้นเรียนในขณะที่ {โมฆะสาธารณะคงที่หลัก (args []) {int n = 1; ทำ {system.out.println ("n =" + n); n ++; } ในขณะที่ (n <10)}} // เอาต์พุต n = 1 n = 2 n = 3 n = 4 n = 5 n = 6 n = 7 n = 8 n = 9 n = 10
ในที่นี้ค่าของ n = 1 ที่ตัวควบคุมดำเนินการต่อไปยังเนื้อความของลูปค่าของ 'n' จะถูกพิมพ์และจากนั้นค่าจะเพิ่มขึ้น จากนั้นการควบคุมจะกลับสู่สภาพของลูป do-while เงื่อนไขถูกตรวจสอบแล้วซึ่งจะเป็นจริงสำหรับ n = 1 ดังนั้นลูปจะวนซ้ำอีกครั้งและทำต่อไปจนกว่าเงื่อนไขจะเป็นเท็จ
ความแตกต่างที่สำคัญระหว่างระหว่างและขณะทำลูป
- ขณะที่ลูปตรวจสอบเงื่อนไขที่จุดเริ่มต้นของลูปและหากเงื่อนไขเป็นไปตามคำสั่งที่พึงพอใจภายในลูปจะถูกดำเนินการ ในลูป do-while เงื่อนไขจะถูกตรวจสอบหลังจากการดำเนินการของคำสั่งทั้งหมดในเนื้อความของลูป
- ถ้าเงื่อนไขใน a while loop เป็น false ไม่ใช่คำสั่งเดี่ยวภายใน loop ถูกเรียกใช้งานและหากเงื่อนไขใน 'do-while' loop เป็นเท็จดังนั้นเนื้อความของ loop จะถูกดำเนินการอย่างน้อยหนึ่งครั้งจากนั้นจะมีการทดสอบเงื่อนไข
สรุป:
ทั้ง while และ do-while loop เป็นคำสั่งการวนซ้ำหากเราต้องการก่อนนั้นเงื่อนไขควรได้รับการตรวจสอบและจากนั้นคำสั่งภายใน loop จะต้องดำเนินการดังนั้นการวนรอบ while จะถูกใช้ หากคุณต้องการทดสอบเงื่อนไขการเลิกจ้างในตอนท้ายของลูปการใช้ลูป do-while จะถูกใช้