“สวัสดี อามีโก้!
“สวัสดีเอลลี่”
"คุณได้ศึกษาลูปแล้ว และนั่นก็เยี่ยมมาก"
"ฉันเห็นด้วย! ตอนนี้ฉันไม่รู้เลยว่าจะอยู่อย่างไรโดยไม่มีพวกเขา"
"บางครั้งคุณสามารถทำได้โดยไม่มีพวกเขา... แต่บ่อยครั้งคุณจะต้องใช้มัน วันนี้เราจะพูดถึงสถานการณ์เมื่อคุณต้องการออกจากวงโคจรก่อนกำหนด"
"คุณหมายถึงเมื่อเงื่อนไขในการวนลูปต่อไปเป็นจริง แต่คุณยังต้องออกจากลูป"
"ใช่เลย! บางครั้งคุณฟังดูเหมือนคุณเป็นโปรแกรมเมอร์อยู่แล้ว อย่างไรก็ตาม หากต้องการออกจากลูปก่อนกำหนด คุณสามารถใช้คำ สั่ง breakได้ ลองดูตัวอย่างต่อไปนี้:
รหัส | คำอธิบาย |
---|---|
|
โปรแกรมจะอ่านบรรทัดจากแป้นพิมพ์ จนกว่าคุณจะ"exit" ป้อน |
"เข้าใจแล้ว โปรแกรมอ่านบรรทัดจากคอนโซล ถ้าคุณป้อน"exit"
ตัวแปรisExit
จะกลายเป็นtrue
เงื่อนไขลูปจะเป็นและลูปจะสิ้นสุด"!isExit
false
"ถูกต้อง ดังนั้น 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