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
Search
Read the Text Version
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248
- 249
- 250
- 251
- 252
- 253
- 254
- 255
- 256
- 257
- 258
- 259
- 260
- 261
- 262
- 263
- 264
- 265
- 266
- 267
- 268
- 269
- 270
- 271
- 272
- 273
- 274
- 275
- 276
- 277
- 278
- 279
- 280
- 281
- 282
- 283
- 284
- 285
- 286
- 287
- 288
- 289
- 290
- 291
- 292
- 293
- 294
- 295
- 296
- 297
- 298
- 299
- 300
- 301
- 302
- 303
- 304
- 305
- 306
- 307
- 308
- 309
- 310
- 311
- 312
- 313
- 314
- 315
- 316
- 317
- 318
- 319
- 320
- 321
- 322
- 323
- 324
- 325
- 326
- 327
- 328
- 329
- 330
- 331
- 332
- 333
- 334
- 335
- 336
- 337
- 338
- 339
- 340
- 341
- 342
- 343
- 344
- 345
- 346
- 347
- 348
- 349
- 350
- 351
- 352
- 353
- 354
- 355
- 356
- 357
- 358
- 359
- 360
- 361
- 362
- 363
- 364
- 365
- 366
- 367
- 368
- 369
- 370