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

                                                                 

ฟังก์ชัน(Function)

            ฟังก์ชันหรือเรียกอีกชื่อหนึ่งว่าเมท็อด(method) มีความสำคัญต่อการเขียนโปรแกรมมากเพราะช่วยในการนำส่วนของโปรแกรมที่มีการทำงานซ้ำๆแยกออกมาเป็นส่วนย่อยๆ ช่วยลดความซ้ำซ้อนของโค๊ดภายในโปรแกรมและทำให้อ่านง่ายด้วย

เรื่องทั่วไปของเมท็อด

            จริงๆก่อนหน้าที่จะสังเกตเห็นว่าเราได้มีการใช้งานเมท็อดอยู่แล้วนั่นก็คือเมท็อด main ซึ่งมีความสำคัญคือการเป็นจุดเริ่มต้นการทำงานของโปรแกรม เพราะเป็นสิ่งที่จาวากำหนดมา โดยในตอนแรกๆที่เริ่มเขียนโปรแกรมเราจะเขียนทุกอย่างลงไปใน main แต่ถ้าเขียนไปเรื่อยๆจะพบว่าการเขียนใน main อย่างเดียวนั้น โปรแกรมจะยาวมากๆและเมื่อเกิด error ขึ้น ก็อาจจะทำให้การแก้ไขเกิดความลำบาก ดังนั้นการนำเมท็อดเข้ามาช่วยจะทำให้เป็นการลดความซับซ้อนในตรงนี้ลงไป เพราะเมท็อดจะนำสิ่งที่ใช้บ่อยๆแยกออกมาเขียนต่างหาก สำหรับการตั้งชื่อของเมท็อดนิยมตั้งชื่อที่เป็นคำกริยาที่สื่อความหมายเพราะว่าเมท็อดก็คือฟังก์ชัน ฟังก์ชันก็คือการทำงานพอเป็นเรื่องเกี่ยวกับการทำๆจึงตั้งชื่อคำกริยา เช่น getName, setName, random, paint เป็นต้น

ตัวอย่างของฟังก์ชัน

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

 


รูป 6-1

บรรทัดที่ 6-11 : การเขียนฟังก์ชันจะวางไว้บนหรือล่างของเมท็อด main ก็ได้ ที่หัวเมท็อด readInt

ในบรรทัดที่ 6 จะ มีปุ่มที่เป็นเครื่องหมายขีดลบอยู่ข้างๆ เมื่อกดจะเป็นการหุบเมท็อดนั้นเอาไว้เพื่อให้อ่านโค๊ดได้ง่ายๆเราอาจหุบเมท็อดที่เขียนเสร็จแล้วเอาไว้จะได้ใส่ใจกับเมท็อดที่เหลือได้เลย โดนเมท็อด readInt จะ ทำหน้าที่ในการแสดงข้อความออกทางหน้าจอเพื่อให้ผู้ใช้ใส่ข้อมูลและการรับข้อมูลจากแป้นพิมพ์ มาใส่ตัวแปล value จากนั้นก็ส่งค่า (return) value กลับไปที่ที่เรียกเมท็อดนี้

บรรทัดที่ 12-17 : เมท็อด add จะทำหน้าที่ในการบวกข้อมูล จากนั้นจึงส่งค่าผลรวมกลับไปยังที่ที่

เรียกเมท็อดนี้

บรรทัดที่ 18-24 : เช่นเดียวกับ add แต่จะทำหน้าที่ลบ

บรรทัดที่ 25 : ภายในเมท็อด main จะมีการทำงานดังนี้

บรรทัดที่ 27 : ประกาศตัวแปร sc เป็น Scanner โดยที่บรรทัดที่ 28 ประกาศอีกตัวแปรนึงเป็น int และเรียกใช้

เมท็อด readInt เพื่อเก็บค่าจากทางแป้นพิมพ์ การทำงานของโปรแกรมก็จะกระโดดไปทำบรรทัดที่ 8-

10 จากนั้นจึงกลับมาที่ บรรทัดที่ 28 อีกครั้งเพื่อทำบรรทัดต่อไป

บรรทัดที่ 29 : ประกาศอีกตัวแปรเพื่อรับเลขจำนวนที่สองที่ใช้สำหรับการคำนวณ และจะทำแบบเดียวกับ

บรรทัดที่ 27

บรรทัดที่ 31 : เรียกใช้เมท็อด add

บรรทัดที่ 32 :  เรียกใช้เมท็อด minus

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

 


รูป6-2

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

รายละเอียดเมท็อด

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

หัวเมท็อด

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

            Public static ประเภทของลัพธ์ ชื่อเมท็อด (พารามิเตอร์ที่เข้าเมท็อด)

-          ชื่อของเมท็อดก็คือชื่อที่ใช้ระบุว่าเมท็อดนี้ทำงานอะไร การตั้งชื่อเหมือนกับการตั้งชื่อตัวแปรแต่นิยมใช้คำกริยาสำหรับบอกว่าเมท็อดจะทำอะไร บางทีก็ตั้งเป็นคำนาม แต่การตั้งเป็นคำนามจะนิยมใช้สำหรับการคืนค่าของนามนั้นออกไปเช่น x, width แต่บางคนก็พยายามตั้งเป็นคำกริยาเช่น getWidth, getX

-          ประเภทองผลลัพธ์คือเมื่อเมท็อดทำงานเสร็จจำให้คืนค่าอะไรออกไปก็ให้ตั้งให้ตรงกับที่จะสิ่งออกไป เช่นในเมท็อด add ของบน ต้องคืนผลลัพธ์ที่ได้จากการบวกตัวเลขจำนวนเต็มสองจำนวนดังนั้นก็ต้องคืนค่าผลลัพธ์ที่เป็นจำนวนเต็ม จึงมีคำว่า int หน้าชื่อเมท็อด add

-          พารามิเตอร์(parameter) คือตัวแปรที่รับเข้ามาจากที่ๆเรียกเมท็อดเพื่อให้มาประมวลผลภายในเมท็อด ดังนั้นถ้ามีหลายๆเมท็อดที่ชื่อเหมือนกันโปรแกรมจะเลือกเมท็อดที่พารามิเตอร์ตรงกับเมท็อดนั้นๆ เรียกว่า overloading

 


รูป 6-3

จากในรูปมีเมท็อด add สองอันแต่รับพารามิเตอร์คนละตัวดังนั้นถ้ามีการเรียกใช้โปรแกรมๆจะดูว่าเมท็อดไหนรับพารามิเตอร์แบบไหนแล้วจะส่งการทำงานไปที่เมท็อดนั้นๆ ดังนั้นในบรรทัดที่ 23 จะส่งการทำงานไปที่บรรทัดที่ 11 ส่วนบรรทัดที่ 28 จะส่งการทำงานไปที่บรรทัดที่ 6

ตัวเมท็อด

            ตัวเมท็อดคือส่วนที่เขียนอยู่ระหว่าง { และ } ภายใต้หัวของเมท็อด หลังจากการทำงานของเมท็อดเสร็จเรียบร้อยก็จะกลับไปทำงานคำสั่งต่อไปใน main ต่อ

-          ภายในตัวเมท็อดหากเราทำการประกาศตัวแปร ตัวแปรนั้นจะเป็นของเมท็อดๆนั้นเท่านั้น ไม่สามารถนำไปใช้ที่อื่นได้ เรียกว่า ตัวแปรเฉพาะที่(local variable) ซึ่งตัวแปรเฉพาะที่ชื่อเหมือนกันแต่อยู่กันคนละเมท็อดก็ถือว่าเป็นคนละตัวแปรเลยไม่เกี่ยวข้องกัน

-          ถ้าเมท็อดมีผลลัพธ์ที่ต้องคืนค่าออกไป จะต้องมีคำสั่ง return x; ซึ่งตัวแปร x จะต้องเป็นตัวแปรประเภทเดียวกันกับประเภทของตัวแปรที่จะคืนค่าออกไป แต่ถ้าไม่มีการคืนค่าออกไปเมท็อดจะสิ้นสุดการทำงานที่เครื่องปิดของ } พอดี

 


รูป 6-4

บรรทัดที่ 17 : ใช้เมท็อด f โดยให้ประเภทตัวแปรที่คืนค่าออกไปเป็น double แต่เมื่อ บรรทัดที่ 19 คืนค่าของไป

เป็น int จะเปลี่ยนเป็น double ให้อัตโนมัติ

บรรทัดที่ 23 : ใช้เมท็อด f โดยให้ประเภทตัวแปรที่คืนค่าออกไปเป็น int แต่เมื่อต้องการคืนค่าคืนเป็น

double(0.0) โปรแกรมจะ error เพราะไม่สามารถเปลี่ยนค่าจาก double  เป็น int ได้

ดังนั้นการต้องคืนค่าประเภทเดียวกันกับประเภทของตัวแปรที่จะคืนค่าออกไป

            



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