“สวัสดี อามีโก้!
“สวัสดีเอลลี่”
"คุณได้ศึกษาลูปแล้ว และนั่นก็เยี่ยมมาก"
"ฉันเห็นด้วย! ตอนนี้ฉันไม่รู้เลยว่าจะอยู่อย่างไรโดยไม่มีพวกเขา"
"บางครั้งคุณสามารถทำได้โดยไม่มีพวกเขา... แต่บ่อยครั้งคุณจะต้องใช้มัน วันนี้เราจะพูดถึงสถานการณ์เมื่อคุณต้องการออกจากวงโคจรก่อนกำหนด"
"คุณหมายถึงเมื่อเงื่อนไขในการวนลูปต่อไปเป็นจริง แต่คุณยังต้องออกจากลูป"
"ใช่เลย! บางครั้งคุณฟังดูเหมือนคุณเป็นโปรแกรมเมอร์อยู่แล้ว อย่างไรก็ตาม หากต้องการออกจากลูปก่อนกำหนด คุณสามารถใช้คำ สั่ง breakได้ ลองดูตัวอย่างต่อไปนี้:
| รหัส | คำอธิบาย |
|---|---|
|
โปรแกรมจะอ่านบรรทัดจากแป้นพิมพ์ จนกว่าคุณจะ"exit"ป้อน |
"เข้าใจแล้ว โปรแกรมอ่านบรรทัดจากคอนโซล ถ้าคุณป้อน"exit"ตัวแปรisExitจะกลายเป็นtrueเงื่อนไขลูปจะเป็นและลูปจะสิ้นสุด"!isExitfalse
"ถูกต้อง ดังนั้น Java จึงมีbreakคำสั่งพิเศษที่ช่วยให้คุณลดความซับซ้อนของตรรกะดังกล่าวได้ หากbreakคำสั่งถูกดำเนินการภายในลูป การวนซ้ำจะสิ้นสุดลงทันที โปรแกรมจะเริ่มดำเนินการคำสั่งที่ตามหลังลูป คำสั่งนั้นสั้นมาก :
break;
"นี่คือวิธีที่คุณสามารถใช้breakคำสั่งเพื่อเขียนตัวอย่างที่เราเพิ่งพูดถึง:
| รหัส | คำอธิบาย |
|---|---|
|
โปรแกรมจะอ่านบรรทัดจากแป้นพิมพ์ จนกว่าคุณจะ"exit"ป้อน |
"บางทีฉันอาจจะจำได้ ฉันรู้สึกว่ามันจะมีประโยชน์"
"แต่breakไม่ใช่คำสั่ง Java เดียวที่ให้คุณควบคุมพฤติกรรมของลูป Java ก็มีคำcontinueสั่งนี้เช่นกัน หากคุณรันcontinueคำสั่งภายในลูป การวนซ้ำปัจจุบันจะสิ้นสุดก่อนกำหนด"
“คุณหมายถึงอะไรโดยย้ำ”
"การวนซ้ำเป็นการดำเนินการอย่างหนึ่งของเนื้อความของลูปcontinueคำสั่งขัดจังหวะการวนซ้ำปัจจุบันของลูป แต่ไม่เหมือนกับbreakคำสั่ง มันไม่จบการวนซ้ำ คำสั่งยังสั้น:
continue;
"ดังนั้นcontinueคำสั่งสามารถใช้ในลูปได้หากเราต้องการ 'ข้าม' การดำเนินการวนซ้ำบางอย่างของลูป"
"แน่นอน คุณเข้าใจความแตกต่างระหว่างbreakและcontinueหรือไม่ หากคุณต้องการค้นหาตัวเลขเจ็ดในจำนวน 20 หลักที่ไม่ซ้ำกัน คุณจะใช้คำสั่งการขัดจังหวะแบบวนซ้ำและการวนซ้ำแบบใด
"อืม... ฉันจะไล่ดูตัวเลขทั้งหมด และถ้าฉันเจอ 7 ฉันก็จะสั่ง a break"
"จะทำอย่างไรถ้าคุณต้องการแสดงตัวเลขจาก1ถึง20ยกเว้นตัวเลขที่หารด้วย7?"
"เอาล่ะ ฉันอาจจะต้องcontinue, เนื่องจากฉันไม่ต้องการออกจากลูป แต่ฉันก็ยังไม่ค่อยเข้าใจอยู่ดี"
"ให้ฉันแสดงวิธีแก้ปัญหานี้ นี่คือลักษณะของรหัสนี้"
| รหัส | คำอธิบาย |
|---|---|
|
โปรแกรมแสดงตัวเลขตั้งแต่1ถึง 20หากตัวเลขหารด้วย7(เศษที่เหลือหารด้วย7คือ 0 ) เราจะข้ามการแสดงตัวเลขไป |
“ทำไมเธอถึงมองฉันอย่างสงสัย เอลลี่? มีอะไรที่จับได้บ้างไหม?”
"คุณไม่หลงกลหรอก Amigo! อันที่จริง รหัสนี้จะทำงานไม่ถูกต้องมันจะแสดง 6 หลักแรกและจากนั้นiจะติดอยู่กับตัวเลข7ตลอดไป หลังจากนั้นcontinueคำสั่งจะข้ามคำสั่งอื่นอีกสองคำสั่ง: System.out.println(i)และi++เนื่องจาก ผลลัพธ์เมื่อเราถึงค่า7ตัวแปรiจะหยุดเปลี่ยนแปลงและเราจะวนซ้ำไม่สิ้นสุด ฉันเขียนโค้ดด้วยวิธีนี้โดยมีวัตถุประสงค์เพื่อแสดงข้อผิดพลาดที่พบบ่อยมาก"
"เราจะแก้ไขอย่างไร"
"มีสองตัวเลือกที่นี่:"
ตัวเลือกที่ 1:เปลี่ยนiก่อนดำเนินการcontinueแต่หลังจากi % 7
ตัวเลือกที่ 2:เพิ่มขึ้นเสมอiที่จุดเริ่มต้นของลูป แต่iค่าเริ่มต้นจะต้อง0เป็น
| ตัวเลือกที่ 1 | ตัวเลือก 2 |
|---|---|
|
|
"เยี่ยมมาก! ฉันจะพยายามไม่ทำผิดแบบนี้"
“ฉันจะจำสัญญาของคุณ!”
GO TO FULL VERSION