สมัครเรียนโทร. 085-350-7540 , 084-88-00-255 , ntprintf@gmail.com

ฟรี TUTORIAL JAVA

ฟรีtutorial JAVA 01 install Eclipse ฟรีtutorial JAVA 02 intro to programming Eclipse ฟรีtutorial JAVA 03 condiotion ฟรีtutorial JAVA 04.loop ฟรีtutorial JAVA 05.array ฟรีtutorial JAVA 05 2 array cont ฟรีtutorial JAVA 06 01 function ฟรีtutorial JAVA 06 02 function cont ฟรีtutorial JAVA 07 object ฟรีtutorial JAVA 08 string ฟรีtutorial JAVA 09 constructor ฟรีtutorial JAVA 10 01 oop ฟรีtutorial JAVA 10 02 oop2 ฟรีtutorial JAVA 11 exception ฟรีtutorial JAVA 12 reading file ฟรีtutorial JAVA 13 thread ฟรีtutorial JAVA 14 generic ฟรีtutorial JAVA 15 01 GUI ฟรีtutorial JAVA 15 02 GUI2 ฟรีtutorial JAVA 15 03.GUI3 ฟรีtutorial JAVA 16 using WindowBuilder ฟรีtutorial JAVA 17 event ฟรีtutorial JAVA 18 database management system ฟรีtutorial JAVA 19 ER diagram ฟรีtutorial JAVA 20 Relational ฟรีtutorial JAVA 21 Xampp ฟรีtutorial JAVA 22 JDBC ฟรีtutorial JAVA 23 MVC ฟรีtutorial JAVA 24 SQL ฟรีtutorial JAVA
ขอย้ำอีกครั้งว่าเนื้อหาที่เห็นอยู่นี้ไม่ใช่เนื้อหาตามปกติที่เราสอนในห้องเรียนเป็นแค่ tutorial ไว้อ่านประกอบเฉยๆ แทบไม่เกี่ยวกันเลย และไม่เกี่ยวกับการบ้านที่ทำครับ ในห้องเรียนเนื้อหาจะเยอะกว่านี้ค่อนข้างมากครับ
ขอบคุณน้องตี้ อย่างสูงสำหรับ Tutorial ดีๆ

ฟรี TUTORIAL DATA STRUCTURE

DATA STRUCTURE

ฟรีtutorial : DATA STRUCTURE : 01 1การเรียงลำดับ(Sorting) ฟรีtutorial : DATA STRUCTURE : 01 2 การเรียงลำดับ2 ฟรีtutorial : DATA STRUCTURE : 02 อาร์เรย์ลิสต์ (Array List) ฟรีtutorial : DATA STRUCTURE : 03 ลิงค์ลิสต์ (Linked List) ฟรีtutorial : DATA STRUCTURE : 04 สแต๊ค ฟรีtutorial : DATA STRUCTURE : 05 1 คิวและไพออริตี้คิว ฟรีtutorial : DATA STRUCTURE : 05 2 คิวและไพออริตี้คิว ฟรีtutorial : DATA STRUCTURE : 06 1 ไบนารีทรี ฟรีtutorial : DATA STRUCTURE : 06 2 ไบนารีเสิร์ชทรี ฟรีtutorial : DATA STRUCTURE : 06 3 ไบนารีเสิร์ชทรี ฟรีtutorial : DATA STRUCTURE : 08 แฮช ฟรีtutorial : DATA STRUCTURE : 09 กราฟ ฟรีtutorial : DATA STRUCTURE :
ขอย้ำอีกครั้งว่าเนื้อหาที่เห็นอยู่นี้ไม่ใช่เนื้อหาตามปกติที่เราสอนในห้องเรียนเป็นแค่ tutorial ไว้อ่านประกอบเฉยๆ แทบไม่เกี่ยวกันเลย และไม่เกี่ยวกับการบ้านที่ทำครับ ในห้องเรียนเนื้อหาจะเยอะกว่านี้ค่อนข้างมากครับ
ขอบคุณน้องตี้ อย่างสูงสำหรับ Tutorial ดีๆ

                                                       

คำสั่งลูป(Loop)หรือการทำงานซ้ำ

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

ลูปแบบ while

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

 

while(เงื่อนไข)

{

            คำสั่ง 1;

}

คำสั่ง 2;

 

 


รูป 4-1

 

 

 

ตัวอย่าง

 


รูป 4-2

 

โปรแกรมนี้เป็นโปรแกรมให้พิมพ์ตัวเลขระหว่าง 1 ถึง 100 ที่หาร3และ5ลงที่

บรรทัดที่ 6 :       ประกาศตัวแปร x  เป็นชนิด int

บรรทัดที่ 8 : กำหนดค่าเริ่มต้นให้กับตัวแปร x โดยให้มีค่าเป็น 1 หมายความว่าเมื่อลูปทำการตรวจสอบเงื่อนไข

      จะเริ่มตรวจสอบจาก 1 เป็นตัวแรก

บรรทัดที่ 10 : คำสั่งลูป while พร้อมกำหนดเงื่อนไข ในที่นี้เงื่อนไขคือ ให้ทำซ้ำเรื่อยๆจนกระทั้ง x มีค่าเท่ากับ

       100 จึงให้ออกจากลูปไปทำคำสั่งนอกลูปได้

บรรทัดที่ 12-16 : ภายในลูป while มีการตรวจสอบเงื่อนไขด้วย if ว่าหากหารด้วย 3 และ 5 แล้วเหลือเศษศูนย์

หรือ หารลงตัว ให้แสดงผลออกทางหน้าจอ

บรรทัดที่ 18 : เพิ่มค่า x ในการตรวจสอบ โดยเพิ่มทีละ 1 จนกว่าค่า i จะถึง 100  กล่าวคือรอบแรกลูปจะใช้ x ที่

        มีค่าเท่ากับ 1 เพราะ ค่าเริ่มต้นเท่ากับ 1 เมื่อเข้าสู่ลูปจนถึงช่วงเพิ่มค่า x จะเพิ่มเป็น 2 และเป็น 3   

        4 5 ...100

            จะเห็นได้ว่าความสำคัญที่ทำให้ลูป while ทำงานได้ จะต้องไม่ลืม 3 ขั้นตอนสำคัญ ได้แก่ กำหนดค่าเริ่มต้น กำหนดเงื่อนไข เพิ่มค่า/ลดค่า

 

ลูปแบบ do-while

            ลูป do-while แตกต่างจากลูป while ตรงที่จะมีการทำงานก่อนเข้าลูป 1 ครั้ง

 

do()

{

            คำสั่ง 1;

} while(เงื่อนไข);

คำสั่ง 2;

 


รูป4-3

 

 

 

ตัวอย่าง

 


รูป4-4

            โปรแกรมนี้ต้องการแสดงตัวเลข 1-10

บรรทัดที่ 6 : ประกาศตัวแปร count เป็นตัวแปรชนิด int ให้ค่าเริ่มเป็น 1

บรรทัดที่ 8 : คำสั่ง do มีคำสั่งภายในคือ คำสั่งแสดงผล หลังจากแสดงผลเสร็จให้ทำการเพิ่มค่าตัวแปร count

     อีก 1

บรรทัดที่ 11 : ทำการวนลูปหาก count มีค่าเท่ากับ 11 หรือมากกว่า ให้ออกจากลูป

ผลลัพธ์ที่ได้

 


รูป4-5

ลูป for

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

 

 

 

for(ค่าเริ่มต้น;เงื่อนไข;เพิ่มค่า/ลดค่า)

{

            คำสั่ง 1;

}

คำสั่ง 2;

ลูป for จะคล้ายกับ if คือถ้ามีคำสั่งเดียวไม่ต้องมี

{ } ได้

 


รูป 4-6

 

 

 

ตัวอย่าง

 


รูป 4-7

โปรแกรมต้องการให้แสดงตัวอักษร x สิบตัว

บรรทัดที่ 6 : ใช้ลูป for(ค่าเริ่มต้น;เงื่อนไข;เพิ่มค่า/ลดค่า) โดยให้ค่าเริ่มต้นเป็น 1 และกำหนดเงื่อนไขให้พิมพ์ค่าออกตราบเท่าที่ i น้อยกว่าหรือเท่ากับ 10

บรรทัดที่ 8 : คำสั่งแสดงค่า

ได้ผลลัพธ์เป็นตัวอักษร x สิบตัว

 


รูป 4-8

 

 

 

 

 

 

 

 

ลูป Nested for

           

 

เป็นการใช้ลูป for ซ้อน ลูป for

 

for(ค่าเริ่มต้น;เงื่อนไข;เพิ่ม/ลดค่า)

{

for(ค่าเริ่มต้น;เงื่อนไข;เพิ่ม/ลดค่า)

{

for(ค่าเริ่มต้น;เงื่อนไข;เพิ่ม/ลดค่า)

{

                                    คำสั่ง 1;

}

}

}

 

 


รูป4-9

 

 

 

คำสั่ง 2;

 

ตัวอย่างการใช้ Nested for loop

 


รูป 4-10

ต้องการให้โปรแกรมแสดงรูปปีรามิดที่มีเงาอยู่ทางซ้ายออกทางหน้าต่าง console.

บรรทัดที่ 7 : เป็นการใช้คำสั่ง for ตัวแรกเพื่อวนลูปสร้างแถวแนวนอน โดยให้สร้างทั้งหมด 11 แถว

บรรทัดที่ 9 : ให้โปรแกรมแสดง เครื่องหมาย – แทนเงาของปีรามิดโดยกำหนดค่าเริ่มต้นที่แถวที่ 1 ให้มีเงื่อนไข

      ว่าต้องแสดงเครื่องหมาย – เป็นจำนวนทั้งหมด 10-i  ครั้งแรก i =1 จะแสดงเครื่องหมาย – 9 ครั้ง

บรรทัดที่ 14 : ให้โปรแกรมแสดง เครื่องหมาย x แทนตัวของปีรามิดโดยให้แสดง x ออกมาครั้งละ (i*2)+1 ครั้ง

      แรก i เป็น 1 จะแสดง x ออกมาหนึ่งครั้ง อย่าลืมเครื่องหมาย “” ใน ( )

ผลลัพธ์ของโปรแกรมเป็นดังนี้

 


รูป 4-11

ลูป while(true) และ for(;;)

            คือนอกจากคำสั่ง while และ for ที่ต้องกำหนดเงื่อนไขให้ลูปทำงานแล้วบางครั้งเราก็ต้องการการทำงานจำพวกที่ให้ผู้ใช้ป้อนข้อมูลได้เรื่อยๆ ไม่จำกัดจนกว่าผู้ป้อนข้อมูลจะพอ สามารถใช้ลูปอีกแบบได้คือ ลูป while(true) หรือ for(;;) สองอย่างนี้มีค่าเท่ากัน คือกำหนดให้ลูปเป็นจริงเสมอก็จะทำการวนลูปไปเรื่อยๆจนกว่าจะพอใจ หรือใช้คำสั่ง break; ในการการออกจากลูป

 

 

คำสั่ง break; และ continue;

 

 

คำสั่ง break; เป็นคำสั่งให้โปรแกรมออกจากลูป

              ทันทีที่เจอคำสั่งนี้ มักใช้กับ while(true)

 

 

 

while ( true )

{

   คำสั่ง;

   break ;

   คำสั่ง;

}

 

 

 

 

 

คำสั่ง continue; เป็นคำสั่งให้โปรแกรมวนกลับขึ้น

ไปตรวจสอบเงื่อนไขลูปใหม่โดยข้ามการ

ทำงานรอบนั้นไปเลย

 

while ( true )

{

   คำสั่ง;

   continue ;

   คำสั่ง;

}

 

การใช้คำสั่ง break; และ continue;

 


รูป 4-12

            โปรแกรมนี้จะแสดงให้เห็นรอบของจำนวนการทำงานของลูป for ที่ให้วนลูปตั้งแต่ 1 ถึง 10 แต่เมื่อ i มีค่าเท่ากับ 3 จะไม่แสดงผลของรอบที่  i = 3 ออกทางหน้าจอเพราะให้ข้าม 3 ด้วยคำสั่ง continue; และเมื่อ i=5 จะทำการ break; ออกจากลูปคือลูปจะไม่วนจนถึง 10 รอบตามที่ได้ตั้งเงื่อนไขไว้

ผลลัพธ์จึงเป็นดังนี้

 


รูป 4-13

 

สิ่งที่ต้องหลีกเลี่ยง infinite loop

            Infinite loop คือลูปไม่รู้จบ เกิดจากความผิดพลาดเวลาที่เรากำหนดเงื่อนไข ทำให้ลูปทำงานวนซ้ำออกจากลูปไม่ได้เครื่องก็จะเริ่มช้าเพราะรันโปรแกรมติดๆกัน

 


รูป 4-14

จากโปรแกรมนี้เมื่อกำหนดให้ค่า i เป็น 1 ยังกำหนดให้เงื่อนไขเป็น เมื่อ i = 1  จะพิมพ์ค่า i ออกมา แต่ i มีค่าเท่ากับ 1 อยู่แล้วมันก็จะพิมพ์ค่า i ออกมาไม่รู้จบ

 


รูป 4-15

เมื่อเกิดการรันโปรแกรมไม่รู้จบให้ทำการกดเครื่องหมายสีเหลี่ยมสีแดงที่มุมขวาบนของหน้าต่าง console เพื่อปิดการันโปรแกรมตามด้วยเครื่องกากบาทข้างๆ



แผนผังการเรียนเขียนโปรแกรม