LOOPLOOP
LOOP คืออะไร ? - วงรอบการทำงาน - ทำงานแบบซ้ำๆ ไปเรื่อยๆตามเงื่อนไข เช่น - การแพ๊คของ 50 ชิ้นใส่กล่อง ทำไปเรื่อยๆ จนกว่า ของจะหมด - ตีดอทไปเรื่อยๆ จนกว่า จะแพ้ครบ 10 ตา
ประโยชน์ ง่ายต่อการเขียนโค้ด ไม่ต้องใช้หลายบรรทัด เช่น ต้องการปริ้น “CE BOOST UP” ออก ทางหน้าจอ 1000 บรรทัด วิธีทำ - println(“CE BOOST UP ”); เป็นจำนวน 1000 บรรทัด - ใช้ loop
WHILE - LOOP การเขียน public void run(){ while(expression) { // เช็คเงื่อนไข statement1; // เริ่มทำงาน statement2; … }
EXAMPLE ต้องการปริ้น “CE BOOST UP” 5 ครั้งออก หน้าจอ public void run(){ int i = 0; while(i < 5){ println(“CE BOOST UP”); i++; }
Code int i = 0; while(i < 5){ println(“CE BOOST UP”); i++; } Memory i = 0 i = 1 i = 2 i = 3 i = 4 i = 5 หน้าจอ CE BOOST UP << หลุด LOOP !!
หรือ int i = 0; while(true){ if(i == 5) break; // เมื่อเจอคำสั่งนี้ จะออกจาก loop ทันที println(“CE BOOST UP”); i++; }
ข้อควรระวัง !! int i = 0; while(i < 5) println(“CE BOOST UP”); i++; ลืมใส่ ปีกกา {} !! ผลที่ออกทางหน้าจอ CE BOOST UP CE BOOST UP … infinite loop !
ข้อควรระวัง !! int i = 0; while(true){ if(i == 5) break; println(“CE BOOST UP”); i++; } while(true){ int i = 0; if(i == 5) break; println(“CE BOOST UP”); i++; } ทำงาน 5 รอบ ปกติ Infinite loop
DO – WHILE LOOP การเขียน public void run(){ do { // ทำงานก่อน statement1; statement2; … } while (expression); // เช็คเงื่อนไข }
EXAMPLE ต้องการปริ้น “CE BOOST UP” 5 ครั้งออก หน้าจอ public void run(){ int i = 0; do { println(“CE BOOST UP”); i++; } while (i < 5); }
Code int i = 0; do { println(“CE BOOST UP”); i++; } while (i < 5); Memory i = 0 i = 1 i = 2 i = 3 i = 4 i = 5 หน้าจอ CE BOOST UP << หลุด LOOP !
FOR - LOOP การเขียน public void run(){ for(initialization;expression; update) { statement1; statement2; … }
EXAMPLE ต้องการปริ้นข้อความออกมา 5 บรรทัด โดยแต่ละ บรรทัดมีข้อความคือเลขของบรรทัดนั้นๆ public void run(){ for (int i = 1; i <= 5; i++) { println(i); }
Code for (int i = 1; i <= 5; i++) { println(i); } Memory i = 1 i = 2 i = 3 i = 4 i = 5 i = 6 หน้าจอ << หลุด LOOP !
ตัวแปรนอก FOR - LOOP for (int i =0; i < 5; i++) { println(“CE BOOST UP”); } int i; for (i = 0; i < 5; i++) { println(“CE BOOST UP”); } << สามารถนำตัวแปร i มาใช้นอก loop ได้