การใช้คำสั่ง for จัดทำโดย : Mr.POP พิมพ์
 Untitled Document

สวัสดีครับ ในบทความนี้ผมจะพูดถึงคำสั่งที่ใช้วนลูปคำสั่งสุดท้ายกันนะครับ มือเก่าที่เข้ามาอ่านน่าจะพอเดาได้นะครับว่าคำสั่งอะไร คำสั่งที่ว่านั้นก็คือคำสั่ง for ครับ ซึ่งคำสั่งนี้ถ้าเราเข้าใจได้ดีจะทำให้ใช้งานมันได้สะดวกสบายขึ้น คำสั่งนี้มีเงื่อนไขในการใช้งานอยู่พอสมควรเราลองมาดูกันเลยนะครับ


คำสั่ง for มีรูปแบบดังนี้


จากรูปแบบของการใช้งานคำสั่งนี้จะเห็นว่าในวงเล็บของคำสั่ง for นั้นมี 3 ส่วนที่ต้องกำหนด คือ 1. ค่าตัวแปรเริ่มต้น ใช้กำหนดค่าเริ่มต้นของตัวแปรที่จะใช้ในการควบคุม การวนลูป 2. เงื่อนไข ใช้กำหนดเงื่อนไขการวนลูป 3. เปลี่ยนแปลงค่าตัวแปร ใช้ในการเพิ่มหรือลดค่าของตัวแปรที่ใช้ในการควบคุมการวนลูป จะเห็นว่าการใช้งานนั้นต่างจาก คำสั่ง while โดยที่คำสั่ง for นั้นจะมีการกำหนดค่าและเงื่อนไขต่างๆ ลงไปเลยทันทีเพื่อใช้ในการควบคุมการวนลูปตามที่เราต้องการ ลองมาดูตัวอย่างกันดีกว่านะครับ


อธิบายโปรแกรม จากโค้ดโปรแกรมนี้จะเป็นการคำนวณหาค่าผลบวกของ 1 ถึง 10 (1+2+3+4+5+6+7+8+9+10) ซึ่งใช้ลูป for นะครับโดยมีการกำหนดตัวแปร i ไว ้เป็น 1 เมื่อเริ่มเข้ามาที่ลูป ส่วนเงื่อนไขคือ i <= 10 คือ เราต้องการให้ลูปนี้วนไป 10 ครั้ง ส่วน i++ เป็นการเพิ่มค่า i ทีละ 1 เมื่อจบรอบการทำงานในแต่ละรอบนั่นเอง ลองไล่ โค้ดดูนะครับ

i = 1, sum = 0 + 1 จบรอบแรก sum = 1

i = 2, sum = 1 + 2 จบรอบที่สอง sum = 3

i = 3, sum = 3 + 3 จบรอบที่สาม sum = 6

i = 4, sum = 6 + 4 จบรอบที่สี่ sum = 10

i = 5, sum = 10 + 5 จบรอบที่ห้า sum = 15

i = 6, sum = 15 + 6 จบรอบที่หก sum = 21

i = 7, sum = 21 + 7 จบรอบที่เจ็ด sum = 28

i = 8, sum = 28 + 8 จบรอบที่แปด sum = 36

i = 9, sum = 36 + 9 จบรอบที่เก้า sum = 45

i = 10, sum = 45 + 10 จบรอบที่สิบ sum = 55

จะเห็นว่าในรอบสุดท้ายคือ รอบที่สิบนั้นค่า i++ ยังคงทำงานอยู่คือ จะได้ค่า i ค่าสุดท้ายเป็น 11 แต่พอนำไปเช็คที่เงื่อนไขแล้วทำให้เงื่อนไขนั้นผิดเพราะ i <= 10 นั่นเองจึง ทำให้ออกจากลูป นอกจากนี้ยังมีการใช้งานในรูปแบบอื่นอีกซึ่งผมจะยกมาเป็นกฏให้ดูกันนะครับ

กฎการใช้คำสั่ง for
1. ค่าที่เพิ่มขึ้นในแต่ละรอบของตัวแปรควบคุมนั้นจะเป็นเท่าไรก็ได้ เช่น

for(int x=0 ; x<=100 ; x=x+5)

2. ค่าของตัวแปรควบคุมอาจถูกกำหนดให้ลดลงก็ได้ เช่น

for(int x=100 ; x>0 ; x- -)

3. ตัวแปรควบคุมอาจเป็นชนิด character ได้ เช่น

for(char ch =’a’ ; ch<=’z’ ; ch++)

4. ตัวแปรควบคุมสามารถมีได้มากกว่า 1 ตัวแปร เช่น

for(int x=0,y=0 ; x+y<100 ; x++,y++)


5 . ถ้ามีการละบางส่วนหรือทุกส่วนของพารามิเตอร์ในวงเล็บจะเป็นการสั่งให้ for ทำงานไม่รู้จบ เช่น

for( ; ; )
System.out.println(“ Hello”);

6. ในคำสั่ง for สามารถมีคำสั่ง for ซ้อนอยู่ภายในได้อีก เช่น

for(int x=1 ; x<=3 ; x++)
{
System.out.println(“ x = ”+x);
for(int y=1 ; x<=5 ; y++)
System.out.println(“ y = ”+y);
}

เป็นอย่างไรกันบ้างครับกฏการใช้งานทั้ง 6 ข้อซึ่งจะทำให้เรานำไปใช้งานในรูปแบบอื่นได้อีก ผมแนะนำว่าท่านที่ยังไม่คุ้นเคยก็ให้ฝึกฝนเขียนกันเลยนะครับจะได้รู้ผิดรู้ถูกและ เป็นการเพิ่มทักษะให้กับตัวเองด้วยนะครับ สำหรับคำสั่งในการวนลูปก็คงจะมีเพียงเท่านี้แหละครับที่ใช้งานกันบ่อยๆ ก่อนที่จะจบบทความผมมีแบบทดสอบให้มาทำกันเล่นๆ นะครับให้ลองดูภาพต่อไปนี้ครับ

ในสามรูปนี้ให้เราลองเขียนโปรแกรมโดยใช้เครื่องหมาย * พิมพ์ออกมาเป็นรูปตามแบบ โดยมีข้อกำหนดว่าให้ใช้เครื่องหมาย * ได้แค่ดวงเดียวในโปรแกรม นะครับ ห้ามลักไก่ใช้ System.out.println(“ * * * * * ”); ออกมาแบบนี้นะครับ ใช้ได้แค่ดวงเดียวเท่านั้น แล้วให้มันพิมพ์ออกมาเป็นรูปดังกล่าวรูปใดรูปหนึ่งโปรแกรมละ 1 รูป ลองทำกันเล่นๆ ดูนะครับถือว่าเป็นการฝึกฝนการเขียนโปแกรมไปในตัว ถ้าใครอยากได้เฉลยก็ไปโพสต์บอกผมไว้ที่ webboard นะครับ ส่วนในบทความนี้ผมขอจบ เพียงแค่นี้นะครับเจอกันบทความหน้าครับ...

คุณอาจสนใจ
การใส่เลขหน้าข้อความ
P'Nut (22,432 - 13 ม.ค. 50)
ชนิดข้อมูลของตัวแปร
Mr.POP (65,755 - 05 พ.ย. 49)
การใส่ตัวอักษรวิ่งแบบความฝัน (Dream)
Mr.GuruZ (89,780 - 04 มิ.ย. 49)
การเปิดใช้งานโหมด Graphic ใน php
Mr.GuruZ (29,716 - 03 มิ.ย. 49)
หยุดโฆษณาขยะที่เข้ามาในเครื่อง
เว็บไทยดีดี (14,931 - 27 ต.ค. 50)
คำสั่ง break และ continue
Mr.POP (40,945 - 05 พ.ย. 49)
ภาษาซีสำหรับผู้เริ่มต้น
จักรกฤษณ์ แสงแก้ว (33,831 - 26 พ.ย. 50)
การทำตัวอักษรโครเมี่ยม
Mr.GuruZ (62,712 - 22 ก.ย. 50)