
“สวัสดี อามีโก้!”
"วันนี้ฉันจะบอกคุณเกี่ยวกับบางสิ่งที่สะดวกเมื่อทำงานกับลูป"
"คำแรกคือคำหลักbreakหากคุณใช้คำสั่งนี้ในเนื้อหาของลูป จากนั้นลูปจะหยุดทันทีเมื่อคำสั่งถูกดำเนินการ นี่คือตัวอย่าง:"
ตัวอย่าง | เอาท์พุต: |
---|---|
|
0 1 2 3 4 5 |
"ตัวแบ่งสามารถใช้ในลูปได้หรือไม่"
"ใช่ คำสั่ง break สามารถใช้ได้ในลูปเท่านั้น เมื่อมีการเรียกใช้คำสั่ง break ลูปจะยุติทันที"
"ตกลง เข้าใจแล้ว"
"เยี่ยมมาก ตอนนี้สิ่งที่สองที่ฉันอยากจะแชร์คือคำหลัก "ดำเนินการต่อ" นอกจากนี้ยังสามารถใช้ได้ในลูปเท่านั้น เมื่อดำเนินการคำสั่งนี้ การวนซ้ำใหม่จะเริ่มขึ้นทันที กล่าวอีกนัยหนึ่งคือโค้ดใดๆ ที่เหลืออยู่ใน เพียงข้ามเนื้อหาของลูป "
"นี่คือตัวอย่าง:"
ตัวอย่าง | เอาท์พุต: |
---|---|
|
1 3 5 7 9 |
"ดังนั้น เมื่อโปรแกรมไปถึงคำสั่งดำเนินการต่อในลูป มันจะหยุดรันโค้ดในลูป"
"ไม่ ดูสิ เรามีลูปเมื่อเราเรียกใช้โค้ดเดิมหลายๆ ครั้ง ในตัวอย่างด้านบน เรามีลูปตั้งแต่ 0 ถึง 9 นั่นคือเนื้อหาของลูปจะถูกดำเนินการ 10 ครั้ง จริงไหม"
"ใช่."
"การวนซ้ำหนึ่งครั้งผ่านเนื้อความของลูปเรียกว่าการวนซ้ำ การวนซ้ำของเราประกอบด้วยการวนซ้ำ 10 ครั้ง ร่างกายของลูปจะถูกดำเนินการสิบครั้ง"
"ใช่ ชัดเจนแล้ว"
" คำสั่ง ดำเนินการต่อจะยุติการวนซ้ำปัจจุบันก่อนเวลาอันควร กล่าวคือ โค้ดที่เหลือภายในลูปจะถูกข้ามไป และการวนซ้ำใหม่จะเริ่มต้นขึ้น"
"นี่เป็นอีกตัวอย่างหนึ่ง:"
ArrayList list = new ArrayList();
for (Object o: list)
{
if (o == null) continue;
System.out.println(o.toString());
}
"ในตัวอย่างนี้ เราแสดงสตริงแทนวัตถุทั้งหมดในรายการ แต่เราข้ามวัตถุใดๆ ที่เป็นค่าว่าง"
"ตกลง เข้าใจแล้ว ฉันเห็นว่ามันสะดวกแค่ไหน"
"ใช่ ฉันอยากจะบอกคุณเกี่ยวกับฉลากด้วย พวกเขาไม่ค่อยได้ใช้ใน Java เพราะพวกเขามักจะละเมิดความสวยงามของตรรกะของโปรแกรม แต่คุณอาจพบพวกเขาในโค้ดในบางจุด ดังนั้นฉันอยากจะบอกคุณเกี่ยวกับ พวกเขามากกว่าที่คุณเคยได้ยินเกี่ยวกับพวกเขาในสนามเด็กเล่น "
"กาลครั้งหนึ่งนานมาแล้วอนุญาตให้ข้ามจากบรรทัดใดก็ได้ไปยังบรรทัดใดก็ได้ในโค้ด เราทำสิ่งนี้โดยใช้ป้ายกำกับและคำสั่ง goto นี่คือลักษณะที่ปรากฏ:"
System.out.println("Make cookies,");
label: System.out.println("not");
System.out.println("war");
goto label;
"ในตัวอย่างนี้ หลังจากเรียก ใช้คำสั่ง goto labelแล้ว โปรแกรมจะข้ามไปยังบรรทัดที่ทำเครื่องหมายlabel
"ต่อมา ทุกคนฉลาดขึ้นและตัดสินใจที่จะไม่ใช้ คำสั่ง goto Java ไม่รองรับ goto แต่gotoเป็นคำสงวน ไม่ใช่เรื่องใหญ่..."
"ไม่มี goto และไม่มีป้ายกำกับใน Java?"
"ไม่มีคำสั่ง goto แต่มีป้ายกำกับ!"
"เป็นไปได้อย่างไร"
"ในภาษาจาวา ป้ายกำกับสามารถใช้กับคำสั่งดำเนินการต่อและหยุดได้ ป้ายกำกับเหล่านี้จะใช้เมื่อคุณมีลูปที่ซ้อนกันหลายลูป"
"ตัวอย่างเช่น สมมติว่าคุณมี 5 ลูปที่ซ้อนกัน และเมื่อเงื่อนไขบางอย่างตรงตามเงื่อนไข คุณต้องการออกจากสามลูป แต่ไม่ใช่ทั้งหมด ป้ายกำกับเป็นวิธีที่ดีในการทำเช่นนี้:"
label1: for (int i = 0; i < 10; i++)
label2: for (int j = 0; j < 10; j++)
label3: for (int k =0; k < 10; k++)
if (i == j && j == k)
break label2;
"ในตัวอย่างนี้ เมื่อคำสั่ง break ถูกดำเนินการ เราไม่ได้ออกจากลูปที่มีตัวแปร k แต่ออกจากลูปที่มีป้ายกำกับ label2 นั่นคือเราออกจากลูปทั้งสองทันทีด้วย k และ j"
"ใช้บ่อยแค่ไหน?"
"พูดตามตรง ไม่บ่อยนัก แต่คุณไม่มีทางรู้ บางทีคุณอาจจะเห็นมันสักครั้ง สิ่งเหล่านี้เป็นพื้นฐานทางไวยากรณ์ คุณต้องรู้ทั้งหมดนี้!"
"ตกลง ขอบคุณ บิลาโบ"
GO TO FULL VERSION