การเขียนโปรแกรมคอมพิวเตอร์ (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 มาเข้ากระบวนการประมวลผลภาษาซีใหม่ตั้งแต่เริ่มต้น ภาษาจาวา (อังกฤษ: Java programming language) เป็นภาษาโปรแกรมเชิงวัตถุ (อังกฤษ: Object Oriented Programming) พัฒนาโดย เจมส์ กอสลิง และวิศวกรคนอื่นๆ ที่ ซัน ไมโครซิสเต็มส์ ภาษาจาวาถูกพัฒนาขึ้นในปี พ.ศ. 2534 (ค.ศ. 1991) โดยเป็นส่วนหนึ่งของ โครงการกรีน (the Green Project) และสำเร็จออกสู่สาธารณะในปี พ.ศ. 2538 (ค.ศ. 1995) ซึ่งภาษานี้มีจุดประสงค์เพื่อใช้แทนภาษาซีพลัสพลัส (C++) โดยรูปแบบที่เพิ่มเติมขึ้นคล้ายกับภาษาอ็อบเจกต์ทีฟซี (Objective-C) แต่เดิมภาษานี้เรียกว่า ภาษาโอ๊ก (Oak) ซึ่งตั้งชื่อตามต้นโอ๊กใกล้ที่ทำงานของ เจมส์ กอสลิง แต่ว่ามีปัญหาทางลิขสิทธิ์ จึงเปลี่ยนไปใช้ชื่อ "จาวา" ซึ่งเป็นชื่อกาแฟแทน และแม้ว่าจะมีชื่อคล้ายกัน แต่ภาษาจาวาไม่มีความเกี่ยวข้องใด ๆ กับภาษาจาวาสคริปต์ (JavaScript) ปัจจุบันมาตรฐานของภาษาจาวาดูแลโดย Java Community Process ซึ่งเป็นกระบวนการอย่างเป็นทางการ ที่อนุญาตให้ผู้ที่สนใจเข้าร่วมกำหนดความสามารถในจาวาแพลตฟอร์มได้ จุดมุ่งหมาย แพล็ตฟอร์ม มีความหมายรวมถึง ฮาร์ดแวร์ หรือซอฟแวร์ ที่ทำงานประสานกัน หรือทำงานแยกจากกัน ต่างคนต่างทำ โดยเมื่อรวมคำว่า จาวา (Java) เข้าไปรวมกับ แพล็ตฟอร์ม อันจะหมายถึง ฮาร์ดแวร์ หรือซอฟแวร์ที่ทำงานด้วยภาษาจาวา โดยจาวาแพล็ตฟอร์ม มีทั้งหมด 3 แพล็ตฟอร์มดังนี้ ฉะนั้น Java SE จึงเป็น platform พื้นฐานที่เหมาะสำหรับการเริ่มต้นศึกษาการเขียนโปรแกรมด้วยภาษาจาวามากกว่าเทคโนโลยีขั้นสูงอย่าง Java EE และสาเหตุที่ไม่เลือก Java WE มาใช้งาน ก็เนื่องจากต้องการศึกษาการเขียนโปรแกรมภาษาบนเครื่องคอมพิวเตอร์นั่นเอง
1. Java 2 Platform, Standard Edition (J2SE) คือ ทั่ว ๆ ไปที่เรียกว่า จาวาแอปพลิเคชัน (Java Application) 2. Java 2 Platform, Enterprise Edition (J2EE) คือ ใช้สำหรับการเขียนโปรแกรมแบบมัลติเทียร์ (Multitiered), แบบ Client - Server, แบบ Trail Appliances และโปรแกรมที่รองรับการใช้งานในองค์กร 3. Java 2 Platform, Micro Edition (J2ME) คือ ใช้สำหรับทำงานบนอุปกรณ์อิเล็คทรอนิกส์ เช่น โทรศัพท์มือถือ เป็นต้น ภาษาจาวา 1.2.1 Java Development Kit หรือ JDK คือชุดของเครื่องมือ (tools) ที่ใช้ในการพัฒนาโปรแกรม JAVA ของบริษัทซันไมโครซิสเต็มส์ ซึ่งใครก็ตามที่ต้องการจะพัฒนาโปรแกรมโดยใช้ภาษา Java อย่างเช่น Java compiler, Java debugger, Java doc และ Java interpreter หรือ Java VM จะต้อง ลง JDK นี้ ไม่งั้นจะไม่สามารถ compile และ run java ได้ เวอร์ชันปัจจุบันของ JDK คือเวอร์ชั่น 7 ประกอบไปด้วยโปรแกรมต่างๆ อาทิเช่น โปรแกรมคอมไพเลอร์ (javac.exe) ,โปรแกรมอินเตอร์พรีตเตอร์ (java.exe) ,โปรแกรมดีบักเกอร์ แต่จะไม่มีโปรแกรมอีดิเตอร์ ชุดพัฒนาโปรแกรม JDK ประกอบด้วย 3 รุ่นย่อยดังนี้ 1.2.2 Java Runtime Environment หรือ JRE โปรแกรม Java จะรันได้โดย Java Virtual Machine โดยพื้นฐานที่มี Java Runtime Environment(JRE) ซึ่ง JRE นี่แหละที่ประกอบไปด้วย browser plugin ต่างๆสำหรับการทำงาน(execution) บน Applet **หมายเหตุ ถ้าเป็น developer จะต้องใช้ jdk แต่ถ้ารันโปรแกรมที่ถูกพัฒนาขึ้นด้วยภาษาจาว่าอย่างเดียวก็ใช้ jre ก็พอ หากเข้าไปที่ java.sun.com/javase/downloads/index.jsp ซึ่งเป็นหน้าจอดวน์โหลดของ Java SE จะพบว่ามีทั้งJRE และ SDK ให้เลือกดาวน์โหลดอยู่ ผู้อ่านอาจสงสัยว่าในเมื่อ JDK ก็มีทุกสิ่งที่ประกอบอยู่ใน JRE แล้ว ทำไมจึงต้องมี JRE ให้เลือกดาวน์โหลดแยกต่างหากจาก JDK อีก ด้วยเหตุที่ JRE เป็นส่วนที่จำเป็นสำหรับการเรียกรันโปรแกรมที่เขียนขึ้นด้วยภาษาจาวา ดังนั้นถ้าเครื่องใดไม่มี JRE ติดตั้งอยู่ก็จะไม่สามารถเรียกโปรแกรมที่เขียนด้วยภาษาจาวาขึ้นมาทำงานได้ และโดยตัวของ JRE เองนั้นก็จะประกอบด้วยส่วนต่างๆ ที่จำเป็นสำหรับการรันโปรแกรมเท่านั้น ไม่ได้ประกอบด้วยคอมไพเลอร์และดีบักเกอร์ ซึ่งเป็นเครื่องมือในการพัฒนาโปรแกรมแต่อย่างใด ดังนั้น JRE จึงเหมาะสำหรับให้ผู้ใช้งานทั่วไปดาวน์โหลดไปติดตั้งที่เครื่องของตัวเอง เพื่อให้สามารถเรียกโปรแกรมที่เขียนขึ้นด้วยภาษาจาวาให้ทำงานได้ ส่วน JDK ซึ่งมีขนาดที่ใหญ่กว่า JRE นั้น ค่อนข้างจะเกินความจำเป็นสำหรับผู้ใช้งานทั่วไป เพราะมีส่วนของคอมไพเลอร์และดีบักเกอร์ที่ผู้ใช้งานทั่วไปไม่จำเป็นต้องใช้งาน ดังนั้น JDK จึงเหมาะสมสำหรับให้ผู้พัฒนาโปรแกรม หรือโปรแกรมเมอร์ (programmer) ดาวน์โหลดไปใช้งานเพราะ JDK จะช่วยให้ผู้พัฒนาโปรแกรมสามารถพัฒนาโปรแกรมภาษาจาวาได้ โดยใช้ประโยชน์จากคอมไพเลอร์และดีบักเกอร์ที่ JDK ให้มา และเมื่อพัฒนาโปรแกรมเสร็จแล้ว ก็สามารถเรียกรันโปรแกรมโดยใช้ประโยชน์จาก JRE ได้ในคราวเดียวกัน คือ software program ซึ่งเป็นส่วนประกอบหนึ่งที่อยู่ใน JRE หน้าที่ของ JVM คือ จำลองคอมพิวเตอร์เสมือน (virtual machine) ขึ้นบนเครื่องคอมพิวเตอร์จริงๆ ของเรา คอมพิวเตอร์เสมือนนี้จะทำหน้าที่ในการแปลไบต์โค้ด (bytecode) ไปเป็นภาษาเครื่องที่เหมาะสมกับแพลตฟอร์มจริงๆ ของแต่ละเครื่อง NOTE : คอมไพเลอร์ของภาษาจาวาจะไม่แปลไฟล์ source code ซึ่งมีนามสกุล .java ไปเป็นภาษาเครื่องโดยตรง แต่จะแปลไฟล์ java ไปเป็นสิ่งที่เรียกว่า bytecode ซึ่งเก็บอยู่ในไฟล์ที่มีนามสกุล .class ก่อน หลังจากนั้นเมื่อเราเรียกรับไฟล์ class นี้ JVM ก็จะทำการแปลผล bytecode ไปเป็นภาษาเครื่องที่เหมาะสมกับเครื่องนั้นๆ อีกครั้ง Bytecode คือผลที่ได้จากการแปลง ซอร์สโค้ด (Source code ) ของภาษา Java กลายเป็นรหัสภาษากลางที่เรียกว่า Binary File หรือ Byte Code โดยไบต์โค้ด (Bytecode) ที่ได้จะเป็น ไฟล์นามสกุล .class เเละเมื่อได้ ไบต์โค้ด แล้ว จึงจะทำการแปลง ไบต์โค้ด ต่อด้วย JVM (Java Virtual Machine) ซึ่งทำหน้าที่แปลงไบต์โค้ดไปเป็นภาษาเครื่อง (Machine Code) สำหรับระบบปฏิบัติการนั้นๆ Bytecode ถูกแปลผลบนเครื่องเสมือนไม่เกี่ยวข้องกับแพลตฟอร์มจริงๆ ของเครื่องแต่อย่างใด ดังนั้นไม่ว่าเครื่องจะมีแพลตฟอร์มเป็นชนิดใดก็ตาม ก็จะสามารถแปลผลตัว bytecode ได้ทั้งหมดจึงช่วยให้เขียนโปรแกรมเพียงแค่ครั้งเดียว แต่สามารถรันได้บนทุกแพลตฟอร์ม ไม่ต้องแยกเขียนโปรแกรมสำหรับแต่ละแพลตฟอร์ม 3.4.1 Java Application (จาวาแอพพลิเคชั่น) คือ โปรแกรมที่ทำงานแบบ stand-alone ไม่ต้องการเว็บบราวเซอร์สำหรับการประมวลผล และสามารถรันได้บนเครื่องทุกเครื่องที่มี JRE ติดตั้งอยู่ ผู้ใช้งานสามารถเรียกรัน Java application ได้โดยใช้ Java interpreter คือไฟล์ java.exe ซึ่งถูกเก็บอยู่ในไดเร็คทอรี C:\Program Files\Java\jdk1.8.0_181\bin ความผิดพลาด (Error) ที่ตรวจสอบพบในภาษาจาวาถูกแบ่งออกเป็น 2 ประเภท คือ Logical error (เรียกอีกอย่างว่า Runtime error) Java Plug-In ก็คือ Java Runtime Environment (JRE) นั่นเอง ดังนั้น การดาวน์โหลด Java Plug-In มาติดตั้งลงที่เครื่องนั่นหมายความว่า การดาวน์โหลด JRE มาติดตั้งลงที่เครื่องนั่นเอง หลังจากติดตั้ง Java Plug-In ลงที่เครื่องแล้ว ให้ทำการพิจารณาตามขั้นตอนดังนี้ คลิกที่ปุ่มค้นหา >> พิมพ์คำว่า Check Updates >> คลิกเลือก Check Updates ที่เป็นสัญลักษณ์ Java ดังภาพ หลังจากคลิกเข้ามาแล้วให้คลิกที่ Java >> View… จากนั้นพิจารณาส่วนของ Java Runtime Version จะพบว่ามี JRE เวอร์ชันต่างๆ ทั้งหมดที่ถูกติดตั้งลงบนเครื่อง โดยจากรูปจะพบว่าเครื่องของผู้เขียนมี JRE ถูกติดตั้งอยู่เพียงตัวเดียวเท่านั้น คือ JRE เวอร์ชัน 1.8.0_181 ผู้เขียนโปรแกรมใช้ editor เขียนโปรแกรมภาษาจาวา แล้วบันทึกไฟล์ให้มีนามสกุลเป็น .java editor คือ โปรแกรมที่ใช้สำหรับการเขียนโปรแกรม โดยตัวอย่างของ editor ที่นิยมนำมาใช้เขียนโปรแกรมได้แก่ Notepad, EditPlus, BetBeans เป็นต้น ผู้เขียนโปรแกรมสามารถเลือกใช้โปรแกรมใดในการเขียนโปรแกรมก็ได้ ตามแต่ความถนัดของแต่ละบุคคล ในที่นี้จะใช้โปแกรม BetBeans เขียน ขั้นตอนการทำงานของตัวแปรภาษาจาวา เปิดโปรแกรม NetBeans IDE ขึ้นมา จากนั้นไปที่ File >> New Project >> Java >> Java Application >> Next ดังรูป จากนั้น ตั้งชื่อ Project Name >> Browse… (เลือกโฟล์เดอร์ที่ต้องการบันทึก) >> Finish ดังรูป เริ่มเขียนโปรแกรมจาวาโดยให้แสดงคำว่า Hello World โดยพิมพ์ System.out.println("Hello World"); ต่อจาก public static void จากนั้นสั่งรันโปรแกรมโดยคลิกที่ Run >> Run Project ช่องแสดงผลจะปรากฏด้านล่าง อธิบายโปรแกรม NOTE : “เมธอด” ในภาษาจาวา คือสิ่งเดียวกับ “ฟังก์ชัน” ในภาษาซีนั่นเองแต่สาเหตุที่ภาษาจาวาเรียกว่า “เมธอด” เพราะเป็นฟังก์ชันที่สร้างไว้ภายใน class ทั้งนี้ฟังก์ชันในภาษาจาวาจะต้องอยู่ภายใน class ทั้งหมด NOTE : จาวาเป็น case-sensitive เหมือนกับภาษาซี หมายความว่าตัวอักษรตัวใหญ่และตัวเล็กถือว่าแตกต่างกัน ดังนั้นต้องระมัดระวังให้ดี ไม่เช่นนั้นอาจทำให้เกิดข้อผิดพลาดได้ ซึ่งจะแสดงการเขียนโปรแกรมดังต่อไปนี้ โปรแกรมที่เขียนเรียบร้อยแล้ว ดังนี้ จากนั้นไปที่คำสั่ง Run >> Run File ดังภาพ อธิบายโปรแกรม คือการชี้ไดเร็คทอรี่ของโปรเจ๊กงานเพื่อให้โปรแกรมสามารถคอมไพล์และรันโปรแกรมได้ตามปกติ 1. การเซ็ตตัวแปร path สำหรับ Windows XP 2. การเซ็ตตัวแปร path สำหรับ Windoews Vista 3. การกำหนด Java Path (JAVA_HOME) ใน Window 10 ขั้นตอนการกำหนด Java Path จากนั้นคลิกที่ Advance System Setting และเลือก Environment Variable… จะได้หน้าของ Environment Variables 2. ต่อมาคลิกที่ คลิกที่ New 3. ก่อนที่จะทำอะไรต่อไป ให้หาตำแหน่ง path ของ JDK ไว้ก่อน และ Copy path ไว้ และให้กำหนด ดังนี้ 4.ทำการตรวจสอบว่าเราได้ System variables ได้จริงหรือไม่ 5.ต่อไปเพิ่ม System Variable อีกอัน ปกติจะมีอยู่แล้วชื่อ Path ถ้าหากไม่มีให้กด New เพื่อสร้างใหม่แต่หากมีอยู่แล้ว ให้กด Edit โดยให้กำหนด ดังนี้ 6. ทดสอบโดยรันคำสั่ง java -version ใน cmd (Command Prompt) |