<< Go Back

การเขียนโปรแกรมคอมพิวเตอร์ (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 ซึ่งเป็นกระบวนการอย่างเป็นทางการ ที่อนุญาตให้ผู้ที่สนใจเข้าร่วมกำหนดความสามารถในจาวาแพลตฟอร์มได้

จุดมุ่งหมาย
จุดมุ่งหมายหลัก 4 ประการ ในการพัฒนาจาวา คือ
1. ใช้ภาษาโปรแกรมเชิงวัตถุ
2. ไม่ขึ้นกับแพลตฟอร์ม (สถาปัตยกรรม และ ระบบปฏิบัติการ)
3. เหมาะกับการใช้ในระบบเครือข่าย พร้อมมีไลบรารีสนับสนุน
4. เรียกใช้งานจากระยะไกลได้อย่างปลอดภัย

แพล็ตฟอร์ม มีความหมายรวมถึง ฮาร์ดแวร์ หรือซอฟแวร์ ที่ทำงานประสานกัน หรือทำงานแยกจากกัน ต่างคนต่างทำ โดยเมื่อรวมคำว่า จาวา (Java) เข้าไปรวมกับ แพล็ตฟอร์ม อันจะหมายถึง ฮาร์ดแวร์ หรือซอฟแวร์ที่ทำงานด้วยภาษาจาวา โดยจาวาแพล็ตฟอร์ม มีทั้งหมด 3 แพล็ตฟอร์มดังนี้

ฉะนั้น Java SE จึงเป็น platform พื้นฐานที่เหมาะสำหรับการเริ่มต้นศึกษาการเขียนโปรแกรมด้วยภาษาจาวามากกว่าเทคโนโลยีขั้นสูงอย่าง Java EE และสาเหตุที่ไม่เลือก Java WE มาใช้งาน ก็เนื่องจากต้องการศึกษาการเขียนโปรแกรมภาษาบนเครื่องคอมพิวเตอร์นั่นเอง


ขอบคุณ http://www.minoosoft.net/tech/images/java.gif

1. Java 2 Platform, Standard Edition (J2SE) คือ ทั่ว ๆ ไปที่เรียกว่า จาวาแอปพลิเคชัน (Java Application)
Standard Edition คือ Java platform มาตรฐานซึ่งเริ่มมีการพัฒนามาตั้งแต่ภาษาจาวารุ่นแรก ประกอบด้วย 2 ส่วน คือ Java Development Kit หรือ JDK และ Java Runtime Environment หรือ JRE
JDK เป็นส่วนที่ครอบคลุม JRE ไว้ในตัวมันด้วย ดังนั้นทุกครั้งที่ติดตั้ง JDK จะได้ JRE ติดตั้งไปในตัวเสมอ

2. Java 2 Platform, Enterprise Edition (J2EE) คือ ใช้สำหรับการเขียนโปรแกรมแบบมัลติเทียร์ (Multitiered), แบบ Client - Server, แบบ Trail Appliances และโปรแกรมที่รองรับการใช้งานในองค์กร
Java EE เป็นส่วนที่ขยายออกมาจาก Java SE โดยจุดประสงค์ที่ทำการออกแบบ Java EE ขึ้นมาก็เพื่อให้ Java EE เป็นเทคโนโลยีที่สนับสนุนการทำงานของ server-side application (โปรแกรมที่ประมวลผลทางฝั่งเซิร์ฟเวอร์จนสำเร็จเรียบร้อย แล้วส่งผลลัพธ์ที่ได้กลับคืนไปยังฝั่งไคลเอ็นต์) ตัวอย่างของ Java EE เช่น Java Server Pages (JSP), Java Servlet, Enterprise Java Beans (EJB) และ Web Services เป็นต้น

3. Java 2 Platform, Micro Edition (J2ME) คือ ใช้สำหรับทำงานบนอุปกรณ์อิเล็คทรอนิกส์ เช่น โทรศัพท์มือถือ เป็นต้น

ภาษาจาวา
1. ภาษาจาวา เป็นภาษาที่สนับสนุนการเขียนโปรแกรมเชิงวัตถุ ซึ่งเหมาะสำหรับพัฒนาระบบที่มีความซับซ้อนการพัฒนาโปรแกรมแบบวัตถุจะช่วยให้เราสามารถใช้คำหรือชื่อต่างๆ ที่มีอยู่ในระบบงานนั้นมาใช้ในการออกแบบโปรแกรมได้ทำให้เข้าใจได้ง่ายขึ้น
2. โปรแกรมที่เขียนขึ้นโดยใช้ภาษาจาวา จะมีความสามารถทำงานได้ในระบบปฏิบัติการที่แตกต่างกัน ไม่จำเป็นต้องดัดแปลงแก้ไขโปรแกรม เช่น หากเขียนโปรแกรมบนเครื่อง Sun โปรแกรมนั้นก็สามารถถูก compile และ run บนเครื่องพีซีธรรมดาได้
3. ภาษาจาวา มีการตรวจสอบข้อผิดพลาดทั้งตอน compile time และ runtime ทำให้ลดข้อผิดพลาดที่อาจเกิดขึ้นในโปรแกรมและช่วยให้ debug โปรแกรมได้ง่าย
เนื่องจากชื่อที่เหมือนกัน และการเรียกขานที่มักจะพูดถึงพร้อมกันบ่อยๆ ทำให้คนทั่วไป มักสับสนว่า ภาษาจาวา และ จาวาแพลตฟอร์ม เป็นสิ่งเดียวกันในความเป็นจริงนั้น ทั้งสองสิ่ง แม้จะทำงานเสริมกัน แต่ก็เป็นสิ่งที่แยกออกจากกัน

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. Java SE (Standard Edition) สำหรับพัฒนาโปรแกรมบนคอมพิวเตอร์ตั้งโต๊ะทั่วไป
2. Java ME (Micro Edition) สำหรับพัฒนาโปรแกรมบนอุปกรณ์พกพา เช่น โทรศัพท์มือถือ หรือพีดีเอ ส่วนมากใช้เขียนโปรแกรมเกม
3. Java EE (Enterprise Edition) สำหรับพัฒนาโปรแกรมในองค์กรใหญ่ๆ หรือมีขอบเขตของโครงการกว้างมาก

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
3.4.2 Java Applet (จาวาแอพเพลต) คือ โปรแกรมที่ทำงานบนเว็บบราวเซอร์ ดังนั้น Java applet จะไม่เรียกรันโดยใช้ Java interpreter
การรัน Java applet จะต้องสร้างเว็บเพจ (ไฟล์ .htm, .html) ขึ้นมา (สมมติเป็น file.html) และทำการเรียกใช้งาน Java applet ที่อยู่ในรูปไฟล์ .class จากในเว็บเพจนั้น โดยตัวแอพเพลตจะถูกเก็บไว้บนเว็บเซิร์ฟเวอร์ และเมื่อเว็บบราวเซอร์ทางฝั่งไคลเอ็นต์ทำการเรียกไฟล์ file.html ให้ทำงานแล้วตัวแอพเพลตก็จะถูกดาวน์โหลดไปทำงานบนเว็บบราวเซอร์
นอกจากนี้ ผู้ใช้งานสามารถเรียกรันจาวาแอพเพลตได้โดยไม่ต้องใช้บราวเซอร์ แต่ใช้ appletviewer.exe ซึ่งถูกเก็บอยู่ในไดเร็คทอรี C:\Program Files\Java\jdk1.8.0_181\bin
-- ความแตกต่างระหว่าง Java Application กับ Java Applet --
ความแตกต่างระหว่าง Java Application กับ Java Applet คือ Java Application จะรันอยู่บนเครื่องคอมพิวเตอร์แต่ละเครื่อง การทำงานของ Java Application คล้ายกับการทำงานของโปรแกรมอื่นๆ ทั่วไปบนเครื่องคอมพิวเตอร์ของเรา
ส่วน Java Applet จะรันอยู่บนเว็บบราวเซอร์ ดังนั้น เราสามารถนำตัว Java Applet ไปรันที่ใดก็ได้บนอินเทอร์เน็ต กล่าวคือ Java Applet จะไม่ทำงานในลักษณะ stand-alone เหมือนอย่างเช่น Java Application นั่นเอง

ความผิดพลาด (Error) ที่ตรวจสอบพบในภาษาจาวาถูกแบ่งออกเป็น 2 ประเภท คือ
Syntax error (เรียกอีกอย่างว่า Compile-time error)
คือ ความผิดพลาดของโปรแกรมที่ตรวจสอบพบเมื่อสั่งคอมไพล์โปรแกรม สาเหตุก็เนื่องมาจากการเขียนโปรแกรมผิดหลักไวยากรณ์ของภาษาจาวา โดยเมื่อคอมไพเลอร์ตรวจสอบพบความผิดพลาดชนิดนี้ คอมไพเลอร์ก็จะไม่แปลผลโปรแกรมจนกว่าจะแก้ไขข้อผิดพลาดที่เกิดขึ้นก่อน แล้วจึงค่อยสั่งคอมไพล์โปรแรกมใหม่อีกครั้ง ตัวอย่างของ Syntax error เช่น
- System.out.println(“Hello Word”)
กรณีนี้คอมไพเลอร์จะฟ้องว่าลืมใส่ ; ที่ท้ายคำสั่งพิมพ์ข้อความออกทางจอภาพ ที่ถูกต้องควรจะเป็น System.out.println(“Hello Word”);
- System.out.println(“Hello Word”);
กรณีนี้คอมไพเลอร์จะฟ้องว่าลืมใส่เครื่องหมาย ซึ่งที่ถูกต้องควรจะเป็น System.out.println(“Hello Word”);
ความผิดพลาดประเภทนี้สามารถแก้ไขได้โดยง่าย เนื่องจากคอมไพเลอร์จะบอกเราได้ทันทีว่าความผิดพลาดที่เกิดขึ้นเกิดจากสาเหตุอะไร เพียงแค่แก้ไขความผิดพลาดที่เกิดขึ้นตามที่คอมไพเลอร์แจ้ง ก็จะสามารถคอมไพล์โปรแกรมผ่านแล้ว

Logical error (เรียกอีกอย่างว่า Runtime error)
คือ คอมไพเลอร์จะตรวจสอบความผิดพลาดของโปรแกรมชนิดนี้ไม่พบ เนื่องจากความผิดพลาดชนิดนี้จะถูกตรวจสอบพบขณะสั่งรัยโปรแกรม โดยความผิดพลาดจะถูกแสดงออกมาที่หน้าจอในลักษณะของ Error message ซึ่งก็เป็นหน้าที่ของโปรแกรมเมอร์ที่จะต้องทดสอบโปรแกรมและตรวจสอบหาสาเหตุของความผิดพลาดเองว่าเกิดจากอะไร โดยอาศัยกระบวนการในการตรวจสอบหาความผิดพลาดของโปรแกรมที่เรียกว่า “Debugging” ดังนั้น ความผิดพลาดประเภทนี้จึงแก้ไขได้ยาก และใช้เวลาในการแก้ไขความผิดพลาดนานกว่า Compile-time 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 ช่องแสดงผลจะปรากฏด้านล่าง

      อธิบายโปรแกรม
บรรทัดที่ 1 – 5, 8 – 11, 14 – 16 แสดงให้เห็นคอมเมนต์ (comment) ในภาษาจาวา ซึ่งเหมือนกับคอมเมนต์ในภาษาซีคือ ใช้เครื่องหมาย /* ร่วมกับ */ ในกรณีที่เป็นคอมเมนต์แบบหลายบรรทัด และใช้เครื่อง // ในกรณีที่เป็นคอมเมนต์แบบบรรทัดเดียว
บรรทัดที่ 12 กำหนดชื่อ class เป็น JavaApplication1 ทำให้เมื่อสั่ง Run โปรแกรมจะได้ไฟล์ชื่อ JavaApplication1.class
บรรทัดที่ 17 คือเมธอด main ซึ่งเป็นเมธอดหลักของโปรแกรม

NOTE : “เมธอด” ในภาษาจาวา คือสิ่งเดียวกับ “ฟังก์ชัน” ในภาษาซีนั่นเองแต่สาเหตุที่ภาษาจาวาเรียกว่า “เมธอด” เพราะเป็นฟังก์ชันที่สร้างไว้ภายใน class ทั้งนี้ฟังก์ชันในภาษาจาวาจะต้องอยู่ภายใน class ทั้งหมด
- public เป็นการกำหนดให้เมธอด main นี้สามารถถูกเรียกใช้งานได้จากเมธอดอื่นๆ ทุกเมธอดรวมไปถึง Java interpreter ด้วย ซึ่งการที่ต้องกำหนดเมธอด main เป็น public ก็เพื่อให้ Java interpreter สามารถเรียกเมธอด main ให้เริ่มต้นทำงานได้นั่นเอง
- static จะเป็นตัวที่กำหนดขึ้นเพื่อให้เมธอด main สามารถเริ่มทำงานได้ทันทีโดยที่ไม่ต้องสร้าง instance ของ class ขึ้นด้วยคำสั่ง new
- void บ่งบอกว่าเมธอด main ไม่มีการคืนค่าใดๆ กลับออกไปจากเมธอดหลังจากที่เมธอดทำงานจบแล้ว
- String[ ] args (สามารถเขียนเป็น String args[ ] ก็ได้) คือ command-line argument (จะกล่าวถึง command-line argument ) ที่ใช้รับพารามิเตอร์เข้ามาในเมธอด main ซึ่งข้อมูลที่รับเข้ามานั้นจะมีชนิดข้อมูลเป็นอาร์เรย์สตริง โดยการส่งพารามิเตอร์เข้ามาในธอด main จะกระทำ ณ ตอน Run โปรแกรม
บรรทัดที่ 18 เรียกเมธอด println ดพื่อพิมพ์ข้อความ “Hello World” ออกทางจอภาพ

NOTE : จาวาเป็น case-sensitive เหมือนกับภาษาซี หมายความว่าตัวอักษรตัวใหญ่และตัวเล็กถือว่าแตกต่างกัน ดังนั้นต้องระมัดระวังให้ดี ไม่เช่นนั้นอาจทำให้เกิดข้อผิดพลาดได้

ซึ่งจะแสดงการเขียนโปรแกรมดังต่อไปนี้
ให้ผู้เขียน New Folder แล้วตั้งชื่อให้เรียบร้อยจากนั้น New File แล้วทำตามขั้นตอน ดังรูป

                                โปรแกรมที่เขียนเรียบร้อยแล้ว ดังนี้

                                       จากนั้นไปที่คำสั่ง Run >> Run File ดังภาพ

อธิบายโปรแกรม
บรรทัดที่ 1 โปรแกรมนี้เป็นจาวาแอพเพลตจึงจำเป็นต้องอิมพอร์ต (import) แพ็กเกจ java.applet เข้ามาด้วย เพื่อให้โปรแกรมสามารถสร้างแอพเพลตได้ เนื่องจากแพ็กเกจ java.applet ได้รวบรวมคลาสต่างๆ ที่จำเป็นสำหรับการสร้างแอพเพลตไว้
ความหมายของบรรทัด import java.applet.*; คือ การอิมพอร์ตคลาสทุกคลาสที่อยู่ภายในแพ็กเกจ java.applet เข้าไว้ในโปรแกรม (* หมายถึง ทุกคลาส) ที่ทำเช่นนี้ ก็เพื่อให้ง่ายต่อการใช้งานผู้เขียนโปรแกรมจะได้ไม่ต้องระบุเจาะจงลงไปว่าต้องการเรียกใช้งานคลาสใด
บรรทัดที่ 4 ทำการอิมพอร์ตคลาสทุกคลาสที่อยู่ภายในแพ็กเกจ java.awt เข้ามาในโปรแกรม ซึ่งแพ็กเกจ java.awt เป็นแพ็กเกจที่ประกอบด้วยคลาสที่ใช้สำหรับการสร้าง User interface และการวาดภาพต่างๆ
บรรทัดที่ 5 สร้างคลาสชื่อ HelloApplet ขึ้น โดย extends Appet ซึ่งเป็นการระบุว่าคลาสของเราจะอาศัยคลาส Applet ซึ่งอยู่ในแพ็กเกจ java.applet เป็นคลาสหลัก (ชื่อเต็มๆของคลาสนี้คือ java.applet.Applet) โดยในกรณีนี้จะเรียกคลาส Applet ว่า “คลาสแม่” และเรียกคลาสที่สร้างขึ้นว่า “คลาสลูก” ซึ่งคลาสลูกจะทำงานได้โดยอาศัยคุณสมบัติบางอย่างที่สืบทอดมาจากคลาสแม่
บรรทัดที่ 8 โดยปกติ Java applet จะไม่มีเมธอด main เหมือนกับ Java application แต่แอพเพลตจะมีเมธอดหลักอยู่ทั้งหมด 5 เมธอด สำหรับการใช้งานที่แตกต่างกันออกไป ได้แก่ int(), strat(), stop(), destroy() และ paint() โดยโปรแกรมนี้เลือกใช้งานเมธอด pain() เนื่องจากต้องการวาดสตริง “HelloApplet” ลงบนแอพเพลต ซึ่งรูปแบบการประกาศเมธอด paint
Graphics เป็นคลาสที่อยู่ในแพ็กเกจ java.awt ดังนั้น g จึงเป็นออบเจ็คของคลาส Graphics นี้ ซึ่งบรรทัดที่ 10 คือ g.drawString(“Hello Wold”, 140, 50) ; จะทำการวาดสตริง “HelloApplet” ลงบน Panel ที่ตำแหน่ง x=70 และ y=30
รูปแบบการใช้งานเมธอด drawstring สามารถดูได้จากเอกสารประกอบการเขียนโปรแกรมที่ดาวน์โหลดมา โดยให้ไปที่ C:\Program Files\Java\docs\api\index.html จากนั้นค้นหาคำว่า draw จะพบกับเมธอดมากมายให้สังเกตที่ java.awt.Graphics ดังรูป

คือการชี้ไดเร็คทอรี่ของโปรเจ๊กงานเพื่อให้โปรแกรมสามารถคอมไพล์และรันโปรแกรมได้ตามปกติ

1. การเซ็ตตัวแปร path สำหรับ Windows XP
1.1 คลิกขวาที่ไอคอน My Computer และเลือก Properties
1.2 ไปที่แท็บ Advanced และคลิกปุ่ม Environment Variables
1.3 คลิกปุ่ม New แล้วกำหนด environment variable ขึ้นมาดังนี้ (ใช้ตัวอักษรตัวใหญ่หรือตัวเล็กก็ได้)
- Variable Name กำหนดเป็น PATH
- Variable Value กำหนดเป็น C:\Program Files\Java\jdk1.8.0_181\bin
แต่ถ้ามีตัวแปร path อยู่แล้วให้คลิก ให้คลิกเลือกที่ตัวแปร path แล้วคลิกปุ่ม edit จากนั้นทำการเพิ่ม C:\Program Files\Java\jdk1.8.0_181\bin ต่อท้ายเข้าไปโดยใช้เครื่องหมาย ; (semi-colon) คั่นระหว่างชื่อพาธแต่ละชื่อ เช่น ถ้าค่าเดิมของตัวแปร path เป็น C:\WINDOWS จะทำการเซ็ตตัวแปร path ได้ดังนี้
- Variable Name กำหนดเป็น PATH
- Variable Value กำหนดเป็น C:\Program Files\Java\jdk1.8.0_181\bin
เมื่อเซ็ตตัวแปร path แล้ว ตัวแปร path จะอัพเดททันทีโดยเริ่มมีผลตั้งแต่วินโดว์ Command Prompt วินโดว์ใหม่ที่เปิดขึ้นมาหลังจากการเซ็ตตัวแปร path แล้ว (วินโดว์ Command Prompt ที่เปิดขึ้นมาก่อนการเซ็ตตัวแปร path จะยังคงเห็นค่าของตัวแปร path เป็นค่าเดิม ไม่ใช่ค่าที่เรากำหนดให้ใหม่)

2. การเซ็ตตัวแปร path สำหรับ Windoews Vista
2.1 คลิกขวาที่ My Computer และคลิกเมาส์ขวาเลือก Properties 2.
2.2 เลือก Advanced system settings และคลิกปุ่ม Enviroment Variables
2.3 ให้ดำเนินการเซ็ต environment variable ตามขั้นตอนการเซ็ต environment variable ของ Windows XP ในขั้นตอนที่ 3 ด้านบน

3. การกำหนด Java Path (JAVA_HOME) ใน Window 10
ทุกครั้งไม่ว่าเวอร์ชั่นไหน ผู้เขียนจำเป็นต้องกำหนด Java Home Path ให้ระบบเพื่อให้โปรแกรมอื่นๆ สามารถที่จะเรียกใช้ Java ในการ Compile ต่างๆได้โดยมีขั้นตอนในการติดตั้งดังนี้

ขั้นตอนการกำหนด Java Path
1. เปิด environment variable ขึ้นมา โดยไปที่ Control Panel > System  หรือ คลิกขวาที่ My computer > Properties หรือพิมพ์ environment  ในช่องค้นหา

จากนั้นคลิกที่ Advance System Setting และเลือก Environment Variable…

จะได้หน้าของ Environment Variables

2. ต่อมาคลิกที่ คลิกที่ New

3. ก่อนที่จะทำอะไรต่อไป ให้หาตำแหน่ง path ของ JDK ไว้ก่อน และ Copy path ไว้ และให้กำหนด ดังนี้
Variable name : JAVA_HOME
Variable value : Path ที่ติดตั้ง Java

4.ทำการตรวจสอบว่าเราได้ System variables ได้จริงหรือไม่

5.ต่อไปเพิ่ม System Variable อีกอัน ปกติจะมีอยู่แล้วชื่อ Path ถ้าหากไม่มีให้กด New เพื่อสร้างใหม่แต่หากมีอยู่แล้ว ให้กด Edit โดยให้กำหนด ดังนี้
Variable Name : Path Variable
Value : Path ที่ติดตั้ง Java บวกกับ \bin;

6. ทดสอบโดยรันคำสั่ง java -version ใน cmd (Command Prompt)

<< Go Back