วันอังคารที่ 28 พฤษภาคม พ.ศ. 2556

การเขียนโปรแกรมด้วยภาษา Java



ภาษาจาวา เป็นภาษาโปรแกรมเชิงวัตถุที่พัฒนาขึ้นโดย  เจมส์ กอสลิง”   และทีมวิศวกรของเขา ซึ่งบริษัทซันไมโครซิสเต็ม ต้องการนำภาษาจาวามาใช้แทนภาษา  C++  ชื่อของ “จาวา” มาจากชื่อกาแฟที่ทีมวิศวกรของซันดื่มตอนที่ร่วมกันพัฒนาภาษาจาวาขึ้นมา  Java  ถูกคิดค้นและสร้างโดย บริษัท Sun Microsystems ซึ่งเป็นบริษัทผู้ขายระบบ Unix ที่มีชื่อว่า Solaris ซึ่งจุดเด่นของภาษาJava อยู่ที่ผู้เขียนโปรแกรมสามารถใช้หลักการของ Object-Oriented Programming มาพัฒนาโปรแกรมของตนด้วย Java ได้ พัฒนาขึ้นโดยทีมวิจัยของ บริษัท ซันไมโครซิสเต็ม (Sun Microsystems)พัฒนามาจากโครงการที่ต้องการพัฒนาระบบซอฟต์แวร์เพื่อควบคุมเครื่องใช้ไฟฟ้าขนาดเล็กภายในบ้านชื่อเดิมคือภาษา Oak ต่อมาเปลี่ยนชื่อเป็นภาษาจาวาภาษาจาวาเริ่มเป็นที่นิยมแพร่หลายในปี ค.ศ. 1995ภาษาจาวาเป็นภาษาที่ไม่ขึ้นกับแพลตฟอร์ม (platform independent)JDK 1.0 ประกาศใช้เมื่อปี1996JDK เวอร์ชันปัจจุบันคือ  Java 2
ความหมาย
ภาษาจาวา (Java Language) คือ ภาษาคอมพิวเตอร์ที่ถูกพัฒนาขึ้นโดยบริษัท ซันไมโครซิสเต็มส์ เป็นภาษาสำหรับเขียนโปรแกรมที่สนับสนุนการเขียนโปรแกรมเชิงวัตถุ (OOP : Object-Oriented Programming) โปรแกรมที่เขียนขึ้นถูกสร้างภายในคลาส ดังนั้นคลาสคือที่เก็บเมทอด (Method) หรือพฤติกรรม (Behavior) ซึ่งมีสถานะ (State) และรูปพรรณ (Identity) ประจำพฤติกรรม (Behavior)

1.แนะนำการเขียนโปรแกรมด้วยภาษา JAVA
รายละเอียดเนื้อหา

1. ภาษา Java
   Java เป็นภาษาโปรแกรมที่ใช้ในการเขียนคำสั่งสั่งงานคอมพิวเตอร์ ซึ่งพัฒนาขึ้นโดยบริษัท ซันไมโครซิสเต็มส์ จำกัด (Sun Microsystems Inc.) ในปี ค.. 1991 เป็นส่วนหนึ่งของโครงการวิจัยเพื่อพัฒนาซอฟต์แวร์สำหรับอุปกรณ์อิเล็กทรอนิคส์ต่างๆ เช่นโทรทัศน์ โทรศัพท์มือถือ โดยมีเป้าหมายการทำงานเชื่อมต่อกับอุปกรณ์ฮาร์ดแวร์ต่างๆได้อย่างกว้างขวาง และมีประสิทธิภาพ ใช้เวลาน้อย รวดเร็วในการพัฒนาโปรแกรม และสามารถเชื่อมต่อไปยังแพล็ตฟอร์ม (Platform) อื่นๆได้ง่าย  Java เป็นภาษาสำหรับเขียนโปรแกรมภาษาหนึ่งที่มีลักษณะสนับสนุนการเขียนโปรแกรมเชิงวัตถุ (OOP : Object-Oriented Programming) ที่ชัดเจน โปรแกรมต่าง ๆ ถูกสร้างภายในคลาส (Class) โปรแกรมเหล่านั้นเรียกว่า Method หรือ Behavior โดยปกติจะเรียกแต่ละ Class ว่า Object โดยแต่ละ Object มีพฤติกรรมมากมาย โปรแกรมที่สมบูรณ์จะเกิดจากหลาย object หรือหลาย Class มารวมกัน โดยแต่ละ Class จะมี Method หรือ Behavior แตกต่างกันไป

2. ข้อดีของภาษา Java
   2.1 ภาษา Java เป็นภาษาโปรแกรมที่ง่ายในการเรียนรู้
         ภาษา Java มีคุณลักษณะต่างๆ ดังนี้ เช่น เชื่อมต่อข้ามแพล็ตฟอร์ม (Platforms) ต่างๆ ได้ สามารถเขียนโปรแกรมแบบ OOP (Object-Oriented Programming) ได้งายมาก โปรแกรมมีขนาดเล็กและมีวิธีการเขียนไม่ยุงยากซับซ้อน ดังนั้นโปรแกรมที่เขียนด้วยภาษา Java จึงคอมไพล์ได้ง่ายตลอดจนตรวจสอบหาข้อผิดพลาดโปรแกรมได้ง่ายด้วย ภาษา java เป็นภาษาที่ทำความเข้าใจได้ง่ายมาก มีขนาดเล็กและยากที่จะเกิดข้อผิดพลาด เขียนคำสั่งได้ง่าย มีประสิทธิภาพในการทำงานและมีความยืดหยุ่นสูง
   2.2 ภาษา Java เป็นการเขียนโปรแกรมเชิงวัตถุ OOP (Object-Oriented Programming)
         การเขียนโปรแกรมเชิงวัตถุ เป็นเทคนิคการเขียนโปรแกรมให้มีลักษณะเป็นโมดูล (Module) แบ่งโปรแกรมเป็นส่วนๆ ตามสภาวะแวดล้อมการทำงานของโปรแกรมซึ่งเรียกว่า Method โดยทุก Method ก็คือ ระเบียบวิธีหรือการทำงานอย่างใดอย่างหนึ่ง โดยจะถูกรวบรวมอยู่ในคลาส ซึ่งหลักการเขียนโปรแกรมเชิงวัตถุจะมององค์ประกอบของโปรแกรมต่างๆเป็นคลาสหรือวัตถุ เรียกว่า Object ตัวอย่างเช่น วัตถุที่มองเห็นได้ เช่น รถ สินค้า หรือ วัตถุที่ไม่สามารถมองเห็นได้ เช่น เหตุการณ์ต่างๆ  ข้อมูลต่างๆของ Object จะถูกซ่อนไว้คลาสเรียกว่า Data Encapsulation ซึ่งมีประโยชน์ในการแก้ไขข้อมูลหรือ Method ใดๆ ที่อยู่ในคลาส โยไม่ส่งผลกระทบต่อการทำงานหรือเรียกใช้งานของ Object นั้น นอกจากนั้น Java ยังมีคุณสมบัติการสืบทอด (Inheritance) เพื่อส่งผ่านและถ่ายทอดลักษณะต่างๆของคลาสแม่ไปยังคลาสลูก ทำให้เขียนโปรแกรมได้ง่ายขึ้น และมีโครงสร้างการทำงานที่เข้าใจง่ายและมีความสัมพันธ์กัน
   2.3 ภาษา Java เป็นอิสระต่อแพล็ตฟอร์ม (Java is Platform-Independent)
                         Java เป็นอิสระต่อแพล็ตฟอร์ม ทั้งระดับซอร์ซโค้ด (Source Code) และไบนารีโค้ด (Binary Code) ช่วยให้สามารถเคลื่อนย้ายโปรแกรมจากระบบคอมพิวเตอร์หนึ่งไปยังระบบคอมพิวเตอร์อื่นได้อย่างง่ายดาย เพราะว่าโปรแกรมที่เขียนด้วยภาษา Java ได้รวบรวมคำสั่งต่างๆไว้ในไลบรารีคลาสพื้นฐานต่างๆ เป็น Java Packages ช่วยอำนวยความสะดวกในการเขียนคำสั่ง เมื่อย้ายโปรแกรมไปยังแพล็ตฟอร์มอื่น โดยไม่ต้องเขียนซอร์ซโค้ด (Source Code) ขึ้นใหม่ทำให้ประหยัดเวลามาก เมื่อคอมไพล์ซอร์ซโค้ด จะได้ไฟล์ไบนารีโค้ด ที่เรียกว่า Bytecode การรันโปรแกรมของ Java จะทำงานในลักษณะอินเทอร์พรีเตอร์ (Interpreter) ของไฟล์ Bytecode  ซึ่งสามารถรันบนแพล็ตฟอร์มใดๆก็ได้ รวมทั้งระบบปฏิบัติการต่างๆ เช่น ระบบ Windows, Solaris, Linux หรือ MacOS โดยการแปลคำสั่งทีละคำสั่ง แพล็ตฟอร์มที่ Java ทำงานได้จะต้องประกอบด้วย 2 ส่วน คือ Java Virtual Machine (JVM) และ Java Application Programming Interface (Java API) โดย Java Virtual Machine คือเครื่องมือที่รวบรวมคำสั่งคอมไฟล์และรันโปรแกรม Java ส่วน Java API เป็นกลุ่มของคลาสและอินเตอร์เฟส (Interface) ที่รวมอยู่ในไลบรารีที่เรียกว่า Java Package เช่น java.awt, java.util หรือ java.io เป็นต้น ลักษณะการทำงานของ Java ที่เป็นอิสระต่อแพล็ตฟอร์มโดยการเขียนโปรแกรมเพียงครั้งเดียวแต่สามารถนำไปใช้ทำงานยังเครื่องอื่นๆได้ นั้นเรียกว่า Write once, Run anywhere นั้นเอง
                   2.4 ภาษา Java มีระบบการทำงานและมีระบบความปลอดภัยที่ดี
                         Java จะคำสั่งต่างๆที่เป็นส่วนประกอบของ Java API โดยมีการรวบรวมเป็นคลาสต่างๆไว้มากมาย ช่วยอำนวยความสะดวกในการเขียนโปรแกรม นอกจากนั้นยังมี Garbage Collector โดยมีระบบจัดการหน่วยความจำเพื่อเก็บขยะของโปรแกรมและคืนหน่วยความจำให้กับระบบ โปรแกรมที่เขียนด้วยภาษา Java มีระบบจัดการข้อผิดพลาดที่เกิดจากการทำงานของโปรแกรมที่เรียกว่า Exception Handling ด้วยทำให้สามารถตรวจสอบโปรแกรม (Debug) โปรแกรมได้ง่ายขึ้น
   Java มีระบบความปลอดภัยที่ดี เช่น โปรแกรม Java ที่ทำงานบนเว็บบราวเซอร์ (Web Browser) ที่เรียกว่า Java Applet นั้นจะทำงานเฉพาะบนเครื่องแม่ข่าย (Server) โดยไม่สามารถเข้าถึงเครื่องลูกข่าย (Client) ไปทำลายไฟล์ หรือไฟล์ระบบ (System file) ได้ ทำให้มีระบบความปลอดภัยที่ดี ป้องกันข้อมูลจากไวรัส และโปรแกรมที่เขียนด้วย Java ไม่มีพฤติกรรมเป็นไวรัส ได้

3. เครื่องมือที่ใช้ในการพัฒนาโปรแกรม
   เครื่องคอมพิวเตอร์ที่ใช้ในการเขียนโปรแกรมด้วยภาษา Java จะต้องมีโปรแกรมที่รวมคำสั่งต่างๆให้สามารถคอมไฟล์และรันโปรแกรมได้ที่เรียกว่า Java Virtual Machine ซึ่งเป็นเครื่องมือที่ช่วยในการเขียนและพัฒนาโปรแกรม Java Virtual Machine จะอยู่ในโปรแกรมชุดพัฒนาจาวาที่เรียกว่า JDK (Java Development Kit) เป็นลิขสิทธิ์ของบริษัท Sun Microsystems ที่ใช้บริการฟรีบนอินเตอร์เน็ตซึ่งประกอบด้วยคำสั่งต่างๆ และเครื่องมือที่ใช้ในการคอมไพล์และรันโปรแกรมที่เขียนด้วยภาษา Java โดยการดาวน์โหลด (Download) โปรแกรมชุดพัฒนาจาวา JDK ได้ที่เว็บไซต์ www.java.sun.com ซึ่งจะมีโปรแกรม JDK เวอร์ชันใหม่ตลอดเวลาและเลือกระบบปฏิบัติการที่ต้องการใช้
   หลังจากนั้นได้ทำการติดตั้งและลงโปรแกรมให้เรียบร้อย เครื่องมือและคำสั่งที่ใช้ในการสร้างโปรแกรม Java จะถูกเก็บไว้ในโฟลเดอร์ของ Java ที่ชื่อ bin เช่น C:\java\bin เป็นต้น ประกอบด้วยคำสั่งที่สำคัญดังนี้
ไฟล์
คำอธิบาย
javac.exe
คอมไพล์เลอร์ (Compiler) ของ Java เป็นคำสั่งที่ใช้คอมไฟล์ ตรวจสอบไวยากรณ์ของโปรแกรมโดยการแปลงไฟล์ซอร์สโค้ดให้เป็นไฟล์ไบต์โค้ดที่เป็นคลาสของโปรแกรม
java.exe
อินเตอร์พรีเตอร์ (Interpreter) ของ Java เป็นคำสั่งที่ใช้ในการรันไฟล์ไบต์โค้ดที่คอมไพล์แล้วให้ทำงานตามคำสั่งของโปรแกรม
appletviewer.exe
Applet Viewer เป็นคำสั่งที่ใช้ทดสอบและรันโปรแกรมแอปเพล็ต
javadoc.exe
ผลิตเอกสารของคำสั่ง API ใช้สร้างเอกสารของ Java API ในรูปแบบของ HTML จาก
ซอร์สโค้ดของ Java
javap.exe
การแยกและถอดไฟล์ของ Java และพิมพ์ออกมาเป็นตัวแทนของไบต์โค้ด (Bytecode)
jdb.exe
ดีบักเกอร์(Debugger) ของ Java ใช้ในการตรวจสอบข้อผิดพลาดในโปรแกรมพร้อมรายงานข้อผิดพลาดที่เกิดขึ้น

4. ขั้นตอนการเขียนโปรแกรม ด้วย Java
   การเขียนโปรแกรมด้วยภาษา Java ประกอบด้วยขั้นตอนการทำงานทั้งหมด 3 ขั้นตอน ดังนี้
         ขั้นตอนที่ 1 สร้างโปรแกรมซอร์สโค้ด โดยการพิมพ์คำสั่งต่างๆ ตามหลักการเขียนโปรแกรมด้วยภาษา Java โดยใช้เอดิเตอร์ (Editor) หรือโปรแกรมที่สามารถพิมพ์ข้อความ (Text Editor) และสามารถบันทึกไฟล์เป็นรหัสแอสกี (ASCII) ได้ เช่น โปรแกรม Notepad หรือ โปรแกรม Editplus เป็นต้น หลังจากเขียนโปรแกรมเสร็จเรียบร้อยแล้วต้องทำการบันทึกข้อมูลเป็นไฟล์ที่มีชื่อเดียวกันกับชื่อคลาสของ Java และใช้นามสกุลไฟล์เป็น java ตัวอย่างเช่น TestJava.java



         ขั้นตอนที่ 2 คอมไพล์โปรแกรมซอร์สโค้ด โดยการใช้คำสั่ง
javac.exe ที่มากับการติดตั้ง JDK แล้ว มีรูปแบบคำสั่งคือ javac  FileName.java เมื่อ FileName.java คือ ชื่อไฟล์ใดๆ ที่มีนามสกุล java  ถ้าไม่มีข้อผิดพลาดใดๆ ผลลัพธ์ที่ได้จากการคอมไพล์จะได้ไฟล์ไบต์โค้ดที่ชื่อเดียวกับชื่อคลาส ตัวอย่างเช่น  javac  TestJava.java หลังจากการคอมไพล์จะได้ไฟล์ TestJava.class ข้อสำคัญในการคอมไพล์ไฟล์ซอร์สโค้ดคือต้องพิมพ์ชื่อไฟล์พร้อมนามสกุลเป็น java เสมอ และต้องพิมพ์ชื่อไฟล์ด้วยตัวอักษรตัวใหญ่หรืตัวเล็กให้ถูกต้องตามการตั้งชื่อคลาส
         ขั้นตอนที่ 3 ทำการรันโปรแกรม เพื่อดูผลลัพธ์ทางจอภาพโดยการรันไฟล์ไบต์โค้ด โดยการใช้คำสั่ง javac.exe ที่มากับการติดตั้ง JDK แล้วซึ่งมีรูปแบบคำสั่งคือ java  FileName เมื่อ FileName คือ ชื่อไฟล์ใดๆไม่ต้องมีนามสกุล  ดังนั้นการรันโปรแกรมเพียงแค่พิมพ์ชื่อไฟล์ไม่ต้องพิมพ์นามสกุลของไฟล์ และต้องพิมพ์ชื่อไฟล์ด้วยตัวอักษรตัวใหญ่หรืตัวเล็กให้ถูกต้องตามชื่อคลาส  ตัวอย่างเช่น  java  TestJava  เมื่อ TestJava  คือชื่อไฟล์ TeatJava.class



ดังนั้นสิ่งที่ต้องคำนึงก่อนเขียนโปรแกรมด้วยภาษา Java จะต้องทำขั้นตอนดังนี้

   1. ต้องตรวจสอบว่าในเครื่องคอมพิวเตอร์มี
JDK (Java Development Kit) และโปรแกรมที่ใช้เขียนซอร์สโค้ด (SourceCode) เช่น โปรแกรม Notepad, โปรแกรม Editplus หรือไม่ ถ้าไม่มีโปรแกรมข้างต้น ต้องทำการติดตั้งและลงโปรแกรมดังกล่าวให้เรียบร้อยก่อน

   2. ตรวจสอบโฟลเดอร์และไฟล์ของ
JDK ที่ใช้ในการคอมไพล์ (compile) คือ javac.exe และรันโปรแกรม (run) คือ java.exe  ตัวอย่าง โฟลเดอร์ของไฟล์ java เช่น C:\j2sdk1.4.1_03\bin
   3.  ทำการติดตั้งและแก้ไขโปรแกรม (Config) เครื่องมือในการเขียนโปรแกรม ด้วยโปรแกรม Editplus ได้ดังนี้


                   ไปทีเมนู  Tools เลือก Preferences หรือไปทีเมนู  Tools เลือก  Configure User Tools…
                   ไปที่เมนู  Tools เลือก User Tool Groups
                   ไปที่  View  เลือก Toolbars/Views  เลือก User Toolbar
 4. สร้างโฟลเดอร์ เพื่อบันทึกไฟล์ซอร์สโค้ด เช่น  D:\work
   5. เลือก Directory ในโปรแกรม Editplus ให้ถูกต้องเพื่อใช้อ้างอิงในการรันโปรแกรม
 6. ทดสอบโปรแกรม Java โดย ไปที่เมนู File -> New -> Java
6.1 ตั้งชื่อ Class เช่น TestJava
6.2 บันทึกไฟล์ชื่อเดียวกับชื่อ Class เช่น TestJava.java
6.3 เลือก Tools->Compile
6.4 เลือก Tools->Run

5. ตัวอย่างการเขียนโปรแกรมด้วย Java
   ตัวอย่างแรกของการเขียนโปรแกรมด้วย Java จะเป็นตัวอย่างที่เขียนด้วยคำสั่งง่ายๆ คือ โปรแกรมที่แสดงข้อความ “Hello World!” ออกทางจอภาพ ดังตัวอย่างไฟล์ TestJava.java
class TestJava
{
                   public static void main(String[] args)
                   {
                         System.out.println("Hello World!");
                   }
}
ไฟล์ TestJava.java  มีหลักการเขียนโปรแกรม ดังคำอธิบายต่อไปนี้
   1. โปรแกรมทั้งหมดจะเขียนอยู่ภายในคลาส (Class) ที่ชื่อ TestJava เพียงคลาสเดียว
   2. ภายในคลาสจะประกอบด้วยฟังก์ชัน(Method) ที่ชื่อ main ซึ่งทำหน้าที่เป็นฟังก์ชันหลักในการสั่งในโปรแกรมทำงาน
   3. ภายในฟังก์ชัน main จะประกอบด้วยคำสั่งต่างๆ ที่ต้องการเขียนโปรแกรมด้วย Java เช่น System.out.println("Hello World!");

6.  การแสดงผลทางจอภาพ
                   คำสั่งที่ใช้ในการแสดงผลข้อมูลออกทางจอภาพ ได้แก่
         1. คำสั่ง  System.out.print() คือคำสั่งในการแสดงข้อความทางจอภาพในบรรทัดที่เคอ
เซอร์อยู่โดยไม่มีการขึ้นบรรทัดใหม่ มีรูปแบบการใช้งาน ดังนี้
   รูปแบบคำสั่ง  
System.out.print(String text);
System.out.print(int x);
System.out.print(char ch);
   เมื่อ     text  คือข้อความที่ต้องการแสดงผลทางจอภาพอยู่ในเครื่องหมายคำพูด (“ … ”)
คือตัวเลขที่ต้องการแสดงผลทางจอภาพอยู่ในเครื่องหมายคำพูด (“ … ”)
ch  คือตัวอักขระที่ต้องการแสดงผลทางจอภาพอยู่ในเครื่องหมายและ  ’
   ตัวอย่างเช่น
System.out.print("Hello World!");
System.out.print(2500);
System.out.print(‘A’);
ผลลัพธ์ทางจอภาพ
Hello World!2500A

         2. คำสั่ง  System.out.println() คือคำสั่งในการแสดงข้อความทางจอภาพแล้วขึ้น
บรรทัดใหม่ มีรูปแบบการใช้งาน ดังนี้
รูปแบบคำสั่ง  
System.out.println();
System.out.println(String text);
System.out.println(int x);
System.out.println(char ch);
เมื่อ text  คือข้อความที่ต้องการแสดงผลทางจอภาพอยู่ในเครื่องหมายคำพูด (“ … ”)
คือตัวเลขที่ต้องการแสดงผลทางจอภาพอยู่ในเครื่องหมายคำพูด (“ … ”)
ch  คือตัวอักขระที่ต้องการแสดงผลทางจอภาพอยู่ในเครื่องหมายและ  ’
ตัวอย่างเช่น
System.out.println("Hello World!");
System.out.println();
System.out.println(2500);
System.out.println(‘A’);
ผลลัพธ์ทางจอภาพ
Hello World!

2500
A
กรณีต้องการแสดงข้อความพร้อมกันในคำสั่ง System.out.println() ในครั้งเดียว ให้ใช้เครื่องหมาย + ในการเชื่อมข้อมูล
ตัวอย่างเช่น

System.out.println("Hello World!"+2500+ ‘A’);
System.out.println("Hello World!\n"+2500+ ‘A’);
ผลลัพธ์ทางจอภาพ
Hello World!2500A
Hello World!
2500A

7. การรับค่าจากแป้นพิมพ์
                   7.1 การรับค่าจากแป้นพิมพ์เป็นจำนวนเต็ม
บรรทัดที่

คำอธิบาย
1
2
3
4
5
6
7
8
9
10
11
12
import java.io.*;
class InputNumber {
     public static void main(String[] args)    {
          BufferedReader  br = new BufferedReader(new InputStreamReader(System.in));
          int  num;
          try{
                   System.out.print("Input  a  Number::");
                   num = Integer.parseInt(br.readLine());
                   System.out.println("Show input =  "+num);
          }catch(IOException  e){ System.err.println(e);   }   
     }
}

                   7.2 การรับค่าจากแป้นพิมพ์เป็นจำนวนทศนิยม
บรรทัดที่

คำอธิบาย
5
6
7
8
9
10
          float  num;
          try{
                   System.out.print("Input  a  Number::");
                   num = Float.parseFloat(br.readLine());
                   System.out.println("Show input =  "+num);
          }catch(IOException  e){ System.err.println(e);   }   

                   7.3 การรับค่าจากแป้นพิมพ์เป็นข้อความ String
บรรทัดที่

คำอธิบาย
5
6
7
8
9
10
          String  str;
          try{
                   System.out.print("Input  a  String::");
                   str = br.readLine();
                   System.out.println("Show input =  "+str);
          }catch(IOException  e){ System.err.println(e);   }   

                   7.4 การรับค่าจากแป้นพิมพ์เป็นอักขระ 1 ตัว
บรรทัดที่

คำอธิบาย
5
6
7
8
9
10
11
12
          String  str;
          char  ch;
          try{
                   System.out.print("Input  a  Character::");
                   str = br.readLine();
              ch = str.charAt(0);
                   System.out.println("Show input =  "+ch);
          }catch(IOException  e){ System.err.println(e);   }   


อ้างอิง
www.elearning.msu.ac.th/opencourse/1201104/documents/Ch03.doc


2.การติดตั้งโปรแกรม Java
      ในที่นี้ผมจะใช้ JDK1.6.0_06

1. เมื่อดาวน์โหลดโปรแกรมจากเว็บไซต์ของสำนักงานฯ แล้วให้ดับเบิ้ลคลิกที่ไฟล์ คลิกที่ Run


2. จะมีหน้าต่างให้ยอมรับลิขสิทธิ์ คลิก Accept


3. เมื่อมีหน้าต่าง Java(TM) SE Development Kit 6 Update 6 ขึ้นมา ให้เลือกสถานที่ติดตั้งโปรแกรม
โดยการคลิก Change



4. เลือกส่วนที่ look in เป็น Drive C แล้วคลิกปุ่ม OK

5. เมื่อกลับมาสู่หน้าจอเดิม ในส่วน Install to จะเป็น C:\Java\ ให้คลิก Next





6. โปรแกรมจะทำการติดตั้ง Java(TM) SE Development Kit 6 Update 6




7. หลังจากติดตั้งเสร็จเรียบร้อย โปรแกรมจะทำการติดตั้ง Java(TM) SE Runtime Environment ให้
ตรวจสอบสถานที่ติดตั้ง ให้อยู่ใน C:\ หลังจากนั้นให้คลิก Next


8. โปรแกรมจะทำการติดตั้ง Java(TM) SE Runtime Environment



9. เมื่อโปรแกรมติดตั้งเรียบร้อยแล้ว ให้คลิก Finish



    ขั้นตอนต่อมา  เราจะมาเขียนโปรแกรมโดยการเขียนลงบนโปรแกรม editplus  โปรแกรม editplus ซึ่งเป็น editor ชนิดหนึ่งที่ได้ความนิยม  และง่ายต่อการ Compile  และ Run โปรแกรม

3.มาดูวิธีการการตั้งค่าให้ EditPlus สามารถ Compile และ Run Java ได้ 

ติดตั้งโปรแกรม 

การกำหนดค่าใน EditPlus

เข้าไปที่ Menu Tool > Configuration User Tool แล้วจะปรากฎหน้าต่าง Preferences
 กดปุ่ม Group Name... จากนั้นให้ตั้งชื่อใหม่ว่า Java
  ต่อมาจะเป็นขั้นตอนการสร้าง Compile กดปุ่ม Add Tool >>Program 
- ช่อง Menu Text ให้ตั้งชื่อว่า Compile
- ช่อง Command ให้เลือก C:\Program Files\Java\jdk1.6.0_14\bin\javac.exe
- ช่อง Argument ให้เลือก File Name
- ช่อง Intial directory ให้เลือก File Directory
- เลือกที่ช่อง Capture output เพื่อให้แสดงผลการ Compile ตรงช่องด้านล่าง


ต่อมาการเป็นขั้นตอนการสร้าง Run กดปุ่ม Add Tool >>Program
 - ช่อง Menu Text ให้ตั้งชื่อว่า Run
- ช่อง Command ให้เลือก C:\Program Files\Java\jdk1.6.0_14\bin\java.exe
- ช่อง Argument ให้เลือก File Name Without Extension
- ช่อง Intial directory ให้เลือก File Directory
- จากนั้น ก็กด OK

4.ตัวอย่างการเขียนโปรแกรมด้วยภาษา Java 

ตัวอย่างที่ 1 //รับข้อมูลส่วนตัวจาก user และแสดงผล
 

import java.io.*;       //ต้องประกาศ import เมื่อต้องการใช้ class java.io หาค่าเฉลี่ย
public class Introduction        //ชื่อ class จะต้องชื่อเดียวกับ file   
 

  public static void main(String[] args) throws IOException   //method ที่ใช้สำหรับ run program, โยนทิ้งเมื่อมี exeption
    {    

         BufferedReader in = new BufferedReader(new InputStreamReader(System.in));   //ประกาศคำสั่งที่ใช้ในการรับค่า
         System.out.println("Your name is...");                      //แสดงข้อความ
         String name = in.readLine();                               //รับค่า name จาก user เป็นข้อความ
         System.out.println("Your age is...");                        //แสดงข้อความ
         String age = in.readLine();                                   //รับค่า age จาก user เป็นข้อความ
         System.out.println("Your occupation is...");             //แสดงข้อความ
         String occupation = in.readLine();             //รับค่า occupation จาก user เป็นข้อความ
    }
}

       เมื่อเขียนโค้ดตามขั้นตอนเส็ดแล้ว ก็มา Compile กันเลย




        หลังจาก Compile แล้ว ไม่มี Error ก็มาลอง Run โปรแกรมกันดูครับ

=================================================================


ตัวอย่างที่ 2  //ให้ user กรอกตัวเลข เพื่อให้ระบบทำการบวกเพิ่มจำนวนตั้งแต่ 1 ไปเรื่อยๆจนถึงเลขที่ user กรอก
 

import java.io.*;         //ต้องประกาศ import เมื่อต้องการใช้ class java.io หาค่าเฉลี่ย
public class PlusContinue         //ชื่อ class จะต้องชื่อเดียวกับ file
{

     public static void main(String[] args) throws IOException     //method ที่ใช้สำหรับ run program, โยนทิ้งเมื่อมี exeption
   {    

         BufferedReader in = new BufferedReader(new InputStreamReader(System.in));   //ประกาศคำสั่งที่ใช้ในการรับค่า
         System.out.println("Increase Number From 0 to...");              //แสดงข้อความ
         String strNumber = in.readLine();                              //รับค่า number เป็นข้อความ
         int number = Integer.parseInt(strNumber);               //แปลงค่า number เป็นตัวเลข
         int i=0;                                                         //ประกาศตัวแปรเก็บค่าการวนซ้ำ
         int result = 0;                                               //ประกาศตัวแปรเก็บค่าผลลัพธ์
         while(i<=number)                                    //วนซ้ำจนกว่าจะเท่ากับค่า number
         {    

          result = result+i;                   //นำค่าบวกผลลัพธ์เดิมไปเรื่อยๆ
             i++;                                                //เพิ่มค่าวนซ้ำ 1 ทุกๆรอบการวน
         }
         System.out.println("Result = "+result);           //แสดงผลลัพธ์
    }
}

         เมื่อเขียนโค้ดตามขั้นตอนเส็ดแล้ว ก็มา Compile กันเลย
         หลังจาก Compile แล้ว ไม่มี Error ก็มาลอง Run โปรแกรมกันดูครับ 
=================================================================


ตัวอย่างที่ 3 //คำนวนหาเส้นรอบวงสี่เหลี่ยม จากการรับข้อมูลความกว้างและความยาวของสี่เหลี่ยมจาก user
 

import java.io.*;        //ต้องประกาศ import เมื่อต้องการใช้ class java.io หาค่าเฉลี่ย
public class SqaurePerimeter            //ชื่อ class จะต้องชื่อเดียวกับ file
{

      public static void main(String[] args) throws IOException  //method ที่ใช้สำหรับ run program, โยนทิ้งเมื่อมี exeption
    {  

         BufferedReader in = new BufferedReader(new InputStreamReader(System.in));   //ประกาศคำสั่งที่ใช้ในการรับค่า
        System.out.println("Input Square Width : ");             //แสดงข้อความ
        String strWidth = in.readLine();                 //รับค่า width จาก user เป็นข้อความ
        System.out.println("Input Square Length : ");   //แสดงข้อความ
        String strLength = in.readLine();                 //รับค่า length จาก user เป็นข้อความ

        double width = Double.parseDouble(strWidth);  //แปลงข้อความ width เป็นตัวเลขทศนิยม
        double length = Double.parseDouble(strLength);  //แปลงข้อความ length เป็นตัวเลขทศนิยม
        double result =  2*(width+length);               //คำนวนผลลัพธ์เส้นรอบวงเป็นตัวเลขทศนิยม
        System.out.println("The Square Perimeter = "+result);  //แสดงผลลัพธ์เส้นรอบวง 4 เหลี่ยมเป็นข้อความ
    }
}

             เมื่อเขียนโค้ดตามขั้นตอนเส็ดแล้ว ก็มา Compile กันเลย
          หลังจาก Compile แล้ว ไม่มี Error ก็มาลอง Run โปรแกรมกันดูครับ
 ================================================================


ตัวอย่างที่ 4  //คำนวนหาพื้นที่ทรงกลม จากการรับข้อมูลรัศมีจาก user
 
import java.io.*;                 //ต้องประกาศ import เมื่อต้องการใช้ class java.io หาค่าเฉลี่ย
public class Circle3DArea                     //ชื่อ class จะต้องชื่อเดียวกับ file
{

    public static void main(String[] args) throws IOException           //method ที่ใช้สำหรับ run program, โยนทิ้งเมื่อมี exeption
    
  
       BufferedReader in = new BufferedReader(new InputStreamReader(System.in));   //ประกาศคำสั่งที่ใช้ในการรับค่า
        System.out.println("Input Circle Radius : ");                     //แสดงข้อความ
        String strRadius = in.readLine();                                //รับค่า width จาก user เป็นข้อความ
        double radius = Double.parseDouble(strRadius);               //แปลงข้อความ length เป็นตัวเลขทศนิยม
        double result = Math.PI*radius*radius;                       //คำนวนผลลัพธ์เส้นรอบวงเป็นตัวเลขทศนิยม
        System.out.println("The Circle Area = "+result);                //แสดงผลลัพธ์พื้นที่วงกลมเหลี่ยมเป็นข้อความ
    }
}
             
เมื่อเขียนโค้ดตามขั้นตอนเส็ดแล้ว ก็มา Compile กันเลย

        หลังจาก Compile แล้ว ไม่มี Error ก็มาลอง Run โปรแกรมกันดูครับ
 ================================================================


ตัวอย่างที่ 5  //คำนวนหาพื้นที่สามเหลี่ยม จากการรับข้อมูลความยาวฐานและความสูงจาก user
import java.io.*;                            //ต้องประกาศ import เมื่อต้องการใช้ class java.io หาค่าเฉลี่ย
public class TriangleArea                  //ชื่อ class จะต้องชื่อเดียวกับ file
    
    public static void main(String[] args) throws IOException                 //method ที่ใช้สำหรับ run program, โยนทิ้งเมื่อมี exeption
    
   
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));   //ประกาศคำสั่งที่ใช้ในการรับค่า
        System.out.println("Input Triangle Base : ");                       //แสดงข้อความ
        String strBase = in.readLine();                                         //รับค่า base จาก user เป็นข้อความ
        System.out.println("Input Triangle Height : ");                     //แสดงข้อความ
        String strHeight = in.readLine();                                 //รับค่า height จาก user เป็นข้อความ
        double base = Double.parseDouble(strBase);                              //แปลงข้อความ base เป็นตัวเลขทศนิยม
        double height = Double.parseDouble(strHeight);                     //แปลงข้อความ height เป็นตัวเลขทศนิยม
        double result = 0.5*(base+height);                                      //คำนวนผลลัพธ์เส้นรอบวงเป็นตัวเลขทศนิยม
        System.out.println("The Square Area = "+result);                 //แสดงผลลัพธ์พื้นที่ 3 เหลี่ยมเป็นข้อความ
    }
}
              
เมื่อเขียนโค้ดตามขั้นตอนเส็ดแล้ว ก็มา Compile กันเลย

        หลังจาก Compile แล้ว ไม่มี Error ก็มาลอง Run โปรแกรมกันดูครับ

4.ขั้นตอนการทำโจทย์โปรแกรมภาษา Java

 โปรแกรมจองตั๋วเครื่องบิน

ขั้นตอนที่1  วิเคราะห์งาน
           
สิ่งที่โจทย์ให้มา
         ชื่อ      จุดหมายปลายทาง      จำนวนที่นั่ง        ระดับชั้นที่นั่ง
สิ่งที่โจท์ต้องการ
         โปรแกรมจองต๋วเครื่องบิน
ตัวแปร
        Name=ชื่อ
        destination=จุดหมายปลายทาง
        seatType=ระดับชั้นที่นั่ง
        seatNum=จำนวนที่นั่ง
        price=เงินสุทธิ
 

 วิธีการ
1. price =0
2. รับค่า Name,destination,seatType,seatNum
3. เงื่อนไข if destination=1
     Y ให้ price=25000
         destinationName="Tokyo"
        ไปข้อ6
     N ไปข้อ4
4. เงื่อนไข if destination=2
     Y ให้ price=20000
         destinationName="Beijing"
        ไปข้อ6
     N ไปข้อ5
5.  เงื่อนไข if destination=3
      Y ให้ price=30000
          destinationName="Doha"
        ไปข้อ 6
6. เงื่อนไข if seatType=1
     Y ให้ price = price*4
         seatTypeName = "First Class"
         ไปข้อ 9
    N ไปข้อ 7
7. เงื่อนไข if seatType=2
     Y ให้ price = price*2
         seatTypeName = "Business Class"
         ไปข้อ 9
     N ไปข้อ 8
8. เงื่อนไข if seatType=3
     Y ให้ price = price*1
         seatTypeName = "Doha"
         ไปข้อ 9
9. price = price*seatNum
10. แสดง ("::: Your Ticket Info ::")
11. แสดง ("From Bangkok To "+destinationName)
12. แสดง ("Seat : "+seatTypeName)
13. แสดง ("Price : "+price)
14. จบการทำงาน




ขั้นตอนที่2  Flow Chart
ขั้นตอนที่3 เขียนโปรแกรม 

โปรแกรมจองตั๋วเครื่องบิน
import java.io.*;         //ต้องประกาศ import เมื่อต้องการใช้ class java.io รับค่าจาก user
public class TicketBooking {              //ชื่อ class จะต้องชื่อเดียวกับ file
    public static void main(String[] args) throws IOException, Exception {       //method ที่ใช้สำหรับ run program, โยนทิ้งเมื่อมี exeption
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));  //ประกาศคำสั่งที่ใช้ในการรับค่า
        System.out.println("Choose Destination");                  //แสดงข้อความ
        System.out.println("1. Tokyo, Japan ");                     //แสดงข้อความ
        System.out.println("2. Beijing, China ");                     //แสดงข้อความ
        System.out.println("3. Doha, Qatar ");                       //แสดงข้อความ
        String strDestination = in.readLine();              //รับค่าจุดหมายปลายทาง จาก user เป็นข้อความ

        System.out.println("Choose Seat Type ");                      //แสดงข้อความ
        System.out.println("1. First Class ");                              //แสดงข้อความ
        System.out.println("2. Business Class ");                         //แสดงข้อความ
        System.out.println("3. Economy Class ");                         //แสดงข้อความ
        String strSeatType = in.readLine();         //รับค่าชนิดที่นั่งจาก user เป็นข้อความ
        
        System.out.println("Choose Number of Seat ");               //แสดงข้อความ
        String strSeatNum = in.readLine();                 //รับค่าจำนวนที่นั่งจาก user เป็นข้อความ

        int destination = Integer.parseInt(strDestination);        //แปลงข้อความ strDestination เป็นตัวเลขจำนวนเต็ม
        int seatType = Integer.parseInt(strSeatType);          //แปลงข้อความ strSeatType เป็นตัวเลขจำนวนเต็ม
        int seatNum = Integer.parseInt(strSeatNum);        //แปลงข้อความ strSeatNum เป็นตัวเลขจำนวนเต็ม
        double price = 0;                            //ประกาศตัวแปร price เป็นตัวเลขทศนิยม
        String destinationName = "";          //ประกาศตัวแปร destinationName เป็นข้อความ
        String seatTypeName = "";            //ประกาศตัวแปร seatTypeName เป็นข้อความ

        switch(destination){                                          //ใช้คำสั่ง switch ด้วยตัวแปร destination 
            case 1:price=25000;destinationName="Tokyo";break;             //ใส่ค่า price และใส่ค่า destinationName เมื่อ destination มีค่าเท่ากับ 1
            case 2:price=20000;destinationName="Beijing";break;            //ใส่ค่า price และใส่ค่า destinationName เมื่อ destination มีค่าเท่ากับ 2
            case 3:price=30000;destinationName="Doha";break;                //ใส่ค่า price และใส่ค่า destinationName เมื่อ destination มีค่าเท่ากับ 3
            default:System.exit(0);                                          //ออกจากโปรแกรมทันที
        }

        switch(seatType){             //ใช้คำสั่ง switch ด้วยตัวแปร seatType
            case 1:price=price*4;seatTypeName="First Class";break;        //ใส่ตัวคุณ price และใส่ค่า destinationName เมื่อ seatType มีค่าเท่ากับ 1
            case 2:price=price*2;seatTypeName="Business Class";break;   //ใส่ตัวคุณ price และใส่ค่า destinationName เมื่อ seatType มีค่าเท่ากับ 2
            case 3:seatTypeName="Economy Class";break;                       //ใส่ตัวคุณ price และใส่ค่า destinationName เมื่อ seatType มีค่าเท่ากับ 3
            default:System.exit(0);                           //ออกจากโปรแกรมทันที
        }

        price = price*seatNum;                                             //คุณจำนวนที่นั่งกับราคา

        System.out.println("::: Your Ticket Info ::");                          //แสดงผลลัพธ์
        System.out.println("From Bangkok To "+destinationName);        //แสดงผลลัพธ์
        System.out.println("Seat            : "+seatTypeName);                  //แสดงผลลัพธ์
        System.out.println("Price           : "+price);                         //แสดงผลลัพธ์
    }
}
            เมื่อเขียนโค้ดตามขั้นตอนเส็ดแล้ว ก็มา Compile กันเลย 
        หลังจาก Compile แล้ว ไม่มี Error ก็มาลอง Run โปรแกรมกันดูครับ


อ้างอิง 


ไม่มีความคิดเห็น:

แสดงความคิดเห็น