Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore แผนการจัดการเรียนรู้วิชาจาวาเดกส์ทอปเบื้องต้น

แผนการจัดการเรียนรู้วิชาจาวาเดกส์ทอปเบื้องต้น

Published by pornpithak, 2022-06-03 23:48:02

Description: รหัสวิชา 20903-1006
วิชาจาวาเดกส์ทอปเบื้องต้น
ระดับประกาศนียบัตรวิชาชีพ
สาขาวิชาคอมพิวเตอร์โปรแกรม

Search

Read the Text Version

3 ห่วง ความพอประมาณ ความมเี หตุผล การสรา้ งภูมิคุ้มกนั ในตัว ประเด็น - ตอ้ งการให้ผเู้ รยี นปฏิบัติ การจัดกิจกรรม - แบง่ กลุม่ ผู้เรยี นให้พอดกี บั กิจกรรมอยา่ งทว่ั ถงึ ตาม - แบ่งกลุ่มคละ จำนวนนักเรียน ความสามารถ ความสามารถของนักเรยี น ส่ือ/อปุ กรณ์ - กำหนดกิจกรรมการเรียนรู้ - เพอ่ื ตอ้ งการใหผ้ ู้เรียนเกิดการ - เตรยี มชุดคำถามใหพ้ รอ้ ม เหมาะสมกับเวลาท่ีกำหนด เรียนรู้ตามเป้าหมายท่ีกำหนด ตามลำดบั กิจกรรมการเรียน แหลง่ เรยี นรู้/ - มอบหมายภาระงานและ - ผูเ้ รียนนำความรไู้ ป - สงั เกตพฤตกิ รรมและให้ ฐานการเรียนรู้ ชน้ิ งานเหมาะสมกับ ประยุกตใ์ ช้กับภาระงานได้ ความชว่ ยเหลอื เมอื่ นักเรยี น ความสามารถผู้เรยี นและ - รบั ฟังความคิดเห็น และ มีปัญหา สอดคลอ้ งกับเปา้ หมายการ วิเคราะห์ วิจารณอ์ ยา่ งมเี หตุผล - ฝกึ การค้นควา้ หาความรู้ เรยี นรู้ จากเพอื่ น และระบบ - ต้องการให้นักเรียนได้ปฏบิ ัติ อนิ เทอร์เน็ต - จำนวนใบความรู้ ใบงาน กจิ กรรมได้จริงตามจดุ ประสงค์ เพื่อแกป้ ัญหาในแบบฝึก และวัสดอุ ุปกรณ์ เหมาะสม การเรยี นร้ทู ี่กำหนดไว้ ปฏิบัติ และใบงาน กับกิจกรรม และปริมาณ - เตรยี มสือ่ อปุ กรณใ์ หพ้ รอ้ ม เพียงพอกบั จำนวนนกั เรยี น - ตอ้ งการใหน้ กั เรยี นใชว้ สั ดุ ก่อนการจดั กจิ กรรม -ตรวจความพร้อมของเคร่ือง อุปกรณท์ ีม่ คี วามพร้อมใน - มลี ำดบั ข้นั ตอนการใช้ส่ือ คอมพวิ เตอรก์ อ่ นเรยี น และ ห้องปฏิบัติการ มาปฏิบัติการ และจดั เก็บอยา่ งเป็นระบบ ปิดเครือ่ ง ทดลองตามตัวชว้ี ัด - มีความชำนาญในการใช้ -เกบ็ เก้าอีน้ ่ังให้เรียบรอ้ ยหลัง สื่ออปุ กรณ์ เลิกเรยี น เพ่ือความเรยี บรอ้ ย และประหยัด - เตรยี มหอ้ งปฏบิ ัตกิ าร - ห้องปฏบิ ตั กิ ารคอมพิวเตอร์ คอมพิวเตอรใ์ ห้พร้อมกอ่ น เหมาะสมกบั กจิ กรรมท่ี การทดลอง กำหนด

3 ห่วง ความพอประมาณ ความมเี หตผุ ล การสรา้ งภูมิคุ้มกันในตวั ประเดน็ - จดั ทำแบบประเมนิ ผลงาน - ต้องการประเมนิ ผลการเรยี นรู้ - วางแผนการวัด/ การประเมนิ ผล และประเมินพฤตกิ รรมได้ เหมาะสมกบั เป้าหมายการ เรยี นรู้ ตามเป้าหมายท่ีกำหนด ประเมนิ ผลตามขนั้ ตอนของ กิจกรรม - แบบประเมินผลมีการ ตรวจสอบความเท่ยี งตรงใน การวดั ตามตวั ชว้ี ดั เงอื่ นไขความรู้ทค่ี รูตอ้ งมีกอ่ นสอน 3. หลักปรัชญาของเศรษฐกิจพอเพียง 1. ความหมายคอมพวิ เตอร์และสารสนเทศ 4. จิตวิทยาในการสอน 2. การใช้คอมพิวเตอร์ 3. มีความยุติธรรม เงอ่ื นไขคณุ ธรรมของครู 4. ตรงตอ่ เวลา 1. มคี วามรักเมตตาศษิ ย์ 2. มีความรบั ผิดชอบ 8.2 คุณลักษณะอยอู่ ยา่ งพอเพียงทเี่ กดิ กับผู้เรียน พอประมาณ มเี หตผุ ล มภี มู ิคุม้ กันในตวั ทด่ี ี 1. นกั เรยี นกำหนดหน้าท่ขี องสมาชิก 1. นกั เรียนนำข้อมูลการหา 1. วางแผนการทำงานกลุ่มอยา่ ง ภายในกลุ่มได้เหมาะสมกับศักยภาพของ คำตอบมาวิเคราะหไ์ ด้อยา่ ง ละเอียดเปน็ ขน้ั ตอน แต่ละคน เป็นเหตุเปน็ ผลเพ่ืออธิบาย 2. เตรยี มวัสดุอุปกรณ์การทดลองได้ 2. นกั เรยี นใช้วสั ดอุ ุปกรณใ์ นการทดลอง สรปุ เนื้อหาสาระ ครบถว้ น และตรงตามกจิ กรรมการ ไดเ้ หมาะสมกับกจิ กรรมการทดของ 2. นักเรยี นสามารถนำข้อมลู ทดลอง 3. นักเรยี นสามารถหาคำตอบได้ มาตอบคำถามได้อย่างถูกตอ้ ง 3. ศกึ ษาวธิ ีการทำใบงานอยา่ ง สอดคล้องกับอปุ กรณ์ท่ีมี รอบคอบ เง่ือนไขความรู้ 1. การประยุกตก์ ารตดิ ตอ่ ฐานขอ้ มูลกับเครอื ข่าย 2. หลักการพฒั นาการเขียนโปรแกรม เงอื่ นไขคณุ ธรรม 1. ความสามัคคีในกล่มุ 2. ความรับผดิ ชอบ 3. แบง่ ปนั และเออื้ เฟือ้ เผอื่ แผ่

สง่ ผลต่อความสมดุล มนั่ คง ย่ังยนื ใน 4 มิติ ดังนี้ ด้าน สมดุลและพร้อมรบั การเปล่ียนแปลงในดา้ นต่างๆ องคป์ ระกอบ วัตถุ สังคม สง่ิ แวดล้อม วฒั นธรรม - มคี วามรู้เกย่ี วกับ ความรู้ - ความรู้ในการสืบคน้ - มีความรู้ในการจดั แบ่ง - มีความรู้ในการดแู ล คอมพวิ เตอรใ์ นการ ประยุกตใ์ ช้ใน ข้อมูลจากคอมพวิ เตอร์ หน้าท่ภี ายในกลุ่มไดอ้ ยา่ ง รกั ษาความสะอาดการ กจิ กรรมในท้องถิ่น อยา่ งถูกตอ้ ง เหมาะสม จัดการขยะอย่าง ใชเ้ ทคโนโลยใี น ชวี ติ ประจำวนั ได้ - มีความร้ใู นการปฏิบตั ิตน ถูกต้องของ - ตระหนักถึงคุณค่า ท่ีจะทำงานรว่ มกบั ผ้อู ่ืน หอ้ งปฏบิ ัติการ ของเทคโนโลยี คอมพิวเตอร์ ทักษะ - มีทกั ษะในการใชว้ สั ดุ - ทำงานรว่ มกันภายใน - รกั ษาความสะอาด อุปกรณอ์ ยา่ งปลอดภยั กลมุ่ ตามทไ่ี ดร้ ับมอบหมาย ของห้องปฏบิ ตั ิการ และประหยัด จนสำเร็จและมีความสุข คอมพิวเตอรใ์ นการ สืบคน้ ขอ้ มูล ค่านิยม - เห็นความสำคญั ของการ - มีความรับผดิ ชอบตอ่ การ - มจี ิตสำนกึ ในการ ใชว้ ัสดุอุปกรณใ์ นการ ทำงานของกล่มุ รกั ษาสภาพแวดลอ้ ม สบื คน้ ขอ้ มลู อย่างประหยัด - ยอมรับความคิดเหน็ ซงึ่ ของหอ้ งปฏิบัติการ คมุ้ ค่า กันและกนั มคี วามเสยี สละ คอมพวิ เตอร์ใหส้ ะอาด อดทน เป็นระเบยี บ 9. การวัดและประเมนิ ผล รายการประเมิน วิธีการ เครื่องมอื ท่ีใช้ เกณฑ์การประเมินผา่ น - การทดสอบกอ่ นเรยี น การทดสอบ แบบทดสอบก่อนเรียน จำนวน 10 ขอ้ ได้ระดบั 2 ข้นึ ไป การประเมนิ ระหว่างเรียน การสงั เกต แบบประเมินพฤตกิ รรม ตอบคำถามทุกขอ้ การซักถาม การเรยี น ไดร้ ะดับ 2 ขน้ึ ไป การทำแบบฝึกปฏบิ ตั ิ ต้งั คำถามให้ครอบคลมุ จุดประสงค์ ตอบถูก 8 ข้อขน้ึ ไป การประเมนิ หลังเรียน การทดสอบ แบบฝึกหัดและใบ กจิ กรรมที่ 9 แบบทดสอบหลังเรยี น จำนวน 10 ข้อ

10. บันทกึ หลงั สอน 10.1 ผลการใช้แผนการจัดการเรียนรู้ 10.1.1 เนอื้ หาสอดคล้องกบั จุดประสงค์เชิงพฤติกรรม 10.1.2 สามารถนำไปใช้ปฏิบัติการสอนไดค้ รบตามกระบวนการเรยี นการสอน 10.1.3 เวลาที่กำหนดไว้ในแผนการสอนมีความเหมาะสม 10.2 ผลการเรียนรขู้ องนักเรียน นกั ศึกษา 10.2.1 นักศกึ ษาส่วนใหญม่ คี วามสนใจใฝ่รู้ เขา้ ใจในบทเรยี น อภิปรายตอบคำถามในกลมุ่ และ ร่วมกนั ปฏิบตั ิใบงานทไี่ ดร้ บั มอบหมาย 10.2.2 นักศึกษากระตือรอื ร้นและรับผิดชอบในการทำงานกลมุ่ เพอ่ื ให้งานสำเรจ็ ทนั เวลาท่ี กำหนด 10.2.3 นกั ศกึ ษาเลือกสามารถนำความรไู้ ปใชไ้ ด้จริงในชวี ิตประจำวัน 10.3 แนวทางการพฒั นาคณุ ภาพการเรียนรู้ นกั เรยี นสามารถนำความร้ทู ี่ไดจ้ ากการเรยี นรูใ้ นหนว่ ยนไ้ี ปประยกุ ตใ์ ชใ้ นชวี ติ ประจำวนั และ เชือ่ มโยงกบั วิชาชพี ไดอ้ ย่างเหมาะสม

แผนการจดั การเรยี นรมู้ ุ่งเนน้ สมรรถนะ หน่วยท่ี 10 ชื่อหน่วย การพัฒนาฐานข้อมูลด้วยจาวา สอนครงั้ ที่ 16-18 ชอื่ เรอื่ ง การพัฒนาฐานขอ้ มูลด้วยจาวา ชวั่ โมงรวม 9 จำนวนชั่วโมง 9 1. สาระสำคญั จากการกำหนดคุณลักษณะมายเอ็สคิวแอล (Configuring MySQL Server Properties) ของบทท่ี ผ่านมา สามารถนำ NetBeans ทำการเชื่อมตอ่ กับ MySQL ผา่ นทาง Localhost ซง่ึ ใช้การจดั การกับเครอื่ งแม่ ข่ายจำลอง ด้วยสทิ ธข์ิ องผู้บริหารระบบ (Administration) คอื root และรหัสผ่าน 1234 ไดส้ มบูรณ์เรียบร้อย แลว้ 2. สมรรถนะประจำหนว่ ย สรา้ งฐานขอ้ มลู ดว้ ยจาวา 3. จดุ ประสงค์การเรียนรู้ 3.1 ดา้ นความรู้ 3.1.1 บอกวิธีการสร้างตารางในระบบฐานข้อมูลได้ 3.1.2 อธิบายการควบคมุ ตารางฐานขอ้ มูลได้ 3.1.3 บอกการเขยี น Script ทำงานร่วมกับการทำงานของฐานขอ้ มูลได้ 3.2 ด้านทกั ษะ นกั เรียนมคี วามรู้ ทักษะการโปรแกรมภาษาจาวาในรปู แบบการเขียน Script และมที ัศนคติ ทด่ี ี 3.3 คณุ ลักษณะที่พงึ ประสงค์ (อา้ งองิ จากคา่ นยิ มหลักของคนไทย 12 ประการ และ สมรรถนะขา้ มสายงาน) 3.3.1 เขา้ เรยี นตรงเวลา 3.3.2 แตง่ กายตามระเบยี บการปฏบิ ตั ิงาน 3.3.3 ผลงานประณีตเรียบร้อย 3.3.4 ปดิ เครอื่ งคอมพิวเตอร์เมอ่ื เลกิ ใชง้ าน 3.3.5 มีนำ้ ใจชว่ ยเหลือผู้อนื่ และการปฏิบัติงานร่วมกบั ผอู้ น่ื 4. เนื้อหาสาระการเรยี นรู้ 4.1 สรา้ งและทำการเชื่อมต่อฐานขอ้ มูลใหพ้ รอ้ มใช้งาน 4.2 สรา้ งตารางให้กบั ฐานขอ้ มลู 4.3 การสงั่ งานตารางขอ้ มลู 4.4 แนะนำการโปรแกรมบนเครือขา่ ยดว้ ยจาวา

5. กิจกรรมการเรียนการสอน ครูแจง้ จุดประสงคก์ ารเรียนรู้ การวดั ผลประเมินผล ขอ้ ตกลงขณะเรยี น และให้นกั เรียนทำ แบบทดสอบก่อนเรียน 5.1 ข้นั นำเขา้ สบู่ ทเรียน 5.1.1 ผ้สู อนจัดเตรยี มเอกสาร พรอ้ มกบั แนะนำรายวชิ า วิธีการใหค้ ะแนนและวธิ ีการเรยี นเร่อื ง การพฒั นาฐานข้อมูลด้วยจาวา 5.1.2 ผ้สู อนแจง้ จดุ ประสงคก์ ารเรยี นของหน่วยท่ี 10 และขอให้ผู้เรียนรว่ มกนั ทำกจิ กรรมการ เรยี นการสอน 5.1.3 ผู้สอนให้ผู้เรียนแสดงความรู้ โดยตง้ั คำถามว่า การพัฒนาฐานข้อมลู ด้วยจาวามหี ลักการ อย่างไรพรอ้ มให้เหตผุ ลประกอบ 5.2 ขน้ั สอน 5.2.1 ผู้สอนทดสอบความรู้ความเข้าใจเก่ยี วกบั ความร้เู บอ้ื งตน้ เกย่ี วกบั การพฒั นาฐานขอ้ มูลด้วย จาวา โดยใหผ้ เู้ รยี นทำแบบทดสอบกอ่ นเรยี น 5.2.2 ผ้สู อนอธิบายเน้ือหาเกีย่ วกับบทเรียนวิชา การเขยี นโปรแกรมโดยใชเ้ ครื่องมอื กราฟิกโหมด หนว่ ยที่ 10 เรอ่ื ง การพัฒนาฐานข้อมลู ดว้ ยจาวาและใหผ้ เู้ รยี นศึกษาเอกสารประกอบการสอน หน่วยท่ี 10 5.2.3 ผสู้ อนและผู้เรียนรว่ มกนั อธบิ ายพรอ้ มยกตัวอยา่ งถึงการพัฒนาฐานข้อมูลด้วยจาวาตามท่ี ไดศ้ ึกษาจากบทเรียนคอมพวิ เตอร์ช่วยสอน 5.3 ขนั้ ประกอบกจิ กรรมการเรียน 5.3.1 ผู้สอนให้ผู้เรียนทำแบบฝึกหัดท้ายหนว่ ยที่ 10 5.3.2 ผสู้ อนให้ผเู้ รยี นแบ่งกล่มุ ๆ ละเท่า ๆ กนั ทำการศึกษาเรอื่ ง 5.4 กลยทุ ธใ์ นการจัดการเรียนรู้ 5.4.1 ครูให้เพอ่ื นชว่ ยเพ่อื น ให้นักเรยี นกลุม่ เกง่ และปานกลาง อยู่กบั กล่มุ นกั เรียนท่เี รียนอ่อน ชว่ ยกันทำความเข้าใจในเนอ้ื หา 5.4.2 สอนแบบ Active Learning โดยใชเ้ ครื่องมือบนอินเทอรเ์ น็ต http://www.linoit.com สอบถามนักเรยี นว่า นักเรยี นอยากได้หอ้ งเรยี นอยา่ งไรเรียนแล้วมีความสขุ แสดงความคิดเห็นแตล่ ะคน เพอื่ เป็นการกระตุ้นเตรียมความพร้อมในการเรียน 5.5 ข้นั สรุป 5.5.1 ผู้สอนและผู้เรยี นรว่ มกนั สรุปเนือ้ หาท่ไี ด้เรยี นใหม้ คี วามเข้าใจในทิศทางเดียวกนั 5.5.2 ผู้สอนให้ผ้เู รยี นศกึ ษาเพมิ่ เติมนอกหอ้ งเรยี น ด้วยบทเรยี นคอมพิวเตอรช์ ่วยสอนที่จัดทำขึ้น 5.6 ขัน้ ทดสอบหลงั เรียน นักเรียนทำใบกจิ กรรมที่ 10 และแบบทดสอบหลังเรียน 6. สอื่ การเรียนรู้/แหล่งการเรยี นรู้ 6.1 สอื่ สิ่งพิมพ์ 6.1.1 เอกสารประกอบการสอนวิชาจาวาเดกส์ทอปเบือ้ งตน้ 6.1.2 แบบทดสอบกอ่ นเรียน เร่ือง การพฒั นาฐานข้อมูลดว้ ยจาวา 6.1.3 ใบกิจกรรมที่ 10 เรื่อง การพัฒนาฐานขอ้ มูลด้วยจาวา

6.1.4 แบบทดสอบหลังเรียน เรอ่ื ง การพฒั นาฐานขอ้ มลู ด้วยจาวา 6.2 สื่อโสตทัศน์ 6.2.1 Powerpoint เร่อื ง การพัฒนาฐานขอ้ มลู ด้วยจาวา 6.2.2 เคร่อื งฉายโปรเจคเตอร์ 6.2.3 เครื่องคอมพิวเตอรแ์ บบพกพา (Notebook) 6.3 อนื่ ๆ (โปรดระบุ)

7. การบรู ณาการ/ความสมั พนั ธ์กบั วิชาอน่ื 7.1 การบูรณาการสะเตม็ ศกึ ษา S: Science T: Technology E: Engineering M: Mathematics • การคน้ หาขอ้ มูล • ใช้อนิ เทอร์เนต็ สืบค้น วธิ ีการค้นหาข้อมลู ใน 6 • คำนวณเวลาในการ คดั เลือกหรอื คัด ขอ้ มลู ขน้ั ตอน สืบค้นข้อมูล แยกข้อมลู ในสิง่ • ใช้เทคโนโลยี • การกำหนดหัวขอ้ ตา่ งๆทอ่ี ย่รู อบตัว ออกแบบสอ่ื โฆษณา • การเลือกแหลง่ ข้อมลู เรา ผลติ ภัณฑ์อาหาร • การเตรียมอปุ กรณ์ • ใชเ้ ทคโนโลยีในการ • การคน้ หาและรวบรวม นำเสนอผลงาน ข้อมลู • การพจิ ารณา • การสรุปผล

8. การบรู ณาการหลักปรัชญาของเศรษฐกจิ พอเพียงสูก่ ารจดั การเรียนรู้ 8.1 ผูส้ อน ใชห้ ลักปรัชญาของเศรษฐกจิ พอเพยี งในการจดั กจิ กรรมการเรียนการสอน ต่อไปนี้ 3 ห่วง ความพอประมาณ ความมีเหตุผล การสร้างภูมิคมุ้ กันในตวั ประเด็น - ตอ้ งการให้ผูเ้ รยี นรเู้ ร่อื ง - เน้อื หาสอดคล้องกบั ความหมายของคอมพวิ เตอร์ - สรุปเนอ้ื หาใหอ้ ่านเขา้ ใจ เน้อื หา สมรรถนะ ตวั ช้วี ัด เหมาะสม องคป์ ระกอบ และสารสนเทศ ง่ายมีภาพประกอบเนือ้ หา - การพฒั นา กับเวลาทีก่ ำหนดและวัย - เรยี งเนือ้ หาตามลำดบั การ ฐานข้อมลู ด้วยจา ของผู้เรียน - จัดการเรียนรไู้ ดค้ รบถว้ น เรียนรู้ วา - กำหนดเวลาในแตล่ ะ ตามท่ีออกแบบไว้ - จดั การเรียนร้ไู ดค้ รบถว้ น กจิ กรรมเหมาะสมกบั กิจกรรม ตามทีอ่ อกแบบไว้ เวลา และวัยของผู้เรยี น - ต้องการใหผ้ เู้ รียนปฏิบัติ - กำหนดเวลาในแต่ละ 3 ช่ัวโมง กิจกรรมอยา่ งทว่ั ถงึ ตาม กจิ กรรมไวเ้ กินจรงิ เล็กนอ้ ย - แบ่งกลมุ่ ผู้เรียนใหพ้ อดีกบั ความสามารถ เพอ่ื รองรบั การเปล่ยี นแปลง การจัดกิจกรรม จำนวนนักเรยี น - เพ่อื ต้องการใหผ้ ้เู รยี นเกิดการ ทีอ่ าจเกิดระหว่างจัด - กำหนดกจิ กรรมการเรยี นรู้ เรียนรตู้ ามเปา้ หมายท่ีกำหนด กิจกรรม เหมาะสมกับเวลาที่กำหนด - ผ้เู รยี นนำความรไู้ ป - แบง่ กลมุ่ คละ - มอบหมายภาระงานและ ประยกุ ต์ใช้กบั ภาระงานได้ ความสามารถของนักเรยี น ชน้ิ งานเหมาะสมกับ - รบั ฟังความคดิ เห็น และ - เตรยี มชุดคำถามให้พรอ้ ม ความสามารถผเู้ รียนและ วิเคราะห์ วิจารณ์อยา่ งมีเหตผุ ล ตามลำดบั กจิ กรรมการเรียน สอดคลอ้ งกบั เปา้ หมายการ - สังเกตพฤตกิ รรมและให้ เรียนรู้ ความช่วยเหลอื เมื่อนักเรียน มีปญั หา - ฝึกการคน้ คว้าหาความรู้ จากเพื่อน และระบบ อินเทอรเ์ น็ต เพอื่ แกป้ ัญหาในแบบฝกึ ปฏบิ ัติ และใบงาน

3 ห่วง ความพอประมาณ ความมเี หตุผล การสรา้ งภูมิคุ้มกนั ในตัว ประเด็น - ตอ้ งการให้ผเู้ รยี นปฏิบัติ การจัดกิจกรรม - แบง่ กลุม่ ผู้เรยี นให้พอดกี บั กิจกรรมอยา่ งทว่ั ถงึ ตาม - แบ่งกลุ่มคละ จำนวนนักเรียน ความสามารถ ความสามารถของนักเรยี น ส่ือ/อปุ กรณ์ - กำหนดกิจกรรมการเรียนรู้ - เพอ่ื ตอ้ งการใหผ้ ู้เรียนเกิดการ - เตรยี มชุดคำถามใหพ้ รอ้ ม เหมาะสมกับเวลาท่ีกำหนด เรียนรู้ตามเป้าหมายท่ีกำหนด ตามลำดบั กิจกรรมการเรียน แหลง่ เรยี นรู้/ - มอบหมายภาระงานและ - ผูเ้ รียนนำความรไู้ ป - สงั เกตพฤตกิ รรมและให้ ฐานการเรียนรู้ ชน้ิ งานเหมาะสมกับ ประยุกตใ์ ช้กับภาระงานได้ ความชว่ ยเหลอื เมอื่ นักเรยี น ความสามารถผเู้ รยี นและ - รบั ฟังความคิดเห็น และ มีปัญหา สอดคลอ้ งกับเปา้ หมายการ วิเคราะห์ วิจารณอ์ ยา่ งมเี หตุผล - ฝกึ การค้นควา้ หาความรู้ เรยี นรู้ จากเพอื่ น และระบบ - ต้องการให้นักเรียนได้ปฏบิ ัติ อนิ เทอร์เน็ต - จำนวนใบความรู้ ใบงาน กจิ กรรมได้จริงตามจดุ ประสงค์ เพื่อแกป้ ัญหาในแบบฝึก และวัสดอุ ุปกรณ์ เหมาะสม การเรยี นร้ทู ี่กำหนดไว้ ปฏิบัติ และใบงาน กับกิจกรรม และปริมาณ - เตรยี มสือ่ อปุ กรณใ์ หพ้ รอ้ ม เพียงพอกบั จำนวนนกั เรยี น - ตอ้ งการใหน้ กั เรยี นใชว้ สั ดุ ก่อนการจดั กจิ กรรม -ตรวจความพร้อมของเคร่ือง อุปกรณท์ ีม่ คี วามพร้อมใน - มลี ำดบั ข้นั ตอนการใช้ส่ือ คอมพวิ เตอรก์ อ่ นเรยี น และ ห้องปฏิบัติการ มาปฏิบัติการ และจดั เก็บอยา่ งเป็นระบบ ปิดเครือ่ ง ทดลองตามตัวชว้ี ัด - มีความชำนาญในการใช้ -เกบ็ เก้าอีน้ ่ังให้เรียบรอ้ ยหลัง สื่ออปุ กรณ์ เลิกเรยี น เพ่ือความเรยี บรอ้ ย และประหยัด - เตรยี มหอ้ งปฏบิ ัตกิ าร - ห้องปฏบิ ตั กิ ารคอมพิวเตอร์ คอมพิวเตอรใ์ ห้พร้อมกอ่ น เหมาะสมกบั กจิ กรรมที่ การทดลอง กำหนด

3 ห่วง ความพอประมาณ ความมีเหตผุ ล การสรา้ งภมู ิคุม้ กนั ในตวั ประเดน็ - จัดทำแบบประเมินผลงาน - ต้องการประเมินผลการเรยี นรู้ - วางแผนการวัด/ การประเมนิ ผล และประเมินพฤติกรรมได้ เหมาะสมกับเป้าหมายการ เรียนรู้ ตามเปา้ หมายท่กี ำหนด ประเมินผลตามขน้ั ตอนของ กจิ กรรม - แบบประเมนิ ผลมีการ ตรวจสอบความเทย่ี งตรงใน การวัดตามตวั ชีว้ ัด เงอ่ื นไขความรู้ทีค่ รูตอ้ งมกี ่อนสอน 3. หลกั ปรัชญาของเศรษฐกิจพอเพียง 1. ความหมายคอมพวิ เตอร์และสารสนเทศ 4. จติ วิทยาในการสอน 2. การใช้คอมพวิ เตอร์ 3. มีความยุติธรรม เงื่อนไขคุณธรรมของครู 4. ตรงต่อเวลา 1. มีความรักเมตตาศิษย์ 2. มีความรบั ผิดชอบ 8.2 คุณลักษณะอยูอ่ ยา่ งพอเพียงทเี่ กดิ กับผูเ้ รยี น พอประมาณ มีเหตผุ ล มภี ูมคิ ้มุ กันในตวั ทีด่ ี 1. นักเรียนกำหนดหน้าทข่ี องสมาชกิ 1. นกั เรียนนำขอ้ มูลการหา 1. วางแผนการทำงานกลุ่มอยา่ ง ภายในกลมุ่ ไดเ้ หมาะสมกบั ศกั ยภาพของ คำตอบมาวิเคราะหไ์ ด้อย่าง ละเอียดเป็นข้นั ตอน แต่ละคน เป็นเหตเุ ปน็ ผลเพ่ืออธิบาย 2. เตรียมวสั ดุอุปกรณ์การทดลองได้ 2. นกั เรียนใชว้ สั ดอุ ุปกรณ์ในการทดลอง สรุปเนอ้ื หาสาระ ครบถ้วน และตรงตามกิจกรรมการ ไดเ้ หมาะสมกบั กิจกรรมการทดของ 2. นักเรยี นสามารถนำข้อมลู ทดลอง 3. นกั เรียนสามารถหาคำตอบได้ มาตอบคำถามไดอ้ ย่างถูกต้อง 3. ศกึ ษาวิธีการทำใบงานอย่าง สอดคล้องกบั อปุ กรณ์ทม่ี ี รอบคอบ เงอ่ื นไขความรู้ 1. การพัฒนาฐานข้อมลู ดว้ ยจาวา 2. หลักการพัฒนาการเขยี นโปรแกรม เงื่อนไขคณุ ธรรม 1. ความสามัคคีในกลุ่ม 2. ความรบั ผิดชอบ 3. แบง่ ปันและเอือ้ เฟอื้ เผื่อแผ่

สง่ ผลต่อความสมดุล มนั่ คง ยง่ั ยนื ใน 4 มติ ิ ดังน้ี ด้าน สมดุลและพรอ้ มรับการเปลย่ี นแปลงในด้านต่างๆ องคป์ ระกอบ วัตถุ สังคม สง่ิ แวดล้อม วฒั นธรรม - มคี วามรู้เกย่ี วกับ ความรู้ - ความรู้ในการสืบค้น - มีความรใู้ นการจัดแบ่ง - มีความร้ใู นการดูแล คอมพวิ เตอรใ์ นการ ประยุกตใ์ ช้ใน ข้อมูลจากคอมพิวเตอร์ หนา้ ทภ่ี ายในกลุ่มไดอ้ ยา่ ง รักษาความสะอาดการ กจิ กรรมในท้องถิ่น อยา่ งถูกตอ้ ง เหมาะสม จดั การขยะอยา่ ง ใชเ้ ทคโนโลยใี น ชวี ติ ประจำวนั ได้ - มีความร้ใู นการปฏิบตั ิตน ถกู ต้องของ - ตระหนักถึงคุณค่า ท่จี ะทำงานรว่ มกบั ผู้อืน่ ห้องปฏบิ ตั กิ าร ของเทคโนโลยี คอมพิวเตอร์ ทักษะ - มีทกั ษะในการใช้วัสดุ - ทำงานร่วมกนั ภายใน - รกั ษาความสะอาด อุปกรณอ์ ยา่ งปลอดภัย กลุ่มตามที่ไดร้ บั มอบหมาย ของห้องปฏบิ ัติการ และประหยัด จนสำเร็จและมคี วามสุข คอมพิวเตอรใ์ นการ สบื คน้ ขอ้ มูล ค่านิยม - เห็นความสำคญั ของการ - มคี วามรบั ผดิ ชอบตอ่ การ - มจี ติ สำนกึ ในการ ใชว้ ัสดุอุปกรณใ์ นการ ทำงานของกลมุ่ รกั ษาสภาพแวดล้อม สบื คน้ ขอ้ มลู อย่างประหยัด - ยอมรบั ความคิดเหน็ ซ่งึ ของหอ้ งปฏบิ ตั ิการ คมุ้ ค่า กนั และกันมคี วามเสียสละ คอมพิวเตอร์ใหส้ ะอาด อดทน เปน็ ระเบียบ 9. การวัดและประเมนิ ผล รายการประเมิน วิธีการ เคร่อื งมือทีใ่ ช้ เกณฑ์การประเมินผา่ น - การทดสอบกอ่ นเรยี น การทดสอบ แบบทดสอบกอ่ นเรียน จำนวน 10 ข้อ ได้ระดับ 2 ข้นึ ไป การประเมนิ ระหว่างเรียน การสงั เกต แบบประเมนิ พฤตกิ รรม ตอบคำถามทกุ ขอ้ การซกั ถาม การเรียน ได้ระดบั 2 ข้ึนไป การทำแบบฝึกปฏิบตั ิ ต้ังคำถามใหค้ รอบคลุม จุดประสงค์ ตอบถูก 8 ขอ้ ขน้ึ ไป การประเมนิ หลังเรียน การทดสอบ แบบฝกึ หดั และใบ กจิ กรรมท่ี 10 แบบทดสอบหลงั เรียน จำนวน 10 ขอ้

10. บันทกึ หลงั สอน 10.1 ผลการใช้แผนการจัดการเรียนรู้ 10.1.1 เนอื้ หาสอดคล้องกบั จุดประสงค์เชิงพฤติกรรม 10.1.2 สามารถนำไปใช้ปฏิบัติการสอนไดค้ รบตามกระบวนการเรยี นการสอน 10.1.3 เวลาที่กำหนดไว้ในแผนการสอนมีความเหมาะสม 10.2 ผลการเรียนรขู้ องนักเรียน นกั ศึกษา 10.2.1 นักศกึ ษาส่วนใหญม่ คี วามสนใจใฝ่รู้ เขา้ ใจในบทเรยี น อภิปรายตอบคำถามในกลมุ่ และ ร่วมกนั ปฏิบตั ิใบงานทไี่ ดร้ บั มอบหมาย 10.2.2 นักศึกษากระตือรอื ร้นและรับผิดชอบในการทำงานกลมุ่ เพอ่ื ให้งานสำเรจ็ ทนั เวลาท่ี กำหนด 10.2.3 นกั ศกึ ษาเลือกสามารถนำความรไู้ ปใชไ้ ด้จริงในชวี ิตประจำวนั 10.3 แนวทางการพฒั นาคณุ ภาพการเรียนรู้ นกั เรยี นสามารถนำความร้ทู ี่ไดจ้ ากการเรยี นรูใ้ นหนว่ ยนไ้ี ปประยกุ ตใ์ ชใ้ นชวี ติ ประจำวนั และ เชือ่ มโยงกบั วิชาชพี ไดอ้ ย่างเหมาะสม

หนว ยท่ี 1 หลกั การเขยี นโปรแกรมคอมพวิ เตอร (Principle of Computer Programming) การเขยี นโปรแกรมคอมพิวเตอร การเขียนโปรแกรมคอมพิวเตอร (Computer Programming) มีแนวคิดมาจากมนุษยมีความ ตอ งการท่นี ํางานท่เี ปนลักษณะงานประจํา งานทีเ่ ปนลักษณะงานซ้าํ ๆ ทีม่ ีขัน้ ตอนทํางานทีแ่ นนอน มีระบบการตดั สินใจทีช่ ัดเจนแนนอน มาใหระบบคอมพิวเตอรทํางานแทนมนุษย ตามวัตถุประสงคใน การทํางานของผคู ิดคนโปรแกรมคอมพิวเตอร ดงั น้นั การเขียนโปรแกรมคอมพิวเตอรจึงเปนพืน้ ฐาน ทีจ่ ําเปนตอการทํางานของระบบคอมพิวเตอร ชนิดของโปรแกรมคอมพิวเตอรสามารถแบงตามระดับ ความลึกของการเขียนโปรแกรมควบคุมอุปกรณคอมพิวเตอรไดเ ปน 2 ชนิด คือ ชนิดแรกเปนโปรแกรม ระบบปฏิบัติการ (Operating System) ทําหนาท่ีในการควบคุมอุปกรณพืน้ ฐานทีเ่ ปนสวนประกอบ คอมพิวเตอรทั้ง 4 หนวย(Unit) ดงั น้คี ือ 1) หนวยอินพุท (Input Unit) เชน แปนปอนขอมูล (Key Board) เมาส (Mouse) เปนตน 2) หนวยเอาทพุท (Output Unit) เชน จอแสดงผล (Monitor) ลําโพง (Speaker) เปนตน 3) หนวยความจํา (Memory Unit) เชน หนวยความจําชัว่ คราว (RAM) หนวยความจําภายนอก (External Memory) เชน ฮารดดสิ ก (Hard Disk) และหนวยสุดทายหนวย 4) หนวยประมวลผลกลาง (CPU: Central Processing Unit) ดวยเพราะเทคโนโลยขี องอปุ กรณพ้ืนฐาน ของคอมพิวเตอรมีการแขงขันสูงสงผลทําใหโปรแกรมทีท่ ําหนาทีใ่ นการควบคุมอุปกรณคอมพิวเตอรนี้ ตอ งมีการพัฒนาอยางตอ เนือ่ ง ดงั นัน้ โปรแกรมระบบปฏิบัติการจึงเปนโปรแกรมทีส่ ําคัญตอการ เจรญิ กา วหนาของบริษทั ทที่ ําหนาท่ีในการผลิตเครื่องคอมพิวเตอร โปรแกรมชนิดน้จี ึงเปนเทคโนโลยีปด นักเขียนโปรแกรมคอมพิวเตอรจึงมีระดับการเขาถึงในการกําหนดคาการควบคุมอุปกรณตางๆ มีอยาง จํากัดตามทีบ่ ริษัททีพ่ ัฒนาโปรแกรมระบบปฏิบัตกิ ารอนุญาตใหเขาถึงไดเ ทาน้นั โปรแกรมดังกลาว เชน โปรแกรมระบบปฏิบัติการวินโดว (Windows Operating System) โปรแกรมระบบปฏิบัตกิ าร ลินุกส (Linux Operating System) เปนตน ชนิดท่สี องเปนโปรแกรมภาษาคอมพิวเตอร ท่นี ักพัฒนา โปรแกรมคอมพิวเตอร สามารถเขาถึงในการเขียนโปรกรมควบคุมอุปกรณตางๆ ไดอ ยางกวางขวาง โปรแกรมชนิดภาษาคอมพวิ เตอรน ้ี จึงเปนโปรแกรมที่นักพัฒนาโปรแกรมสามารถเรียนรูและสรางสรรค งานไดอ ยางตอ เนอื่ งตลอดเวลา ดังนัน้ ภาษาคอมพวิ เตอรจงึ สามารถแบงชนิดตามลักษณะการมองปญหา ของโจทยท่ตี อ งการใหการเขียนโปรแกรมทําการแกปญหาไดเ ปน 2 แบบ คือ แบบแรกเปนการเขียน โปรแกรมแบบโครงสราง (Structure Programming) ตวั อยางภาษาท่ใี ชเขียนโปรแกรม เชน โปรแกรม ภาษาซี (C Language Program) โปรแกรมภาษาปาสคาล (Pascal Language Program) โปรแกรม ภาษาเบสิค (Basic Language Program) เปนตน สวนแบบทีส่ องเปนการเขียนโปรแกรมเชิงวัตถุ (Object Oriented Programming : OOP) ตัวอยางภาษาท่ใี ชเขียนโปรแกรม เชน โปรแกรม ภาษาซีพลัสพลัส (C++ Language Program) โปรแกรมภาษาซีชารป (C# Language Program) โปรแกรมพเี อสพี (PHP Program) โปรแกรมวิชวลเบสิค (Visual Basic Program) โปรแกรมภาษาจาวา (Java Language Program) เปน ตน

กระบวนการทํางานการเขยี นโปรแกรมแบบโครงสราง ในการพฒั นาโปรแกรมแบบโครงสรางหรือการเขียนโปรแกรมแบบโครงสราง ซึ่งมีกระบวนการ ในการสรางคือ ตัวอยางเชน การโปรแกรมภาษาซี เร่ิมตนดวยการจากทําการสรางโปรแกรม (source program หรือ source code) ซ่ึงตองเขียนตามลักษณะโครงสรางของภาษาซี ทําการบันทึก (save หรือ save as) เปนไฟลนามสกุล .c นําโคดท่ีไดทําการเขียนทําการคอมไพล ทําการตรวจสอบ ขอผิดพลาดวามีหรือไม ถามีใหกลับไปแกไขที่โปรแกรม แตถาไมมีขอผิดพลาดตัวระบบภาษาซีจะสราง ไฟลนามสกุล .obj แลวทําการเชื่อมตอไฟลจากไฟลไรบารีและระบบจะทําการสรางไฟลนามสกุล .obj และทําการตรวจสอบความผิดพลาดในการเชื่อมตอ ถาไมมีขอผิดพลาดจะไดไฟลนามสกุล .exe ซ่ึงเปน ไฟลท่ีพรอมนําไปสั่งงานใหแสดงผลการทํางานตามท่ีกําหนดของโปรแกรม ไฟลที่เปนนามสกุล .exe นี้ ไมสามารถทําการแกไขไดดวยเพราะเปนไฟลที่เปนรหัสใหเครื่องคอมพิวเตอรทํางาน ดังนั้นถาตองการ ปรบั ปรงุ หรอื แกไ ขโปรแกรมผูเขียนโปรแกรมตองมีไฟลท เ่ี ปน นามสกุล .c มาเขากระบวนการประมวลผล ภาษาซีใหมตง้ั แตเรมิ่ ตน แสดงในภาพท่ี 1.1 START ไฟลสว นหัว สรางโปรแกรม คอมไพเลอร ไฟลไรบารี File ทาํ การเช่ือมตอไฟล ตัวสอบความผิดพลาด ? Yes Yes File *.exe ส่ังโปรแกรมทํางาน ตัวสอบความผิดพลาด ? Yes แสดงผลการทาํ งาน End ภาพท่ี 1.1 แสดงกระบวนการประมวลผลของภาษาซี

ความเปน มาภาษาจาวา การพัฒนาภาษาจาวาถูกพัฒนาโดย ซัน ไมโครซิสเต็มท บจก. (sun microsystem co., ltd) โดยขณะที่ทีมงานของบริษัททําการพัฒนาภาษามักนิยมดื่มกาแฟกันเปนประจํา และกาแฟที่นิยมด่ืม มีช่ือวา จาวา ทีมพัฒนาภาษาจาวาตนแบบจึงต้ังช่ือภาษาที่พัฒนาวา จาวา จึงเปนที่มาเทคโนโลยีของ บริษัท ซัน ไมโครซิสเต็มท จํากัด เปนตนมา ซึ่งทําให บริษัท ซัน ฯลฯ เปนผูกํากับทิศทางไมใหมีการนํา ภาษาจาวาไปดดั แปลงประยุกตใ ชในทางท่ีเบ่ยี งเบนออกจากจุดประสงคเดิม การกําหนดทิศทางโดย ซัน เปนไปเพ่ือใหเกิดความชัดเจนในทิศทางการพัฒนาภาษาจาวา โดยภาษาจาวามีคําสั่งพื้นฐานคลาย ภาษาซี พลัส พลัสเปนอยางมาก ทําใหนักเขียนโปรแกรมภาษาซี พลัส พลัส ท่ีมีอยูมากท่ีสุดแลว ในขณะน้ันสามารถสรางความคุนเคยไดอยางรวดเร็ว จึงทําใหภาษาจาวาเปนที่ยอมรับอยางกวางขวาง อยางรวดเร็ว และไดรับการจัดเปนภาษาคอมพิวเตอรเชิงวัตถุ เชนเดียวกับภาษาซี พลัส พลัส ดวย แตส่งิ ที่ท้งั สองภาษาตา งกัน คอื โปรแกรมภาษาจาวาตองเขยี นเปนแบบเชิงวัตถุเทานั้น ในขณะที่ภาษาซี พลสั พลสั สามารถเขียนไดท งั้ แบบเชงิ วตั ถุ และแบบโครงสรางกไ็ ด ทีเ่ ปนเชนน้ีไดเน่ืองจากภาษาซี พลัส พลสั มตี นกําเนดิ มาจากภาษาซี ซงึ่ เปน ภาษาแบบโครงสราง ดังน้ันภาษาซี พลัส พลัส จึงตองสนับสนุน การเขียนโปรแกรมแบบโครงสรางดวยเพื่อใหเขากันไดกับภาษาซี อยางไรก็ตามปจจุบันโปรแกรม ประยกุ ตล ว นแตเขียนดวยภาษาเชิงวตั ถทุ ง้ั สนิ้ กระบวนการทํางานของโปรแกรมภาษาจาวา การทํางานโปรแกรมภาษาจาวา การสรางไฟลต นฉบับ (source file) หรือ โคด ตนฉบับ(source code) แลวทําการบันทึกไฟลดังกลาวโดยบันทึก นามสกุล .java เก็บไวใน folder ท่ีตองการ แลวทํา การ compiler ดวย java compiler ในระบบปฏิบัติการ DOS เพื่อเปล่ียนคําสั่งภาษาจาวาเปนภาษา เฉพาะอยางหน่ึงเพ่ือใหจาวาเวอรชัวรแมทชีนเขาใจ ภาษาเฉพาะท่ีจาวาเวอรชัวนแมทชีนเขาใจน้ีเรา เรียกวาจาวาไบตโคด เปนไฟลที่มีนามสกุล .class แลวนําไฟล ดังกลาวไปรันบนเครื่องคอมพิวเตอรที่มี จาวาเวอรชัวรแมทชีน สรปุ ขนั้ ตอนการพฒั นาโปรแกรมดว ยภาษาจาไดแสดงดังภาพ 1.2 ภาพที่ 1.2 กระบวนการพัฒนาภาษาจาวา ท่ีมา (About the Java Technology, 2014) ดวยจาวาเวอรชัวนแมทชีน มีความสามารถนํามาใชกับระบบปฏิบัติการที่แตกตางกันได โดยใชคลาสที่คอมไพลตัวเดียวกัน นํามาทํางานบนระบบของไมโครซอฟทวินโดว (Microsoft Windows) ระบบโซลารสิ (Solaris) หรอื ระบบยนู กิ ส (Unix) รวมทั้งระบบของแมค็ (Mac) ได ดังแสดง ในภาพที่ 1.3

ภาพที่ 1.3 แสดงระบบจาวาเวอรช ัวนแมทชนี ทส่ี ามารถใชไ ดทุกระบบปฏบิ ตั ิการ ที่มา (About the Java Technology, 2014) องคประกอบของเทคโนโลยีจาวา เทคโนโลยีภาษาจาวามีองคป ระกอบที่สาํ คญั ในการทาํ งาน ประกอบดวย 3 สวน คือ 1. จาวาเวอรชัวนแมทชีน (Java Virtual Machine: JVM) เปนสวนที่ทําหนาท่ีเปน ตวั อินเตอร - พรีเตอร (interpreter) คือ จะทําการแปลจาวาไบตโคด ใหเปนภาษาท่ีเครื่องเขาใจ ซ่ึงจา วาไบตโคด จะสามารถรนั ไดหลายแพลตฟอรม ถาแพลตฟอรม นัน้ มี จาวาเวอรช วั นแ มทชนี 2. จาวารันไทลอินวิโรเมนต (Java Runtime Environment: JRE) เปนสวนท่ีใช ในการรันโปรแกรมภาษาจาวา เปนสวนท่ีใชในการรันโปรแกรม โดยจะทํางาน 3 ขั้นตอน ดังน้ี ขั้นตอน แรกโหลดไบตโคดโดยใช Class loader คือการโหลดคลาสทุกคลาสท่ีเก่ียวของในการรันโปรแกรม ข้ันตอนท่ีสองตรวจสอบไบตโคดโดยใชการตรวจสอบไบทโคด (Byte code Verifier) คือการตรวจสอบ วา โปรแกรมจะตองไมม ีคําส่ังที่ทําใหเกิดความผิดพลาดกับระบบ เชน การแปลงขอมูลที่ผิดพลาด หรือมี การแทรกแซงเขาสูระบบภายในเปนตน ขั้นตอนที่สุดทาย รันไบตโคด โดยใชตัวแปลรันไทล (Runtime Interpreter) 3. ชุดพัฒนาภาษาจาวา (Java 2 Software Developer Kit: J2SDK) เปนชุด พัฒนาโปรแกรมภาษาจาวา ประกอบไปดวยโปรแกรมตางๆ แตไมมีโปรแกรมท่ีทําหนาที่สรางโคด (Editor) รวมอยูดวย แตมีโปรแกรมคอมไพเลอร (javac.exe) และโปรแกรมอินเตอรพรีเตอร (java.exe) แพลตฟอรมของจาวา (Platform of Java) แพลตฟอรมของจาวา หมายถึงลักษณะการนําภาษาจาวาไปสรางเปนโปรแกรมเพ่ือ วัตถุประสงคใด วัตถุประสงคหนึ่ง บนการประมวลผลของคอมพิวเตอร อาจเปนการทําการประมวลผล

โดยไมมีการเช่ือมตอกับเครื่องคอมพิวเตอรเครื่องอื่นๆ หรือตองการนําโปรแกรมภาษาจาวาไปใชกับ ระบบเครือขายอินเทอรเ นต็ เปนตน ซึ่งแพลตฟอรม ของจาวาจงึ มกี ารแบงรปู แบบเปน 3 รูปแบบ คอื 1. แพลตฟอรมจาวามาตรฐาน (Standard Edition: Java SE) เปนแพลตฟอรมที่ ใชในการพัฒนาโปรแกรมภาษาจาวากับเคร่ืองพีซีทั่วไป ซ่ึงสามารถแยกยอยออกเปน 2 แบบ คือ Java Application เปนโปรแกรมท่ีใชพัฒนาโปรแกรมประยุกตทั่วไป และ Java Applet เปนโปรแกรมจาวา ที่ใชพฒั นาโปรแกรมเพื่อรนั บนเวบ็ บราวเซอร 2. แพลตฟอรมจาวาอินเตอรไพรส (Enterprise Edition: Java EE) เปน แพลตฟอรมที่มุงเนนในการพัฒนาโปรแกรมเครือขาย สําหรับใชงานในองคกร โดยใชโปรแกรม Application Server หรือ Web Server ใชส ําหรับพฒั นาโปรแกรมที่มขี นาดใหญ 3. แพลตฟอรมจาวาไมโคร (Micro Edition: Java ME) เปนแพลตฟอรมท่ีใชพัฒนา โปรแกรมเพอ่ื ใชงานกบั อุปกรณอ ิเล็กทรอนิกส ทมี่ ีทรพั ยากรจาํ กัด เชน โทรศัพทม อื ถอื เปนตน การตดิ ตั้ง และเรียกใชงานโปรแกรมภาษาจาวา การพัฒนาโปรแกรมดวยภาษาจาวา สําหรับคอมพิวเตอรสวนบุคคล เคร่ืองคอมพิวเตอร จาํ เปน ตอ งอาศัยชดุ พัฒนา J2SDK แตดว ยชุดพัฒนาไมมีโปรแกรมที่ทําหนาที่สราง source code ซ่ึงใน ระบบปฏิบัติการวินโดวสสามารถใชโปรแกรมโนตแพด (notepad) ทําการสรางโคดภาษาจาวา เพ่ือทํา การเกบ็ โคดดว ยการบนั ทกึ เปนนามสกุล และสวนขยาย .java ซงึ่ ชดุ พัฒนา J2SDK สวนตัวคอมไพลและ ตัวรนั โปรแกรม สามารถทําการดาวนโ หลดและติดตั้ง J2SDK ลงบนเครื่องคอมพิวเตอรระบบปฏิบัติการ วินโดวสไดท ี่ http://java.sun.com/javase/downloads/index.jsp (ภาพที่ 1.4) ภาพที่ 1.4 แสดงแหลงดาวนโหลดชดุ พฒั นาโปรแกรมจาวา ทม่ี า (java download, 2014)

การตดิ ตั้งชดุ พฒั นาโปรแกรมภาษาจาวา การตดิ ตัง้ สามารถทาํ ไดก ารแตกแฟมขอมูลท่ีไดท ําการดาวนโหลดมา (ภาพที่ 1.5) ภาพท่ี 1.5 แสดงชดุ พฒั นาโปรแกรมภาษาจาวา SDK ทาํ การเลอื กท่ี jsk-6u14-windows-i586.exe เพอื่ ทาํ การติดต้งั เคร่อื งมือในการพฒั นา โปรแกรมดวยภาษาจาวา และทําการเลือก Accept (ภาพท่ี 1.6) ภาพท่ี 1.6 แสดงชุดพฒั นาโปรแกรมภาษาจาวา ลขิ สทิ ธิโ์ ดย Sun Microsystems บจม.

ตัวชุดพัฒนาโปรแกรมภาษาจาวา จะใหผูตดิ ตั้งโปรแกรมกําหนดลกั ษณะโปรแกรมทตี่ อ งการ (Custom Setup) ถาตอ งการกาํ หนดตามขอแนะนําใหทาํ การเลอื ก Next ตามภาพท่ี 1.7 ภาพท่ี 1.7 แสดงการกําหนดคาตําแหนง ทตี่ ิดตั้งโปรแกรม ตวั ชดุ พัฒนาจะทําการติดต้งั โปรแกรมตามทก่ี ําหนดจากภาพ 1.7 โดยแสดงสถานะ การทาํ งาน วาสําเร็จเปนจาํ นวนเทา ใด แสดงในภาพท่ี 1.8 ภาพท่ี 1.8 แสดงผลการติดตั้งโปรแกรมภาษาจาวา

เม่ือทาํ การตดิ ต้ังสําเร็จสมบูรณเ รยี บรอ ย แสดงผลภาพที่ 1.9 ทําการเลือก Finish ภาพท่ี 1.9 แสดงการติดตั้งสมบูรณ กําหนดเสน ทางการทาํ งาน (Path) ใหก บั ระบบปฏิบตั กิ ารวินโดว เมื่อทําการติดต้ังชุดพัฒนาโปรแกรมภาษาจาวา สิ่งที่สําคัญอีกประการหนึ่ง คือการกําหนด เสน ทางในการทาํ งานใหกับตวั โปรแกรมภาษาจาวาทต่ี อ งนําตวั โคดจาวาท่ีไดทําการบันทึกในสวนใดสวน หน่งึ ของหนว ยความจาํ บนเองคอมพิวเตอรที่มีระบบปฏิบัติการวินโดวไดโดยไมมีปญหาในการคนหาโคด จาวาท่ีผูเขียนโปรแกรมไดทําการบันทึกไดอิสระ สงผมทําใหการทํางานโคดจาวาไดอยางเสร็จสมบูรณ การกําหนดเสนทางสามารถทําไดโดยการคลิกเมาสขวาท่ีไอคอน My Computer บนเดสกท็อป แลว เลือก Properties จากนั้นเลือกแท็ป Advanced และทําการเลือก Environment Variables ซ่ึง วินโดวแตล ะรนุ จะมีหนาจอในสว นนี้ไมเ หมือนกนั ตัวอยางในภาพ 1.10 เปนระบบปฏบิ ตั วิ นิ โดว 7 ภาพท่ี 1.10 แสดงหนา ตา งของ My computer กาํ หนดเสนทาง

ทาํ การกําหนดเสนทางของตัวโปรแกรมภาษาจาวาใหโปรแกรมระบบปฏิบัติการวินโดว โดยทํา การบนั ทึกหรอื สาํ เนาทอี่ ยขู องตวั โปรแกรมภาษาจาวา แลวนํามาวางตอในสวนของ Path ดวยการเลือก Edit เพอ่ื ทําการแกไขเพ่ิมเสนทางเดิมที่ตัวระบบปฏิบัติไดกําหนดใหกับโปรแกรมอ่ืนๆ ท่ีไดทําการติดต้ัง มากอนหนานี้ (หามทําการลบ Path ของเดิมออกเด็ดขาด เพราะอาจทําใหตัวโปรแกรมบางโปรแกรม ทํางานไมได ดวยหาเสนทางไมพบ) แลวทําการวางโดยกอนวางท่ีอยูของโปรแกรมภาษาจาวาตองวาง หนา เครื่องหมาย เซมโิ ครอน (;) เสมอแสดงในภาพที่ 1.11 ภาพท่ี 1.11 แสดงหนา ตาง การกําหนด Path ของระบบปฏิบตั ิการวนิ โดว 7 การทาํ งานของโปรแกรมภาษาจาวาบนระบบดอส (DOS) การสรางซอรสโคดเบื้องตนดวยตัวอิดิเตอรท่ีติดมากับระบบปฏิบัติการวินโดว คือ โนตแพด (Notepad) ดังตัวอยางซอรส โคด ภาพท่ี 1.12 บันทกึ ชื่อ first เปน นามสกลุ .java (first.java) ภาพที่ 1.12 แสดงซอรสโคด ช่ือ first.java บน Notepad

จากภาพที่ 1.12 สิ่งสําคัญในการจัดเก็บซอรสโคด ชื่อของแฟมขอมูลตองเปนชื่อเดียวกันกับ ชื่อของคลาสในซอรสโคด ในที่น้ีช่ือ public class first ดังน้ันช่ือท่ีใชในการจัดเก็บตองเปน first ดวย เชนกนั (first ไมเ ทากบั First ดวยเพราะรปู แบบของตวั อกั ษร f กับ F คนละตวั กนั ) เมอื่ ตอ งการทําการคอมไพลซอรสโคด first.java ดวยการคําสั่ง javac.exe บนระบบดอสทําได โดยออกสู Command Prompt แสดงภาพท่ี 1.13 และภาพที่ 1.14 แสดงหนา ตา งระบบ DOS ภาพที่ 1.13 แสดงการเขา สูร ะบบ Dos ดวย Command Prompt ภาพท่ี 1.14 แสดงการใชคําสั่งพน้ื ฐานระบบ DOS

จากภาพท่ี 1.14 เปนสวนของระบบ DOS ที่เปดโอกาสใหสามารถส่ังการควบคุมขั้นพื้นฐานได เชน คําส่ัง cd\\ หมายถึง สั่งใหระบบออกไดเร็คทรอรีปจจุบัน (c:\\Users\\Administrator>) สูไดรฟซี (c:\\>) คําสั่ง d: หมายถึง ส่ังใหระบบยายไปไดรฟดี (d:\\>) คําสั่ง cd java หมายถึง การยายไปที่ไดเร็ค ทรอรีช่ือ java คําส่ัง dir หมายถึง การส่ังใหแสดงช่ือแฟมขอมูลที่อยูในไดเร็คทรอรีปจจุบัน (c:\\java>) มีแฟมขอมูลใดบาง ซ่ึงพบแฟมขอมูลชื่อ first.java สรางข้ึนเมื่อ 12 ตุลาคม 2013 เวลา 12.30 PM ขนาด 122 ไบท ภาพท่ี 1.15 แสดงการทํางานของโปรแกรมภาษาจาวา จากภาพที่ 1.15 สามารถส่ังทําการใหระบบ dos ทําการคอมไพลซอรสโคดแฟมขอมูล first.java ดว ยคาํ สั่ง javac first.java ไดโ ดยไมม ีขอ ผดิ พลาด เพราะบรรทัดหลังจากสั่งคอมไพลไมมีการ แจงขอผิดพลาดใดๆ ซ่ึงตัวคอมไพเลอรจาวาทําการสรางไบทโคดจาวา ท่ีมีช่ือเดียวกันแตนามสกุลเปน .class (first.class) การส่ังใหโปรแกรมจาวาทํางาน (Run) ดวยจาวาเวอรชัวนแมทชีน ทําการอินเตอรพรีเตอร ใหกับระบบปฏิบัติการดวยการแสดงขอความวา Hello Word!!! ดวยคําสั่ง java first โดย java เปน คาํ สั่งใหท าํ งาน (Run) สว น first เปนไบทโ คดนามสกลุ .class จึงไมต อ งกําหนดนามสกุล แสดงในภาพที่ 1.15

การตดิ ตง้ั โปรแกรม Edit Plus โปรแกรม Edit Plus สามารถดาวนโ หลดไดที่ http://www.editplus.com/download.html สามารถนาํ มาใชไ ดฟ รี โดยจํากดั เวลาใชง าน ภาพท่ี 1.16 ภาพที่ 1.16 แสดงแหลง ดาวนโ หลด Edit Plus เม่อื ไดต วั โปรแกรม Edit Plus ทําการติดต้ังโปรแกรมลงบนเคร่ืองคอมพิวเตอรแลวลําดับถัดมา ทําการสรางเครื่องมือสําหรับการใชงานของนักพัฒนาโปรแกรมบนโปรแกรม EditPlus โดยสรางไดโดย การเลือกรายการ Tools เลอื ก Configure User Tools (ภาพท่ี 1.17) ภาพที่ 1.17 แสดงการกําหนดเครื่องมือ Edit Plus

ทําการสรางเครื่องมืออํานวยความสะดวก ในการใหมีคําสั่งการ Compiler กับคําส่ัง Run ของ ตวั โปรแกรมภาษาจาวา ดวย Group Name กาํ หนดช่อื เปน JaVa และทาํ การเลอื ก ok (ภาพ 1.18) ภาพที่ 1.18 แสดงการกําหนดชื่อกลมุ เปน JaVa ทําการเพิ่มเครื่องมือในกลุม JaVa ดวยการเลือก Add Tool>> และเลือก Program ถัดมาทํา การกําหนดเมนูยอยของกลุมเคร่ืองมือ JaVa ดวยการพิมพช่ือวา CompilerJava ในชอง Menu Text สวน Command: ใหทําการเลือก javac.exe ท่ีอยูในโฟลเดอรของโปรแกรมภาษาจาวา ตามภาพท่ี 1.19 สวน Argument: กําหนดใหเปน File Name ดวยเพราะในการส่ัง Compiler ตองกําหนดชื่อ พรอมนามสกุล (first.java) เพอื่ ทาํ การคอมไพล สว น Action ใหเ ลอื ก Capture Output ภาพท่ี 1.19 แสดงการสรา งเคร่อื งมือ CompilerJava

กําหนดเครื่องมือใหกับกลุม JaVa ดวยเมนู RunJava ในชอง Menu Text: สวน Command: ใหท าํ การเปด คาํ ส่ัง java.exe ท่ีอยใู นตวั โปรแกรมภาษาจาวา ในชอง Argument: ใหทําการเลือก Files Name Without Extension ในสวนของ Action: ใหเลือก Capture output จากน้ันทําการเลือก Apply และ OK (ภาพท่ี 1.20) ภาพที่ 1.20 แสดงการสรางเมนูยอย RunJava บนกลมุ เครอื่ งมือ JaVa หลักการเขียนโปรแกรมภาษาจาวา การเขยี นโปรแกรมจาวาตามทกี่ ลาวมาขางตน ตวั ซอรสโคดสามารถทําการเขียนดวยอิดิเตอรใด ก็ได Notepad หรือ Edit Plus สิ่งสําคัญในการบันทึกชื่อของซอรสโคด ตองเปนชื่อเดียวกับช่ือ class ดวยเพราะ เมือ่ ซอรสโคดถูกคอมไพลต ัวคอมไพเลอรจะทําการสรางคลาสท่ีเปนไบทโคดขึ้นมา โดยใชชื่อ ของแฟมขอ มลู ทบ่ี นั ทึกจากนามสกลุ .java มาเปน นามสกุล .class การสรางโคด ภาษาจาวา มีความคลายกบั การสรางโคดใหกับภาษาซี หรือ ซีพลัสพลัส คือตองมี เมธอด main() เปนจุดเริ่มตนการทํางาน และตองถูกกําหนดใหอยูในคลาสใดคลาสหนึ่ง ของโคดจาวา เมธอด main( ) จะตองปรากฏไดเพียงครั้งเดียวในหนึ่งโคดโปรแกรมภาษาจาวา ดวยเพราะเปนเมธอด หลัก และถาโคดใดไมมีสวนของเมธอด main() โคดนั้นจะไมสมบูรณ หมายถึงไมสามารทํางานได เมธอด main () ตามกฎของโปรแกรมภาษาจาวา ตองมีสวนประกอบประโยคดังนี้ public static void main(String args[]){ } การกําหนดใหเปนเมธอด main() เปน public เพ่ือตองการใหโคดที่เขียน สามารถเขาถึงหรือเรียกใชงานไดขณะเม่ือสังใหทําการการรัน (interpreter) สวนการกําหนดใหคลาส เปน static ดว ย มผี ลทาํ ใหเ มธอด main() สามารถเรียกใชไ ดโ ดยไมตอ งสราง instance ของคลาส ดังนั้นทุกครั้งท่ีมีการสรางโคดโปรแกรมภาษาจาวา ตองมีเมธอด main() ท่ีประกอบไปดวย public static void และสว น Argument ตองเปน String Array เสมอ ซ่ึงจะมีการกาํ หนดคา ในอารเรย อารก ูเมนต หรือไมกาํ หนดก็สามารถสรา งโคดได ตัวอยา งโปรแกรมท่ี 1.1 ชือ่ first.java

ตัวอยางโปรแกรมท่ี 1.1 เปนตัวอยางแรก ซึ่งมีโครงสรางพื้นฐานที่จําเปนในการสรางโปรแกรมคร้ังแรก ดังน้ันการพิมพคําส่ังทุกคําสั่งตองถูกตอง โดยเฉพาะอยางย่ิงตัวอักษรพิมพเล็ก พิมพใหญ ตองถูกตอง ท้ังหมด บันทึกเปนช่ือ first.java (โดยใหทําการสําเนาชื่อแฟมขอมูล ที่อยูหลัง public class เปนชื่อ ของแฟมขอมูลท่ีตองการบันทึก เปนการลดปญหาการผิดพลาดจากการใชช่ือที่ประกอบดวยตัวอักษร พิมพเ ล็กพมิ พใ หญ) public class first{ public static void main(String args[]){ System.out.println(“Hello World!!!”); } } การส่ังใหทําการคอมไพลโคดโดย เลือกที่ Tools เลือกรายการยอย CompilerJava (หรือ เลือกใชซอรตคีย ดวยการกด Ctrl คางไวพรอมกดเลข 1) ภาพท่ี 1.21 เม่ือไมมีขอผิดพลาดใดๆ จะ แสดงผลการคอมไพลด วย Output completed ภาพท่ี 1.21 แสดงการสัง่ คอมไพลโคดโปรแกรมภาษาจาวา การสั่งใหโปรแกรมทํางานสามารถทําไดโดยการเลือกท่ี Tools เลือกรายการยอย RunJava (หรือเลือกใชซอรตคีย ดวยการกด Ctrl คางไวพรอมกดเลข 2) ภาพท่ี 1.22 เมื่อไมมีขอผิดพลาดใดๆ จะแสดงผลการทํางานดวยขอ ความ Hello Word!!!

ภาพท่ี 1.22 แสดงผลการทํางานดว ย RunJava ตัวอยางโปรแกรมภาษาจาวา ท่ีมีการกําหนดรับคาใหกับอารเรยอารกูเมนต ผานทางการสั่ง Run ดงั ตวั อยา งโปรแกรมที่ 1.2 ช่ือ FirstArgs.java public class FirstArgs{ public static void main(String args[]) { System.out.println(\"Created By>>>\"+args[0]); System.out.print(\"Welcome to java, \"); System.out.println(\"Thank you for looking. \"); System.out.print(\"-..-\"); } } จากโปรแกรม 1.2 สวนของคําส่ัง System.out.println(\"Created By>>>\"+args[0]); เปนการเรียก เมธอด println อยูในคลาส out ในแพ็คเก็ต System มาทําการแสดงผลออกทางจอหนา โดย เมธอด println เปนการส่ังใหขอความหรือคาของตัวแปรที่อยูในอารกูเมนตลิสต (Created By>>>) ออกสู หนาจอ และในสวนของอารกูเมนตลิสต คาที่สอง (args[0]) เปนการรับคาจากแปนพิมพขณะทําการส่ัง ให Run โปรแกรม ดังภาพท่ี 1.22 ไดยกตัวอยางคาที่สงเปนขอความ SKUL ซึ่งสามารถเปล่ียนคาได จากเมธอด println มผี ลการแสดงคา ในอารกูเมนตลสิ ตเสรจ็ แลวระบบจะทําการข้ึนบรรทัดใหมรอคําส่ัง ถัดไป สวนเมธอด print ของ System.out.print(\"Welcome to java, \"); เปนการส่ังใหแสดงคา Welcome to java, โดยแสดงเสร็จแลว เคอรเซอรยังคงอยูท่ีบรรทัดเดิม เมื่อมีคําสั่งตอมาเปนเรียกใช เมธอด println จะทําการแสดงขอความหรือคาของตัวแปรท่ีอยูในอารกูเมนตลิสตออกทางหนาจอ แสดงภาพท่ี 1.23

ภาพที่ 1.23 แสดงการส่งั Run โดยการกาํ หนดอารก ูเมนต สรุป การเขียนโปรแกรมคอมพิวเตอรสําหรับนักพัฒนาโปรแกรม สามารถทําการสรางงานดวยการ เขียนโปรแกรมได 2 แบบ คือ แบบการเขียนโปรแกรมแบบโครงสราง กับแบบการเขียนโปรแกรมเชิง วัตถุ ซึ่งการเขียนโปรแกรมเชิงวัตถุ สามารถสรางงานไดดวยโปรแกรมแกไขใดๆ แลวทําการบันทึกเปน แฟมขอมูลนามสกุล .java เพ่ือนํามาสรางคลาสไดดวยตัวแปลภาษาจาวา (javac.exe) สงผลทําการให ไดแฟม ขอมลู ที่เปน คลาสมาหนึ่งแฟมนามสกลุ .class จากน้ันเมอื่ ตอ งการนํางานท่ีพัฒนาขึ้นมาไปใชงาน สามารถทําไดโดยการนําตัวจาวาเวอรชัวนแมทซีนท่ีทําหนารัน (java.exe) มาสั่งใหทํางานตามที่ นักพฒั นาเขยี นไดสรางไว แบบฝกหดั 1. การเขยี นโปรแกรมภาษาจาวามีความแตกตา ง หรอื สัมพันธกับภาษาแบบโครงสรา งอยางไร 2. จงอธบิ ายระหวาง jacac.exe กับ java.exe วาหนาที่อะไร 3. จงอธบิ ายความแตกตา งระหวา งโปรแกรม Notepad กบั EditPlus 4. จงอธบิ ายความสาํ คัญของการแปลภาษา (Compiler) วา สําคญั อยางไร 5. จงอธบิ ายความสาํ คญั ของการส่ังทํางาน (Run) วาสําคัญอยางไร 6. จงประโยชนข องการกําหนดเสน ทาง(path) หลงั จากทาํ การติดตัง้ โปรแกรมแลว 7. การออกจากระบบปฏบิ ตั กิ ารวินโดวสูร ะบบดอสทําไดอยา งไร 8. การเขยี นคําอธิบายในโปรแกรมภาษาจาวาทําไดดวยเครอ่ื งหมายใดไดบา ง 9. คาํ สง่ั ภาษาจาวาสามารถเขียนดว ยตัวอักษรตัวใหญไดห รือไมเ พาะเหตุใด 10. ในการส่งั จบคําสงั่ ของโปรแกรมภาษาจาวาในแตละบรรทัด ใชเ คร่ืองหมายใด ……………………………………………

เอกสารอางอิง กติ ติ ภกั ดีวัฒนะกุล, และศริ วิ รรณ อัมพรดนยั . (2544). Object-Oriented ฉบับพนื้ ฐาน. กรุงเทพฯ: สาํ นักพมิ พ เคทพี ี. รุงโรจน โพนคํา, และปราลี มณีรตั น. (2545). Java Programming. กรงุ เทพฯ: ซคั เซค มีเดยี บจก. วรรณิกา เนตรงาม. (2545). คูม ือการเขียนโปรแกรมภาษาจาวา ฉบบั ผเู รม่ิ ตน . นนทบุรี: อนิ โฟเพรส บจก. วีระศักดิ์ ซงึ ถาวร. (2543). Java Programming Volume I. กรุงเทพฯ: ซีเอ็ดยเู คช่ัน บจก. - . (2545). Java Programming Volume II. กรุงเทพฯ: ซเี อ็ดยูเคช่นั บจก. สุรางคนา ระวังยศ. (2555). การเขยี นโปรแกรมเชิงวตั ถุ. คน เมื่อ 23 สงิ หาคม 2555, จาก http://www.kmitl.ac.th/~s3010819/MyFile/My%20Ebook/JAVA/ %BA%B7%B7%D5%E8%201%20%20%BA%B7%B9%D3.pdf About the java technology. (2012). Retrieved August 28, 2012, from: http://docs.oracle.com/javase/tutorial/getStarted/intro/definition.html Anban Pillay (2007). Object Oriented Programming using Java. University of KwaZulu- Natal. Armstrong, E. (2002). The J2EE™ 1.4 Tutorial. Network Circle, CA: Sun Microsystem, Inc. Java download (2012). Retrieved August 28, 2012, from: http://java.sun.com/javase/downloads/index.jsp

หนวยที่ 2 การเขยี นโปรแกรมเชงิ วัตถุ (Object Oriented Programming: OOP) การเขียนโปรแกรมเชิงวัตถุ เปนการเขียนโปรแกรมโดยการกําหนดส่งิ ท่เี ปนปจจัยในการเขียน โปรแกรม เปนวัตถุ(object) ซึ่งวัตถุสามารถเปนไดทั้งรูปธรรม(ส่ิงท่ีจําตองได) และนามธรรม(ส่ิงที่จับ ตอ งไมได) สงผลทําใหการเขียนโปรแกรมเปนเรือ่ งสามารถทําไดอยางรวดเร็ว และการปรับปรุงแกไข โปรแกรมขนาดใหญทําไดง ายและใชเวลานอยลง ซึง่ การเขียนโปรแกรมเชิงวัตถุเปนรูปแบบการเขียน โปรแกรมคอมพิวเตอรทีจ่ ําลองแนวคิด วาปจจัยท่ปี อนเขาตวั โปรแกรมเปนวัตถุ ซึง่ สามารถนํามา ประกอบ ทํางานรวมกันได สามารถเพิ่มหนาที่ของวัตถุได สามารถแลกเปลี่ยนขอมูล แลกเปลี่ยนหนาท่ี และนําผลการประมวลผล สงตอไปให วตั ถุ อื่นๆ ได วตั ถ(ุ ออ็ บเจกต) วัตถุ หรือ อ็อบเจกต ท่ใี ชในการเขียนโปรแกรมเชิงวัตถุ จึงมีสวนประกอบท่สี ําคัญ 2 สวน คือ สวนท่หี น่งึ คุณลักษณะ (attribute) เปนส่งิ ทีบ่ อกคุณลักษณะทั่วไปของวัตถุ หรือขอมูลของวัตถุ (data) สวนท่สี อง พฤติกรรม (behavior) เปนส่งิ ทีว่ ัตถุสามารถกระทําไดห รือการกระทําของวัตถุ (method) การเขยี นโปรแกรมเชิงวตั ถุ ดว ยภาษาจาวามีสง่ิ ทเ่ี ปนควรรูพ นื้ ฐานทสี่ าํ คัญในการเขียนโปรแกรม ดังนี้ คลาส (Class) คือการประกาศภาพรวมของกลุมวัตถุท่ีมีคุณลักษณะ (Data or Attribute) ท่ีเหมือนกัน มีพฤติกรรมที่ (Behavior or Method)เหมือนกัน ซึ่งคลาสเปนโครงสรางพ้ืนฐานของการ เขยี นโปรแกรมเชงิ วตั ถุ เชน คลาสรถยนตเ กง มีคุณลักษณะประกอบดวย ลอ 4 ลอ มีพวงมาลัย มีตัวรถ มีเครื่องยนต มีเครื่องปรับอากาศ สวนพฤติกรรม คือ สามารถวิ่งได เหลียวไดเดินหนา ถอยหลัง หยุด เรงความเร็วได เปนตน ดังน้ันคลาสเปรียบเสมือนพิมพเขียว (template) หรือตนแบบของวัตถุนั่นเอง ดงั นน้ั หากจะตองสรางวัตถุ ลําดบั แรกจาํ เปนตอ งสรางคลาสขึ้นมากอน อินสแตนซ (instance) ภาษาจาวามีการแบงตัวแปรเปน 2 ชนิดคือ ชนิดไพรมิทีฟ (primitive type) คือตัวแปรท่ีเก็บขอมูลพ้ืนฐานท่ีไมใชวัตถุ เชน int, char, float, boolean เปนตน สว นตัวแปรอกี ชนิดหนึ่งทใี่ ชอ างถึงขอมลู ในหนว ยความจําท่ีเปนวตั ถุ ในภาษาจาวาจะเรียกตัวแปรชนิดนี้ วาอางอิง (reference) ซึ่งการทํางานคลายๆกับพอยเตอรในภาษาซี คือเปนตัวแปรท่ีอางไปยัง หนวยความจําท่ีเก็บขอมูลท่ีเปนวัตถุนั้นๆ ตัวแปรพอยเตอรจึงตัวแปรเปนที่เก็บเฉพาะตําแหนงของ ขอมลู ถา จะสรางขอ มลู ใหมก ต็ อ งจัดการจองหนวยความจําขึ้นมาแลวใหพอยเตอรนี้ไปชี้ เม่ือไมตองการ ใชก็สามารถคืนหนวยความจําได กลาวคือตัวแปรชนิดอางอิงก็คือ อินสแตนซในภาษาจาวานั่นเอง หมายความวาอินสแตนซเปนตัววัตถุที่ถูกสรางขึ้นมาในหนวยความจําดวยคําส่ัง new เปนการอางถึง ขอมูลในหนวยความจําที่เปนวัตถุ ซ่ึงทํางานคลายๆกับ พอยเตอร (pointer) ในภาษาซี คืออางไปยัง หนวยความจําทเี่ ก็บขอ มลู น่ันเอง ดงั นั้นการสรางวตั ถดุ วยอินสแตนซจึงเปน คําสัง่ พืน้ ฐานของภาษาจาวา การปดบังขอมูล (Encapsulation or Information hiding) เปนวิธีการกําหนด สิทธิในการเขาถึงขอมูล หรือกําหนดการกระทําตอกับวัตถุของ คลาสนั้นๆ ทําใหแนใจไดวาขอมูลของ วัตถุน้ันจะถูกเปลี่ยนแปลงแกไขผานทางเมธอด (methods) หรือ คุณสมบัติ (properties) ท่ีไดรับ

อนุญาตเทาน้ัน การปดบังขอมูลน้ันเปนการปองกันไมใหอ็อบเจกตภายนอกเขาถึงขอมูลไดอยางอิสระ เปนการสรางความปลอดภัยใหกับขอมูล เพราะขอมูลจะถูกเขาถึงไดจากไดรับอนุญาตใหเปนผูมีสิทธิ์ เทา นัน้ การสืบทอดคุณสมบัติ (Inheritance) เปนการสืบทอดคุณสมบัติจากคลาสแมไปยัง คลาสลูก โดยที่คลาสลูกสามารถสืบทอดคุณสมบัติมาจากคลาสแมได ซ่ึงเปนคุณสมบัติของการนําอ็อบ เจกต กลับมาใชใหม (reuse) ประหยัดเวลาในการทํางาน ซ่ึงเปนจุดเดนสําคัญ ของการเขียนโปรแกรม เชิงวัตถุดังนั้นในแตละแฟมขอมูลหรือคลาส จะประกอบดวยคลาสยอย หรือซับคลาส (sub class) จะ ไดร บั การถา ยทอดคุณสมบตั ิตา งๆ มาจากคลาสหลัก (super class) หรอื คลาสแม นามธรรม (Abstraction) เปนการแสดงถงึ คณุ ลักษณะและพฤตกิ รรมของอ็อบเจกต เทาที่ จําเปนตองรับรูและใชงาน โดยซอนสวนที่เหลือเอาไวเพ่ือไมใหเกิดความสับสน และสามารถนํามา เพมิ่ เติมคุณสมบตั ิเพ่ิมเต็มภายหลงั ได โพลิมอฟซึม (Polymorphism) เปนการกําหนดหนาที่การทํางานที่มีหลายรูปแบบ หรือ กลาวไดวา หน่ึงเมธอด สามารถทํางานไดหลายๆรูปแบบ โดยมีช่ือเมธอดเดียวกัน แตสามารถทํางาน แตกตางกันได ซ่ึงโพลิมอฟซึมสามารถแบงเปน 2 แบบ คือ การโอเวอรโหลดด้ิง (Overloading) และ การโอเวอรไรดิ้ง (Overriding) พื้นฐานการเขยี นโปรแกรมภาษาจาวา โครงสรา งของโปรแกรมภาษาจาวา ตองมีประกอบดวยคลาสอยางนอยหนึ่งคลาส โดยในคลาส จะประกอบดวยสมาชิกที่เปนขอมูล(ตัวแปร) และหรือเมธอด (ในภาษาซีเรียกวา ฟงกชัน: Function) จํานวนสมาชกิ ของคลาสจะอยูภายในเคร่ืองหมาย “{ }” ในการสรางคลาสโดยภาษาจาวาสามารถสราง ขึ้นดวยการพิมพคียเวิรด class ตามดวยชื่อของคลาส ซึ่งช่ือคลาสท่ีตองเปนช่ือเดียวกับแฟมขอมูลของ โปรแกรมท่ีสรางข้ึนโดยทําการบันทึกเปนนามสกุล .java ดวยเม่ือทําการคอมไพลโปรแกรมภาษาจาวา แลว จะไดคลาสท่เี ปนชอ่ื เดยี วกับตัวโปรแกรมภาษาจาวาที่มีนามสกลุ .class ในการสรางคลาสอยางที่กลาวขางตนวา โปรแกรมภาษาจาวาในหนึ่งแฟมขอมูลตองมีคลาส อยางนอยหน่ึงคลาส แตไมไดหมายความวามีเพียงคลาสเดียวในหนึ่งแฟมขอมูล ดังน้ันผูเขียนโปรแกรม (Programmer) สามารถกําหนดใหหนึ่งคลาสของหน่ึงแฟมขอมูลสามารถมีคลายยอยไดตามจํานวนที่ ตองการได ตวั อยา งในภาพที่ 2.1 ดังน้ันเม่ือนําคลาสของโปรแกรมภาษาจาวามาใชงาน ดวยการอินเตอรพรีเตอรจาวา (Java Interpreter) น้ัน ทําใหสามารถอางอิงคลาสใหมาทํางานไดอยางอิสระ คือการเรียกใชคลาสสามารถ เรียกไดทั้งคลาสที่เปนคลาสหลักและคลายยอยได สงผลใหเวลาในการเรียกโปรแกรมภาษาจาวามาใช งาน คอื เวลาการใชง านขนึ้ อยกู บั วาในการอินเตอรพรีเตอรของแตละครั้งจะเรียกคลาสท้ังหมดมาทํางาน หรือเรียกคลาสบางสวนมาใชงาน เพราะการอินเตอรพรีเตอรแตละครั้ง จะทําการโหลด (Load) คลาส มาใชงานเทาท่ีเรียกใชเทาน้ัน มีผลทําใหเวลาในการทํางานของแตละคร้ังเปนเวลาใชงานจริงตามการ โหลดจํานวนเมธอดมาทํางานเทาน้ัน ซ่ึงแตกตางจากโปรแกรมเชิงวัตถุภาษาซีพลัส ๆ ท่ีโคดของ ภาษาซีพลสั ๆ จะถกู คอมไพลเ พียงครั้งเดียวท้ังตัวโคดทําใหตัวไฟลนามสกุล .exe (executable code) มีขนาดใหญเพราะไดรวมฟงกช่ันท้ังโปรแกรมไวคร้ังเดียว ดังน้ันเวลาในการทํางานจึงเทากันทุกคร้ังท่ี เรียกโปรแกรมมาใชงาน

ภาพที่ 2.1 แสดงสรา งคลาสหลักและคลาสยอย จากภาพที่ 2.1 แฟมขอมูลท่ีเปนโคดจาวาชื่อ Abc.java เปนชื่อคลาสหลักช่ือ Abc.class ท่ีถูก ทําการคอมไพลแลวพบวามีคลาสยอยชื่อ a และ b ที่อยูภายในคลาสหลัก Abc เขียนแสดงผลการ คอมไพลเ ปน รูปคลาสเปนดังน้ี Abc$a.class และ Abc$b.class ตามลําดบั ในการกําหนดช่ือโคดจาวา ตามกลาวมาขางตนวาการที่ทําการบันทึกโคดควรเปน ซ่ือเดียวกัน กับช่ือคลาส แตกม็ ีการกําหนดชื่อแฟม ขอ มลู กบั คลาส ในบางกรณี คือ 1. ถาคลาสใดไมมีการกําหนดสิทธิ์การเขาถึงดวย public หรือ private หนา class ชื่อคลาส จะเปนชอ่ื อะไรกไ็ ด ไมจ าํ เปน ตอ งเปนช่อื เดยี วกับแฟม ขอ มูล (ภาพที่ 2.2) ภาพท่ี 2.2 แสดงการบันทึกช่ือแฟมขอมูล a.java ดว ยชื่อคลาสทแ่ี ตกแตงกนั ดว ยชอื่ Abc

จากภาพท่ี 2.2 โคดจาวาช่ือ a.java สามารถสรางช่ือแฟมขอมูลท่ีแตกตางกับช่ือคลาส (class Abc) ซึ่งไมผิดกฎการต้ังชื่อ สามารถทําการส่ังคอมไพลไดไมแจงขอผิดพลาด (Output Completed) แตโคดจาวาไมสามารถส่ังใหทํางาน (Run) ใหทํางานเปนลักษณะบนเครื่องสวนบุคคล (Stand Alone) ได เพราะในการส่ังใหทํางานดวยการรันไทลจาวาเปนการเรียกคลาส a ดวยคําสั่ง java a แต a เปน เพียงชื่อโคดจาวา สวนคลาสที่ถูกสรางข้ึนดวยคําสั่ง javac a.java ทําการสรางคลาสช่ือ Abc (class Abc) จงึ ไมส ามารถทาํ งานได แตสามารถทาํ การเรยี กคลาส Abc ทถี่ กู สรางไดดวยคําส่ัง java Abc (ภาพ ที่ 2.3) ไดด ังน้ี ภาพที่ 2.3 แสดงการเรียกใชง านคลาสทีม่ ีช่อื แตกตางกบั โคดจาวา จากภาพที่ 2.3 ในการบันทกึ โคดจาวา a.java ควรทําการเก็บไวโฟลเดอรเดียวกับท่ีตัวคอมไพล กับตัวรันไทลจาวา (c:\\Program Files (x86)\\Java|jdk1.6.0_14\\bin) ปองกันการจะทําใหเกิดการ ผิดพลาด ในการเรยี กใชคาํ สง่ั ไมพ บไพลทตี่ องการเรยี กใช (a.java) 2. การกําหนดช่ือแฟมขอมูลที่มีการกําหนดสิทธ์ิการเขาถึงคลาสดวย public ตามดวย class ชื่อตองเปนชื่อเดียวกัน ซ่ึงการกําหนดสิทธ์ิการเขาถึงคลาสดวย public ในหน่ึงโคดสามารถกําหนดได เพียงคร้ังเดียวเทานั้น ดังตัวอยางโปรแกรม Applet ท่ีเปนรูปแบบการทํางานของโปรแกรมภาษาจาวา อีกรูปแบบหนึ่งที่ทํางาน (รัน) โดยผานทางบราวเซอร (Browser) ซึ่งมีขั้นตอนดังนี้ 1.) สรางโคดจาวา (FirstApplet.java) 2.) ทําการคอมไพลด ว ย javac FirstAplet.java ไดผลเปนคลาส FirstApplet.class 3.) นําคลาสมาเขียนเปนสคริปต แทรกใน HTML 4.) ทําการเรียกใชไดดวยบราวเซอร (Internet Explorer, Google Chrome, Fire Foxe เปน ตน) 2.1) สรางโคดจาวาสําหรบั Applet ทาํ การบันทกึ แฟม ชื่อ FirstApplet.java import java.applet.*; import java.awt.*; public class FirstAppelt extends Applet { public void paint(Graphics g) { g.drawString(\"Hello World!\", 25, 50); } }

2.2 ทาํ การคอมไพล FirstApplet เปนการสรา งคลาส FirstApplet.class (ภาพท่ี 2.4) ภาพท่ี 2.4 แสดงการผลคอมไพล FirstApplet.java ไดคลาส FirstApplet.class 2.3 ทําการสรางสคริปต Applet แทรกในเว็บเพ็จ HTML โดยทําการบันทึกดวยแฟมขอมูลชื่อ ใด ๆ ที่นามสกลุ html ในทน่ี ีต้ ้งั ชื่อเปน JavaApplet.html ดังตวั อยางโปรแกรมดา นลาง (ภาพท่ี 2.5) <HTML><HEAD><TITLE> This is My First Applet </TITLE></HEAD> <BODY> การแสดง Applet ทีส่ รา งดว ยโปรแกรมภาษาจาวา <P> <APPLET code = \"FirstApplet.class\" width = 200 height =100> </APPLET> </BODY> </HTML> ภาพท่ี 2.5 แสดงการแทรกสครปิ ต Applet ลงใน HTML

2.4 ทาํ การเรยี ก Applet มาใชง านสามารถทาํ การเรยี กใชไ ด 2 ลักษณะคือ 2.4.1 ใช appletviewer (ภาพท่ี 2.6) ภาพที่ 2.6 แสดงการเรียกใช Applet ผานทาง appletviewer 2.4.2 การเรียกผาน Applet ผา นทางบราวเซอร (ภาพที่ 2.7) ภาพท่ี 2.7 แสดงการเรยี กใช Applet ผา นทางบราวเซอร Chome **หมายเหตุ ในการเรียกใชผานบราวเซอร อาจมีการแสดงขอผิดพลาด ใหทําการปรับปรุง Java (TM) ถกู บล็อกเน่ืองจากลาสมัย และดวยในดานการกําหนดความปลอดภัยของตัวบราวเซอร ของแตละคาย ดังนัน้ ตอ งทําการเลอื กทาํ การ อปั เดตปลัก๊ อนิ และเลือก เรยี กใชต อนน้ี เปน ลําดับถดั มา (ภาพท่ี 2.8) ภาพที่ 2.8 แสดงการเรยี กใชอัปเดตปลั๊กอนิ และการอนุญาตเปด การใชง าน Java(TM)

สวนประกอบของโปรแกรมภาษาจาวา ภาษาของโปรแกรมคอมพิวเตอรทุกภาษา ไมเวนกระทั้งโปรแกรมภาษาจาวา จะมีการกําหนด คําเฉพาะ และสัญลักษณ (การกําหนดดังกลาวเรียกวา token) วามีความหมายอยางไร รูปแบบของคํา (lexical grammar) เขียนอยางไร รวมทั้งโครงสรางระดับประโยค (syntax grammar) วาตองเขียน อยางไรใหถูกตอง โดยในการเขียนโปรแกรมภาษาจาในแตละโปรแกรม จะมีรูปแบบของซอรสโคด (source code) ที่ประกอบดวย อักษรหรือคําส่ังท่ีมองไมเห็น (white space) คําอธิบายโคด (comment) คําสงวน (keywords) ช่ือเฉพาะ (identifiers) คําจัดกลุมหรือแยกกลุม (separators) คํา ทใี่ ชแสดงคาคงที่ (literals) อกั ษรหรือคําสงั่ ทีม่ องไมเหน็ (white space) ในการเขียนโคดทุกคร้ัง โคดทุกโคดจะตองมีสวนประกอบของอักษรหรือคําส่ังท่ีมองไมเห็นอยู เสมอ เชน โคดท่ีเขียนวา public static void main(String args[ ]) พบวาระหวางคําวา public static void main จํามีการเวนวรรคระหวางคําทุกคํา ซึ่งเปนขอกําหนดของการเขียนโคดของภาษาจาวา ถา ผูเขียนโปรแกรมไมปฏิบัติ คือการเขียนโดยไมเวนวรรค (publicstaticvoidmain) เมื่อสั่งคอมไพเลอร จะเกิดการอานคําสั่งไมเขาใจ (error) รวมท้ังคําสั่ง String args[ ] ถาไมเวนวรรค (Stringargs[ ]) สงผล ทําใหต วั แปลภาษาหรือคอมไพเลอร ไมเขา ใจคําส่งั ท่เี ขียนได ในการเขียนโคดของโปรแกรมภาษาจาวา ผูเขียนโปรแกรมสามารถใช การเวนวรรคไดอยาง อิสระหมายความวา สามารถเวนวรรค ระหวางคําไดมากกวา 1 เคาะ หรือ เวนที่ละยอหนา หรือ เวน เปนท่ีละบรรทัด เพ่ือใหโคดที่เขียนอานเขาใจงาย ก็สามารถทําไดโดยไมมีผลกระทบตอการแปลคําสั่ง หรอื คอมไพล ของโปรแกรม คําอธบิ ายโคด (comment) การเขยี นโปรแกรมทด่ี ี ผูเขียนควรเขียนคําอธิบายของแตละคําส่ังหรือแตละฟงกชันหรือเมธอด วา เขยี นไวเพอ่ื ทําอะไร เปน การเตือนความจําสําหรับผูเขียนโปรแกรม และสําหรับผูอานโปรแกรมทั่วไป ที่ตองการศึกษาโคดที่ได เพื่อนําทําการพัฒนาตอ ซ่ึงการคําอธิบายโคด สามารถทําไดเหมือนกับภาษาซี ซ่งึ แบงคําอธิบายโคดออกเปน 3 ลักษณะคือ 1. ลักษณะแรก ใชเคร่ืองหมาย /* ตามดวยขอความท้ังภาษาไทยหรือภาษาอ่ืนๆ และทําการ ปด คาํ อธบิ ายดวยเคร่อื งหมาย */ 2. ลักษณะท่ีสอง ใชเครื่องหมาย // ตามดวยขอความ ไดตลอดหน่ึงบรรทัด โดยไมตองมี เครอื่ งหมายใดส่งั ปด 3. ลกั ษณะท่ีสาม เปน การเขียนคาํ อธิบายมากวาหนึ่งบรรทัดสามารถทําไดโดย ใชเครื่องหมาย /** และทําการปด ดวยเคร่ืองหมาย */ หรอื เครอ่ื งหมาย **/ คาํ สงวน (keywords) คําสงวน เปน คําหรือตัวอักษรพิเศษ ที่ภาษาโปรแกรมคอมพิวเตอรแตละภาษา จําเปนตอง สงวนคําบางกลุมไว เพราะคําสงวน เปนคําสั่งของโปรแกรมภาษานั้นหามไมใหผูเขียนโปรแกรมนํามาใช

เปนหนาที่ใหม เปนชื่อตัวแปร ช่ือฟงกชัน ช่ือเมธอด ช่ือคลาส เปนตน ซึ่งในโปรแกรมภาษาจาวา มีคํา สงวนจาํ นวน 50 คาํ คือ abstract, boolean, break, byte, case, catch, char, class, const, continue, default, do, double, else, extends, false, final, finally, float, for, goto, if, implements, import, instanceof, int, interface, long, native, new, null, package, private, protected, public, return, short, static, super, switch, synchronized, this, throw, throws, transient, true, try, void, volatile, และ while ช่ือเฉพาะ (identifiers) ชื่อเฉพาะ เปน การกาํ หนดชื่อใหกับโคดในโปรแกรม ชื่อตัวแปร ชื่อคลาส รวมท้ังชื่อแฟมขอมูล หามนําคําสงวนมาใชเด็ดขาด เวนแตการกําหนดใหมีความแตกตางเล็กนอย เชน ชื่อของตัวแปร ตองมี เคร่ือง $ นําหนาชื่อตัวแปร ชื่อของคลาสควรขึ้นตนชื่อคลาสดวยตัวอักษรพิมพใหญ เชนดวยกับช่ือ แฟมขอมูลเปนเหมือนชื่อคลาส ซึ่งในโคดภาษาจาวา ชื่อเฉพาะท่ีใชมีลักษณะเปน case-sensitive คือ คําของตัวอักษรใหญกับตัวอักษรเล็กเปนคนละชื่อกัน เชน คําวา First กับ first เปนช่ือท่ีเปนคนละคํา กันสามารถนาํ มาใชก าํ หนดเปน ตวั แปรไดทง้ั สองตัว เปนตน คําจดั กลมุ หรอื แยกกลมุ (separators) ในการเขียนโปรแกรม การจัดกลุมหรือแยกกลุม มีความสําคัญอยางมากในการจัดใหเปนกลุม ของคําส่ังใด ฟงกชันหรือเมธอดใด ใหทํางานเปนชุดเดียวกัน หรือปฏิบัติตามเฉพาะกลุมเทานั้น ในการ จัดกลุมสามารถทําไดด ว ยเครอ่ื งหมายแตละชนิดดงั น้ี 1. เคร่ืองหมายวงเล็บเปด “(” วงเลบ็ ปด “)” (parentheses) ใชสําหรับเปนชองทางเขา ชอง ทางออก ของอารก เู มนต (argument) ของฟงกชันหรือเมธอดทุกคร้ัง ใชสําหรับเปนสวนที่ กําหนดเงื่อนไขของ if-else, while, for, และ do รวมทั้งใชสําหรับเปนการกําหนดลําดับ การคาํ นวณทางคณติ ศาสตรในสว นประโยคทางคณติ ศาสตร (expressions) 2. เครือ่ งหมายปกกาเปด “{“ ปกกาปด “}” (braces) ใชหรับพ้ืนท่ีสมาชิกของ array และใช สาํ หรบั กําหนดขอบเขตของ block, method และ class 3. เครื่องหมายกา มปูเปด “[” กามปูปด “]” (brackets) ใชส ําหรับกําหนดจํานวนของ array และใชส าํ หรับกําหนดตําแหนง ของ array ทต่ี องการตดิ ตอใชงาน 4. เคร่ืองหมายเซมโิ คลอน “;” (semicolon) ใชส ําหรบั สัง่ จบแตล ะคาํ ส่งั เพอ่ื ใหตัวแปลภาษา (compiler) นาํ คาํ สั่งกอนเคร่อื งหมายเซมโิ คลอนไปทําการแปลคาํ ส่ัง 5. เคร่ืองหมายคอมมา “,” (comma) ใชสําหรับการแยกประโยคของการประกาศ (declaration) ตัวแปร รวมทง้ั ในการแยกประโยคยอ ยใน for( คาเริ่มตน, เงื่อนไข, เพิ่มคา หรือลดคา) 6. เคร่อื งหมายจดุ “.” (full stop) ใชส ําหรบั แยกชอ่ื package แยกช่ือ subpackage และใช สาํ หรบั แยกชือ่ class หรอื ชอื่ instance กบั ชอื่ สมาชิก

คําท่ีแสดงคาคงที่ (literals) ในการเขียนโคดโปรแกรมภาษาจาวา ตองมีการกําหนดคาคงท่ีใหกับตัวแปรชนิดตางๆ สามารถแบงเปน 5 ชนิดคอื 1. คาคงท่ีจํานวนเต็ม (integer literal) ซึ่งคาคงที่จํานวนเต็มสามารถกําหนดตามเลขฐานได 3 เลขฐาน ประกอบดวย - เลขฐานแปด ในการกาํ หนดใหใ ชเลขศูนย (0) นาํ หนาเลขที่ตองการกําหนดคา เชน 0123 เปน ตน - เลขฐานสบิ ในการกาํ หนดหา มใชเลขศูนย (0) นาํ หนา เลขทต่ี องการกําหนดคา เชน 123 เปนตน - เลขฐานสิบหก ในการกําหนดใหใชเลขศูนยเอก (0x) นําหนาเลขท่ีตองการ กําหนดคา เชน 0x123 เปนตน 2. คาคงท่ีเลขทศนิยม (floating point literal) สามารถกําหนดได 2 ลักษณะคือ 0.123 กับ กําหนดในรูปแบบวิทยาศาสตร 1.23e-1 หรอื 1.23E-1 เปน ตน 3. คาคงที่คาความจริง (boolean literal) เปนการกําหนดคาทางดานโลจิก (logic) มี 2 คา คือ true กบั false 4. คาคงท่ีตัวอักษร (character literal) กําหนดคาใหอยูภายใตเคร่ืองหมาย single quotes เชน ‘123’ หรือ ‘a’ เปนตน 5. คาคงท่ีสตริง (string literal) กําหนดคาใหอยูภายใตเคร่ืองหมาย double quotes เชน “123” หรอื “abc” เปน ตน ตัวอยางโปรแกรม ใหนักศึกษาเขียนโปรแกรม ตามตัวอยางที่กําหนดเพื่อใหทราบถึงหลักการการเขียนโปรแกรม ภาษาจาวา ใหนักศึกษาฝกทักษะในการเขียนโปรแกรมตามโครงสรางของภาษาจาวาใหมีความเขาใจ เปนสาํ คัญ ตวั อยาง 2.1 โปรแกรมในการกาํ หนดคา คงที่ public class MyfirstExpression { public static void main(String[] args) { int a = 10; //Assignment Variable a is integer type. System.out.println(\"Display data area\"); double b = 12345.56789; //Assignment Variable a is double type. System.out.println(\"Display value of this expression b = \" + b); /** Show information for user by System.out.println (“information display on screen”), and show another data by “+” value in variable **/ } }

จากตัวอยางโปรแกรม ใหนักศึกษาอธิบายสาระสําคัญของโปรแกรม โดยทําการวิเคราะหการ ทํางานของแตคําสั่ง ในแตละบรรทัดวาทํางานอยางไรโดยอางอิงจากเรื่อง อักษรหรือคําส่ังท่ีมองไมเห็น คําอธิบายโคด คาํ สงวน ชอื่ เฉพาะ คําจัดกลุมหรอื แยกกลุม คาํ ทใี่ ชแสดงคาคงที่ เปน ตน ตัวอยา ง 2.2 โปรแกรมในการแสดงคาที่กาํ หนด public class MySecondExpression { public static void main(String[] args) { int a = 21 String name = “ชอ่ื นักศกึ ษา”; Boolean rich = true; System.out.println(\"Display student name = \"+ name ); System.out.println(\"My old \"+ a + “years” ); System.out.println(\"My family is riches ? \" + rich); } } ใหนักศึกษาอธิบายการทํางานโปรแกรม ดวยการวิเคราะหการทํางานของแตคําสั่ง ในแตละ บรรทดั วา ทํางานอยางไรโดย ตัวอยาง 2.3 โปรแกรมในการกาํ หนดคาในขอบเขต public class MyThirdExpression { public static void main(String[] args) { boolean rich = true; If(rich) { System.out.println(\" I have a lot of money \"); } else { System.out.println(\"My family need some money\"); System.out.println(\"Please me… \"); } } } ใหนักศึกษาอธิบาย โดยทําการวิเคราะหการทํางานของแตคําสั่ง ในแตละบรรทัดวาทํางาน อยางไรโดยอา งองิ ทงั้ โปรแกรม

ตัวอยาง 2.4 การเขียนโปรแกรม ดวยการจบคําส่ังของแตละบรรทัดดวยคําส่ัง ; หรือเขียนโคดใน บรรทัดเดียวกนั มากกวาหนึ่งคําส่ัง public class ExpAndSemicolon { public static void main(String[] args) { int A = 100, B = 200; double C; System.out.println(\"Display variable A = \"+ A ); System.out.println(\" Display variable B = \"+ B ); System.out.println(\"The result of Rectangular area is \" + A*B + “ unit” + “ . ”); } } ใหน กั ศึกษาสงั เกตผลการทาํ งานของโปรแกรมวาปกติ หรือมขี อผดิ พลาดเรอ่ื งใดบา ง ตัวอยา ง 2.5 โปรแกรมทยี่ ังไมสมบรู ณ BugCode { public static viod nain(String[] args) { Ine a = 10: Boolean Grade = false; If(grade) { Syftem.out.println(\" Try learning again. \"); Sytem.ut.println(\" Cheer up…\"); } else { System.out.print(\"You are very good.\"): Systen.out.println(\"Good luck!!!\"); } } ใหนักศกึ ษาชวยกันในการทาํ การแกไ ขโคด ใหถ ูกตอ ง และเขยี นโคดใหมทส่ี มบรู ณ

สรุป การเขียนโปรแกรมเชิงวัตถุ ดวยโปรแกรมภาษาจาวา เปนการเขียนโปรแกรมคอมพิวเตอรท่ี พัฒนามาจากการจําลองแนวคิดของมนุษย โดยการมองของตางๆ รอบตัวท่ีเปนปจจัยที่ใชในการปอน ขอมูลที่เปนกอนๆ โดยในแตละกอนนั้นๆ มีสวนประกอบของหนึ่งกอนวัตถุเปนคาตัวแปรตางๆ รวมท้ัง กอนวัตถุหนึ่งกอนมีหนาท่ีในการทํางานที่แตกตางกัน ซ่ึงอาจตีความหมายเม่ือเทียบกับการเขียน โปรแกรมแบบโครงสราง ภาษาซีวา กอนวัตถุหน่ึงกอนเทียบไดกับหนึ่งโครงสรางของภาษาซี ในหน่ึง กอนสามารถประกอบดวยตัวแปรตางๆ ประกอบดวยฟงกชันท่ีหนาท่ีในการทํางาน เทียบไดกับเมธอด ของภาษาจาวา แตดัวยภาษาจาวาไดมีการพัฒนามาจากภาษาซีพลัสพลัส จึงทําใหตัวภาษาจาวาไดทํา การปรับปรุงการใหมีทํางานที่มีประสิทธิภาพมากขึ้น ภาษาจาวาสามารถสงตอหรือสรางวัตถุใหจาก ตนแบบของวัตถุเดิมไดเหมือนกับตนฉบับ หรือสามารถสรางวัตถุใหใหมีหนาท่ี (เมธอด)ที่แตกตางจาก ตนฉบับได(โพลิมอปริซึม) ภาษาจาวาสามารถนําวัตถุมาประกอบทํางานรวมกันได สามารถเพ่ิมหนาท่ี ของวัตถุใหมไ ด สามารถแลกเปลีย่ นขอมูลระหวา งวัตถไุ ด และนาํ ผลการประมวลผลกบั วตั ถุ อื่นๆ ได แบบฝกหัด 1. ยกตวั อยาง white space พรอมอธิบายความหมายของแตล ะคํา 2. เขยี นคํา key word มาอยา งนอ ย 10 คาํ พรอมอธบิ ายหนาท่ีของแตล ะคํามาพอสงั เขป 3. เขียนคาํ อธบิ ายความแตกตา งระหวางเครอื่ งหมาย “( )” กบั เคร่อื งหมาย “{ }” 4. เขียนตัวอยางการกําหนดคาใหกับตัวแปรทั้งหาชนิด คือ 1) คาคงที่จํานวนเต็ม 2) คาคงท่ีเลข ทศนยิ ม 3) คา คงท่ีคาความจริง 4) คา คงท่ีตวั อกั ษร 5) คาคงทีส่ ตรงิ ชนดิ ละ 5 คา 5. เขียนตัวอยางการกําหนดคาใหกับตัวแปรท้ังสามเลขฐาน คือ 1) เลขฐานสบหก 2) เลขฐานสิบ 3) เลขฐานแปดมาอยางนอ ยเลขฐานละ 10 คา 6. จากโคด ดานลางจงเขียนแสดงผลการทาํ งาน class IntergerType { public static void main(String arg[]) { System.out.println(10); System.out.println(010); System.out.println(0x10); } } เขยี นเหตุผลการแสดงคา ของโคด วา ไดผ ลทแี่ สดงการทํางานเปนเพาะเหตุใด

7. จากโคด ดานลางจงเขยี นแสดงผลการทํางาน class ConstantType { public static void main(String arg[]) { System.out.println(12345678901234); System.out.println(12345678901234L); } } เขยี นเหตผุ ลการแสดงคาของโคด วา ไดผลที่แสดงการทํางานเปนเพาะเหตใุ ด 8. จากโคด ดานลา งจงเขียนแสดงผลการทาํ งาน class FloatType { public static void main(String arg[]) { System.out.println(0.123456789); System.out.println(1.23456789e-1); System.out.println(1.23456789E-1); } } เขยี นเหตผุ ลการแสดงคา ของโคด วา ไดผ ลท่แี สดงการทํางานเปน เพาะเหตุใด 9. จากโคด ดานลา งจงเขียนแสดงผลการทาํ งาน class FloatDoubleType { public static void main(String arg[]) { float f = 3.145926535897896F; double d = 3.145926535897896D; System.out.println(f); System.out.println(d); } } เขียนเหตุผลการแสดงคา ของโคด วา ไดผลทแี่ สดงการทํางานเปนเพาะเหตใุ ด

10. จากโคดดานลา งจงเขยี นแสดงผลการทํางาน class BooleanType { System.out.println(true); System.out.println(false); System.out.println( 1 < 10); System.out.println(10 <= 100); System.out.println(100 > 100); System.out.println(100 >= 100); System.out.println(‘A’ == ‘a’); System.out.println(‘A’ != ‘a’); } เขยี นเหตุผลการแสดงคา ของโคด วา ไดผ ลที่แสดงการทาํ งานเปนเพาะเหตุใด --------------------------------------------------------------------

เอกสารอางอิง กติ ติ ภกั ดีวัฒนะกลุ , และศิริวรรณ อมั พรดนยั . (2544). Object-Oriented ฉบับพ้ืนฐาน. กรุงเทพฯ: สาํ นกั พมิ พ เคทีพี. รงุ โรจน โพนคํา, และปราลี มณรี ตั น. (2545). Java Programming. กรงุ เทพฯ: ซัคเซค มีเดยี บจก. วรรณกิ า เนตรงาม. (2545). คูมอื การเขียนโปรแกรมภาษาจาวา ฉบบั ผเู รม่ิ ตน . นนทบุรี: อนิ โฟเพรส บจก. วรี ะศักดิ์ ซงึ ถาวร. (2543). Java Programming Volume I. กรงุ เทพฯ: ซเี อ็ดยเู คช่นั บจก. - . (2545). Java Programming Volume II. กรุงเทพฯ: ซเี อ็ดยูเคช่ัน บจก. สรุ างคนา ระวงั ยศ. (2555). การเขยี นโปรแกรมเชิงวัตถ.ุ คนเมอ่ื 23 สงิ หาคม 2555, จาก http://www.kmitl.ac.th/~s3010819/MyFile/My%20Ebook/JAVA/ %BA%B7%B7%D5%E8%201%20%20%BA%B7%B9%D3.pdf About the java technology. (2012). Retrieved August 28, 2012, from: http://docs.oracle.com/javase/tutorial/getStarted/intro/definition.html Anban Pillay (2007). Object Oriented Programming using Java. University of KwaZulu- Natal. Armstrong, E. (2004). The J2EE™ 1.4 Tutorial. Network Circle, CA: Sun Microsystem, Inc.

หนว ยที่ 3 ตัวแปรและตวั ดําเนินการ (Variable and Operator) การเขียนโปรแกรมทุกภาษาคอมพิวเตอร รวมทั้งภาษาจาวา ในการนําตวั โปรแกรมมาชวย แกปญหางานหนึง่ ๆ ตวั โปรแกรมจะทํางานตองมีพืน้ ท่ใี นการจัดเก็บขอมูล และนําขอมูลมาในการ คํานวณคาอยางตอเน่ือง ซ่ึงในการตดิ ตอ กับพ้นื ท่ีของหนวยความจําตวั โปรแกรมสามารถทําไดโ ดยผาน องคประกอบท่เี รียกวา ตัวแปร และในการทํางานของโปรแกรมตองมีการนําคาขอมูลในตวั แปรมาทํา การคํานวณตามลักษณะตา งๆ ตามขอกําหนดของผูใ ชงานทีต่ อ งการใหโปรแกรมทําหนาทีใ่ ด การ คํานวณของโปรแกรมคอมพิวเตอรสามารถทําการคํานวณตามลักษณะของมนุษย และโปรแกรม คอมพิวเตอรยังสามารถทําการคํานวณเฉพาะโปรแกรมคอมพิวเตอรทีม่ ีรูปแบบการคํานวณทีแ่ ตกตาง จากมนุษยไดดวย ซึ่งการคํานวณดงั กลาว ในภาษาการเขียนโปรแกรมคอมพิวเตอรเรียกการกระทําน้วี า ตัวดําเนินการ ซ่งึ มีความสําคัญอันดบั ตน ๆ ที่นักศึกษาตอ งสามารถแยกแยะการใชงานและรูปแบบการ สงั่ งานโดยมดี งั รายละเอยี ดตอ ไปนี้ ตวั แปร (variable) ตวั แปร (variable) เปนการกําหนดภาชนะสมมุติขึ้นมาใชในการอางอิง (reference) ถึงตาํ แหนง (address) ของหนวยความจําคอมพิวเตอรวาตาํ แหนงที่ใชงานจริงอยทู ่ตี าํ แหนงใดข้ึนอยู ระบบปฏบิ ตั กิ ารน้นั วาจะกาํ หนดใหใชพนื้ ทีส่ วนใด ที่ใชในการเก็บคา (value) ใหกับตวั แปร ขนาดของ คาท่ีตอ งการเก็บไวในหนวยความจํา จะมีผลใหระบบปฏิบัตแิ ละตวั แปลภาษาโปรแกรมนํามากําหนดวา ควรอยูที่ตาํ แหนงใดถึงตาํ แหนงใด ดว ยชนิดของตวั แปรแตล ะชนิดมีขนาดในการเก็บคาขอมูลไมเทากัน ตวั แปรสามารถเก็บคาขอมูลไดตั้งแตขนาด 8 บิท 16 บิท 32 บิท และ 64 บิท สงผลใหการจัด หนวยความจํา (address mapping) ตองดําเนินการตามการประกาศจองพื้นที่ของตัวแปรในโคดท่ี ผูเขียนโปรแกรมกาํ หนดข้ึนมา ในการเขียนโปรแกรม ตองมีการกําหนดตัวแปรที่ใชในการเก็บคาขอมูลเสมอ จากทีก่ ลาวมา ดานบนเพอ่ื ใหต วั แปลภาษาทราบวา ผูเ ขยี นโปรแกรมตอ งการใชงานตัวแปร ดังนั้นกอนใชงานตัวแปรจึง จําเปนตองทําการประกาศตวั แปร (declaration) ตัวแปรกอนใชงานเสมอ โดยการประกาศตวั แปร ผูเ ขียนโปรแกรมตองกําหนดชนิดของตัวแปร วาตองการนํามาเก็บคาขอมูลอะไร มีขนาดเทาใด และ ตอ งการใชชอ่ื ใดเปนการอา งองิ การเขา ถงึ (กาํ หนดคาขอมูลและการเรียกคาขอมูล) โดยการประกาศของ โปรแกรมภาษาจาวา มีโครงสรา งการประกาศหรือการจองพ้ืนที่หนวยความจําดังน้ี <type> <identifier> [= <value>] [,<identifier> [= <value>] … ];

เมื่อ <type> คอื ชนดิ ตัวแปร (มผี ลตอขนาดของคาขอมูลท่ตี องการจัดเกบ็ ) <identifier> คือ ชือ่ ตวั แปร (ควรตัง้ ชื่อใหส ื่อกับคาของขอมลู ที่ตองการจัดเกบ็ ) [ … ] คือ เปนเคร่ืองหมายท่ีแสดงวาผเู ขียนโปรแกรม จะกาํ หนดคา ใดๆ <value> คอื ในเครอื่ งหมาย[ ] หรอื ไมกไ็ ด เชน [= <value>] หมายถงึ จะกาํ หนดคาขอ มูลใหก บั ตวั แปรหรือไมก็ได แตถ ากาํ หนดคา ขอมูลใหตวั แปรตอ งกาํ หนดคาขอ มลู หลงั เครื่องหมาย = ดวย คาขอ มูลของตวั แปร ตัวอยา งการประกาศตวั แปร ประกาศตวั แปรชอ่ื a กําหนดใหเ ปนชนิดขอมูล int (Integer: คา int a; คือ ขอ มลู เกบ็ ไดเ ฉพาะจํานวนเตม็ เทานน้ั ) โดยไมม กี ารกําหนดคาขอมลู int a = 10; คือ ประกาศตวั แปรชอื่ a เปนชนดิ ขอ มูล int มีคาขอ มลู เทา กับ 10 float b = 3.14; คือ ประกาศตวั แปรช่อื b เปน ชนดิ ขอ มูล float (คาขอมลู เก็บสามารถ เกบ็ เลขจาํ นวนจุดทศนิยมได) ซงึ่ ในทน่ี ีค้ าขอมูลของตวั แปรมี int a = 10, x; คือ คาขอ มลู เทา กับ 3.14 ประกาศตวั แปรชอ่ื a เปนชนดิ ขอ มูล int มีคา ขอมูลเทา กับ 10 และมกี ารประกาศตัวแปรชื่อ x เปน ชนดิ ขอ มลู int เชนเดยี วกบั ตัวแปร a แตต วั แปร x ไมม ีการกําหนดคา ขอ มลู ซึง่ ผเู ขยี นสามารถ ประกาศเชนน้ไี ด เปนตน ดังแสดงการจองพ้ืนท่ีหนวยความจําเสมือนดังภาพท่ี 3.1 (ก.) แสดงโครงสรางการประกาศตัว แปร และ (ข.) ตัวอยางการประกาศตัวแปร a มีคาขอมูลเทากับ 10 (ค.) แสดงการประกาศตัวแปร x โดยไมมีการกาํ หนดคาขอมูล พบวาระบบจะทาํ การกําหนดตําแหนง (Address = 0x3363) เปนการจอง พนื้ ทไี่ วใหส าํ หรับคาขอ มูลของตัวแปร x เทา นนั้ แตค า ในหนวยความจาํ ยงั ไมมกี ารกาํ หนดคาให Address Value 0x335F 10 a 0x335F 10 a x 0x3363 Name (ก.) (ข.) (ค.) ภาพที่ 3.1 แสดงการการจองหนวยความจําเสมือนของคอมพวิ เตอร

ชนิดขอมูล (data type) ชนิดขอ มูลของตัวแปรในโปรแกรมภาษาจาวาสามารถจัดการไดสองลักษณะคือ การจัดการบน รูปแบบคลาส (ซ่ึงจะกลา วภายหลัง) กับการจัดการรูปแบบตัวแปรพื้นฐาน ซ่ึงมีความคลายกับตัวแปรใน โปรแกรมภาษาซีและซีพลัสพลัส แตโปรแกรมภาษาจาวาไดทําการปรับปรุงสวนท่ีอาจกอปญหาสําหรับ นักพัฒนาโปรแกรมมือใหม ของตัวแปรภาษาซีและซีพลัสพลัส ที่ไมมีการกําหนดคาเริ่มตนใหกับตัวแปร เม่ือมกี ารประกาศใชตวั แปร สง ผลใหค าขอมูลในตวั แปรภาษาซแี ละซีพลัสพลัส จะทําการสุมคาขอมูลมา ใหตัวแปร ดังน้ันโปรแกรมภาษาจาวาจึงไดทําการแกไข ในเรื่องการกําหนดคาเร่ิมตนใหกับตัวแปร พ้นื ฐานทุกคร้ังท่ีมกี ารประกาศตวั แปร โดยมกี ารกําหนดคาเร่ิมตน ใหกับตัวแปร (ตารางที่ 3.1) ตารางท่ี 3.1 แสดงชนิดขอมูลของตวั แปรกบั คาเริ่มตน ของตัวแปร ชนิดขอ มลู ขนาดตัวแปร คาเริ่มตน (Type) (Size) (Default) Boolean 1 บทิ byte 8 บิท false char 16 บทิ 0 short 16 บิท int 32 บิท \\u0000 float 32 บิท 0 long 64 บทิ 0 double 64 บทิ 0.0 0 0.0 จากตารางที่ 3.1 ชนิดขอมูลท่ีเปน boolean ในสวนของโปรแกรมภาษาจาวามีขนาดในการ เก็บคาเทากับ 1 บิท สามารถเก็บคาได 2 สถานะ คือ อาจมีคาเปน true (ถูกตอง) หรือมีคาเปน false (ไมถูกตอง หรือ ผิด) ในการประกาศตัวแปร ในการจองพ้ืนท่ีของหนวยความจํา ถาผูพัฒนาโปรแกรม ไมไดกําหนดคาเริ่มตนให ตัวแปลภาษาของโปรแกรมภาษาจาวาจะกําหนดคาขอมูลใหกับตัวแปรมีคา เทากับ false ซึ่งแตกตางจากโปรแกรมภาษาซีและซีพลัสพลัส ชนิดขอมูลที่เปน boolean มีจะแสดง เปนเลขจาํ นวนเต็มสองสถานะคอื คา ขอ มลู เปน 1 (ถูกตอ ง) หรือคา 0 (ไมถ ูกตอ ง) ชนิดขอมูล byte สามารถเก็บคาไดจํานวน 8 บิท คือคาอยูระหวาง 127 ถึง -128 รวมทั้งสิ้น จาํ นวน 256 จํานวน (ภาพท่ี 3.2)

ภาพที่ 3.2 โปรแกรมแสดงตวั แปรชนิดไบท ชนิดขอ มูล char มีขนาด 16 บิท เปนคา คงทต่ี วั อักษร ที่สามารถแสดงคาไดภายใตเครื่องหมาย single quote (‘a’ หรอื ‘1’) (ภาพท่ี 3.3) ภาพที่ 3.3 แสดงคาคงท่ีตัวอักษรภายใตเคร่ืองหมาย single quotes


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook