1. breakคำสั่ง
ลองดูตัวอย่างจากบทเรียนที่แล้ว:
| รหัส | คำอธิบาย |
|---|---|
|
โปรแกรมจะอ่านบรรทัดจากแป้นพิมพ์ จนกว่าคุณจะ"exit"ป้อน |
โปรแกรมอ่านบรรทัดจากคอนโซลจนกว่าexitจะป้อน คำ ถ้าคุณป้อนคำนี้isExit ตัวแปรจะกลายเป็นtrueเงื่อนไขลูปจะเป็นและลูปจะสิ้นสุด"!isExitfalse
Java มีคำสั่งพิเศษbreakที่ช่วยให้คุณลดความซับซ้อนของตรรกะดังกล่าว หากbreakคำสั่งถูกดำเนินการภายในลูป การวนซ้ำจะสิ้นสุดลงทันที โปรแกรมจะเริ่มดำเนินการตามคำสั่งที่วนซ้ำ ข้อความสั้นมาก:
break;
ต่อไปนี้คือวิธีที่คุณสามารถใช้breakคำสั่งเพื่อเขียนตัวอย่างที่เราเพิ่งกล่าวถึงใหม่:
| รหัส | คำอธิบาย |
|---|---|
|
โปรแกรมจะอ่านบรรทัดจากแป้นพิมพ์ จนกว่าคุณจะ"exit"ป้อน |
2. ต่อข้อความ
แต่breakไม่ใช่คำสั่ง Java เดียวที่ให้คุณควบคุมพฤติกรรมของลูป Java ยังมีcontinueคำสั่ง หากคุณดำเนินcontinueการคำสั่งภายในลูป การวนซ้ำปัจจุบันจะสิ้นสุดก่อนกำหนด
การดำเนินการตัวลูปหนึ่งครั้งเรียกว่าการวนซ้ำ คำcontinueสั่งขัดจังหวะการวนซ้ำปัจจุบันของลูป แต่ไม่เหมือนกับbreakคำสั่งตรงที่จะไม่สิ้นสุดการวนซ้ำ แถลงการณ์สั้น ๆ :
continue;
คำสั่ง นั้นcontinueสะดวกมากในการวนซ้ำหากเราต้องการ 'ข้าม' การดำเนินการของเนื้อความวนซ้ำในบางสถานการณ์
งาน: เราต้องการเขียนโปรแกรมที่พิมพ์ตัวเลขจาก1ถึง20แต่ข้ามตัวเลขที่หาร7ด้วย นี่คือลักษณะของโค้ดนี้
| รหัส | คำอธิบาย |
|---|---|
|
โปรแกรมแสดงตัวเลขตั้งแต่1ถึง 20หากตัวเลขหารด้วย7(เศษที่เหลือของการหารด้วย7คือ0) เราจะข้ามการแสดงตัวเลขไป |
ที่จริงแล้ว รหัสนี้จะใช้งานไม่ได้เพราะ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