สมัครเรียนโทร. 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 ดีๆ

                                                                     

อาร์เรย์(ต่อ)

          อาร์เรย์ก่อนหน้านี้จะเป็นอาร์เรย์ที่มีแถวเดียว คือเมื่อมีข้อมูล อาร์เรย์จะจัดเก็บในลักษณะเป็นแถวเรียงกันเป็นแถวยาว แต่แถวยาวก็บล็อกใส่ของที่สามารถนำมาเรียงต่อกันหลายแถวเป็นอาร์เรย์ที่เรียกว่า อาร์เรย์สองมิติและสามมิติ

อาร์เรย์ 2 มิติ

            อาร์เรย์ธรรมดาก็คล้ายกับบล็อกสำหรับเก็บของ บล็อกนั้นแบ่งออกเป็นช่องสำหรับเก็บของ ส่วนอาร์เรย์ 2 มิติ ก็เปรียบเสมือนตู้ล็อกเกอร์ที่ใช้ในมหาวิทยาลัยหรือตามสนามกีฬาที่มีหลายแถวแต่ละแถวมีหลายช่อง

            การสร้างอาร์เรย์สองมิติ หากประกาศให้ตัวแปรอาร์เรย์เก็บข้อมูลประเภทใดทั้งอาร์เรย์ก็จะเก็บแต่ข้อมูลที่เป็นตัวแปรประเภทนั้น เช่น การสร้างอาร์เรย์ xx ขนาด 2x4(2แถวแนวตั้ง 4แถวแนวนอน) ให้เป็น int ก็ประกาศว่า

int [][]xx = new int[2][4];

หรือจะประกาศอาร์เรย์แบบกำหนดค่าเริ่มต้นก็ทำดังนี้

int [][]xx = {{7, 8, 4, 9},

       {9, 2, 3, 6}};

 


รูป 5-1-1

สำหรับดัชนีของอาร์เรย์สองมิติต้องระบุแถวแนวนอนคู่กับแถวแนวตั้ง เช่น เลข 7 ถูกเก็บอยู่ที่ช่อง xx[0][0] แถวที่ 0 ช่องที่ 0 ส่วน ช่องที่xx[1][2] เก็บค่า 3 เอาไว้ การตรวจสอบดัชนีมีความสำคัญเพราะถ้าเรียกผิดหรือเกินจำนวนช่องจำทำให้เกิด error ในจาวาสามารถใช้ .length เพราะใช้แทนขนาดอาร์เรย์ เช่น xx.length จะเป็นจำนวนของแถวแนวตั้ง ส่วนxx[0].length จะเป็นแถวแนวนอน และเวลาที่เขียนลูปเพื่อรับค่าเข้าหรือแสดงค่าออกของอาร์เรย์สองมิติจะต้องใช้ลูปวน 2 ชั้น

 


รูป 5-1-2

บรรทัดที่ 6 : ประกาศตัวแปร x เป็นอาร์เรย์สองมิติมี 4 แถวแนวตั้ง 5 แถวแนวนอน

บรรทัดที่ 8 : วนลูปชั้นแรกใช้เปลี่ยนแปลงตามแถวแนวตั้ง โดยมีค่าเริ่มต้นที่ 0 วนเท่าขนาดของ x โดยใช้

x.length

บรรทัดที่ 10 : วนลูปชั้นที่สองใช้เปลี่ยนแปลงตามแถวแนวนอน โดยมีค่าเริ่มต้นที่ 0 วนเท่าขนาดของ x[0] โดยใช้x[0].length

บรรทัดที่ 12 : เอาตัวแปรของลูป i และ j มาใส่ในช่องอาร์เรย์ของ x จากนั้นทำการแรนดอมเลขมาใส่

บรรทัดที่ 13 : แสดงค่าอาร์เรย์ออกทางหน้าจอ “\t” เพื่อทำการ tab เลขที่อยู่ติกันให้ห่างกันจะได้เหมือนกับรูป

ของอาร์เรย์

บรรทัดที่ 15 : เมื่อออกจากลูปของแถวแนวนอนในขึ้นบรรทัดใหม่ อาร์เรย์จะได้ไม่เรียงต่อกันเป็นแถวเดียว

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

 


รูป 5-1-3

 

คลาสสำหรับอาร์เรย์จาวา

            สิ่งที่ทำกับอาร์เรย์บ่อยๆก็จะมี การค้นหา การเรียงลำดับ การเปลี่ยนอาร์เรย์เป็นสตริง ซึ่งในจาวาก็มีคลาสที่ทำให้ไม่ต้องเขียนโค๊ดพวกนี้เอง ซึ่งอยู่ในคลาส java.util.Arrays ต้อง import มา

            binarySearch(a,x) จะเป็นหารค้นหาว่า x คือคีย์(key)หรือเลขที่เราต้องรู้ว่าอยู่ตรงไหน อยู่ดัชนีไหนในอาร์เรย์ คลาสที่จะค้นด้วยวิธี binary search

 


รูป 5-1-4

บรรทัดที่ 9 : ประกาศอาร์เรย์ที่เรียงลำดับแล้ว

บรรทัดที่ 10 : ใช้ binarySearch เพื่อหาตำแหน่ง ซึ่งจากตัวอย่างจะได้ 2 แต่ถ้าไม่มีลขนั้นอยู่ในอาร์เรย์จะคืนค่าเป็นลบ

            equals(a,b) ใช้ในการตรวจสอบอาร์เรย์แต่ละอาร์เรย์เหมือนกันหรือไม่ ซึ่งข้อมูลจะต้องเหมือนกันทั้งหมดถึงจะได้ค่า true ถ้าไม่เหมือนกันจะได้ค่า false

 

1.     
รูป 5-1-5

            sort(a) เอาสำหรับเรียงรำดับข้อมูลในอาร์เรย์ ส่วน toString(a) ช่วยเปลี่ยนอาร์เรย์ให้แสดงออกในรูปแบบของสตริงหรือข้อความ

 


รูป 5-1-6

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

 


รูป 5-1-7



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