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

Tutorial JAVA

01 install Eclipse 02 intro to programming Eclipse 03 condition 04.loop 05.array 05 2 array cont 06 01 function 06 02 function cont 07 object 08 string 09 constructor 10 01 oop 10 02 oop2 11 exception 12 reading file 13 thread 14 generic 15 01 GUI 15 02 GUI2 15 03.GUI3 16 using WindowBuilder 17 event 18 database management system 19 ER diagram 20 Relational 21 Xampp 22 JDBC 23 MVC 24 SQL

ฟังก์ชัน(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 ได้

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



บทความนี้อาจจะมีที่ผิด กรุณาตรวจสอบก่อนใช้

หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor

ไม่อยากอ่าน Tutorial อยากมาเรียนเลยทำอย่างไร?

สมัครเรียน ONLINE ได้ทันทีที่ https://elearn.expert-programming-tutor.com

หรือติดต่อ

085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM

แผนที่ ที่ตั้งของอาคารของเรา

C Article


C++ Article


Java Article


C#.NET Article


VB.NET Article


Python Article


Golang Article


JavaScript Article


Perl Article


Lua Article


Rust Article


Article


Python


Python Numpy


Python Machine Learning



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

Link อื่นๆ

Allow sites to save and read cookie data.
Cookies are small pieces of data created by sites you visit. They make your online experience easier by saving browsing information. We use cookies to improve your experience on our website. By browsing this website, you agree to our use of cookies.

Copyright (c) 2013 expert-programming-tutor.com. All rights reserved. | 085-350-7540 | 084-88-00-255 | ntprintf@gmail.com

ติดต่อเราได้ที่

085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM
แผนที่ ที่ตั้งของอาคารของเรา