More Related Content
Similar to พื้นฐานภาษาจาวา
Similar to พื้นฐานภาษาจาวา (20)
More from Aeew Autaporn (12)
พื้นฐานภาษาจาวา
- 2. ประวัต ค วาม
ิ
เป็น มา
เป็นภาษาที่ถูกพัฒนาโดย Dr.Jame
Gosling บริษัท Sun Microsystems เดิมที
ชื่อ ภาษาโอ๊ค (Oak) เป็นชื่อต้นไม้ ใหญ่ที่อยู่
ในบริเวณบ้าน ที่ทีมวิศวกรของซัน ทำางานอยู่ นำา
มาใช้ในการพัฒนาโปรแกรมขนาดจิ๋วสำาหรับ
อุปกรณ์ เครื่องใช้อิเล็คทรอนิกส์ ได้ทำาการ
พัฒนาต่อมาเรื่อยๆ และได้เปลี่ยนชื่อใหม่
เป็น ภาษาจาวา (Java) ตามชื่อกาแฟที่ทีม
พัฒนาดืม
่
- 3. ความรู้เ กีย วกับ ภาษาจาวา
่
ภาษาจาวาถือกำาเนิดขึ้นจากความ
ต้องการที่จะสร้างคอมไพเลอร์ภาษาคอมพิวเตอร์ซึ่งเป็นอิสระ
จาก Hardware รุ่นใดรุ่นหนึ่ง หรือยี่ห้อใดยีห้อหนึ่ง โดยจุด
่
ประสงค์แรกนั้นต้องการที่จะใช้เขียนโปรแกรม เพื่อควบคุม
อุปกรณ์เครื่องใช้ไฟฟ้า และอุปกรณ์อิเล็กทรอนิคส์ต่างๆ เช่น เตา
อบ, เครื่องซักผ้า, โทรศัพท์, มือถือ, Set Top Box ของเคเบิ้ลทีวี
ฯลฯ ด้วยเหตุนี้ โดยการนำาของ James Gosling หัวหน้า
กลุ่ม Green Group แห่งบริษัท Sun Microsystems จึงได้เริ่ม
โครงการพัฒนาภาษาดังกล่าวอย่างจริงจัง ในปี 1991 โดยขั้น
แรกชื่อว่า ภาษา Oak แต่หลังจากที่ไม่ประสบความสำาเร็จใน
การนำาไปใช้งานตามความคิดริเริ่มดังกล่าว ประกอบกับ
บริษัท Sun Microsystems เริ่มมองเห็นความจำาเป็นที่ต้องมี
ภาษาที่สร้างโปรแกรมบนเครื่องหนึ่งแต่สามารถนำาไปใช้งานบน
เครื่องใดๆ ก็ได้ (Write Once Run Anywhere) บริษัทจึงได้นำา
เอาภาษา Oak มาพัฒนาต่อให้เป็นภาษาแบบ Object
Oriented จนได้ภาษา จาวาขึ้นในปี 1995 และปัจจุบันได้มี
หลายบริษัทพัฒนาภาษา จาวาขึ้นมาเป็นผลิตภัณฑ์ของตัวเอง
- 4. จุด เด่น
1) เป็นภาษาสำาหรับการเขียนโปรแกรมเชิง
วัตถุ (OOP: Object Oriented
Programming)
2) Java คือ platform independence
หมายความว่าความสามารถของโปรแกรมที่เขียน
ด้วย java
สามารถทำางานได้ในระบบปฏิบติการที่ต่างกัน โดย
ั
ไม่ต้องดัดแปลงแก้ไขใหม่
3) Free และ เป็นโปรแกรมประเภท Open
Source
- 5. ชนิด ของโปรแกรม Java
1) Java Application
เป็นการนำาโปรแกรม Java มาเขียนเป็น
โปรแกรมที่สามารถนำามาใช้งานได้อย่างอิสระ
2) Java Applets
เป็นการนำา Java มาเขียนเป็นโปรแกรม
เช่นเดียวกัน แต่ไม่สามารถเรียกใช้งานได้ตาม
ลำาพัง ต้องนำามาใส่ไว้ในเอกสาร HTML แล้วใช้
โปรแกรม Web Browser หรือ Utilities ของ
Java เพือเรียกดูผลลัพธ์
่
- 8. คำา
อธิบ าย
- method main( ) จะเป็น
method หลักที่ใช้ในการ run program ดัง
นั้นการกระทำาต่าง ๆ ที่ต้องการให้เกิดขึ้น ใน
การ run program จะต้องทำาการเขียนคำาสั่ง
ไว้ใน method นี้
- การแสดงผลทางจอภาพ (Console
Output) ใช้ method ชื่อ "println" ซึ่งอยู่
ใน System.outคำาสั่งนี้จะรับข้อมูลที่เป็น
String เพือนำามาแสดงผลทางจอภาพ
่
- 9. เมธอดรับ ข้อ มูล พื้น ฐาน
การรับข้อมูลทางคีย์บอร์ดในภาษาจาวาจะต้อง
สร้างออบเจ็กต์ของคลาส Scanner ขึ้นมาโดยจะ
ต้องประกาศตัวแปรออบเจ็กต์ก่อน เช่น
Scanner keyboard;
ประกาศตัวแปรออบเจ็กต์
ชื่อ keyboard อยู่ในคลาส Scanner จากนั้น
ต้องสร้างออบเจ็กต์มาโดยใช้คย์เวิร์ด new มีรูป
ี
แบบดังนี้
ตัวแปรออบเจ็กต์ = new ชื่อคลาส(อาร์กวเมนต์);
ิ
ดังนันถ้าจะให้ตัวแปร keyboard รับค่า
้
ทางแป้นพิมพ์จะต้องสร้างออบเจ็กต์ขนมาโดยให้มี
ึ้
อาร์กิวเมนต์เป็น System.in ดังนี้
keyboard = new Scanner(System.in);
- 10. เมธอดแสดงผลทางจอภาพพื้น ฐาน
ในภาษาจาวาจะใช้
เมธอด print และ println ในการแสดงผล
ทางจอภาพ โดยจะอยู่ในออบเจ็กต์ out ซึ่งอยู่
ในคลาส System รูปแบบการใช้งานเมธอดทั้ง
สองคือ
System.out.print(data);
System.out.println(data);
โดย data เป็นข้อมูลทีต้องการแสดงผล
่
การใช้ print หลังจาแสดงผลแล้วจะไม่ขึ้น
บรรทัดใหม่ ส่วน println จะขึ้นบรรทัดใหม่
- 12. Method ต่า งๆ ใน java.applet
drawString()
เมื่อเราต้องการเขียนข้อความลงในพื้นที่ของ
แอพเพลต จะใช้ method ของคลาส Graphics คือ
public void
drawString(String msg, int x, int y);
โดย String msg จะเป็นข้อความที่ถูกพิมพ์ที่
ตำาแหน่งในแนวนอน int x และในแนวตั้ง int y ที่นับจาก
จุดบนซ้ายสุดเป็นตำาแหน่ง 0,0 ข้อความที่ถูกพิมพ์ออกไปจะ
ถูกแสดงเป็นแบบ Graphics ไม่สามารถใช้อักษรควบคุม
showStatus ()
เช่น ‘t’, ‘n’, หรือ‘r’
บางแอพเพลต มีข้อความที่ต้องแสดงตลอดเวลา
หากเราวาดข้อความนั้นลงไปในพื้นที่ของแอพเพลต
ด้วย drawString() ข้อความนั้นก็จะไปทับกับรูปภาพหรือ
ข้อความอื่น class Applet จึงมี
public void
showStatus(String mgs);
สำาหรับแสดงข้อความ String mgs ลงบน status
bar ที่อยูด้านล่างพื้นที่แสดงผลของ แอพเพลต
่
- 13. Method ต่า งๆ ใน java.applet (ต่อ )
paint()
ดังที่ทราบแล้วว่า บราวเซอร์ จะ
เรียก paint() ให้ทำางาน เมื่อพื้นที่ของ แอพเพลต จะต้องถูก
วาดใหม่ ผูที่จะโปรแกรมต้องเข้าใจว่า การเขียนโปรแกรม
้
สำาหรับ แอพเพลต เป็นความคิดในแบบ event driven
program -ming คือ จะต้องมีเหตุการณ์ มากกระตุ้น
ให้ paint() ทำางานผู้โปรแกรมเพียงสร้างโปรแกรม
ของ paint() ที่จะถูกเรียกโดย บราวเซอร์ และไม่ควร
เรียก paint() ให้ทำางานโดยตรงถ้าเราต้องการ
ให้ paint() ทำางานจากในโปรแกรมเราสามารถ
เรียก repaint() หรือ update() methodเหล่านี้จะมา
เรียก paint() ให้ทำางานอีกครั้ง ในการเขียน method
paint() มีข้อพิจารณาดังนี้
- แม้เราทราบว่า paint() จะถูกเรียกอย่างอัตโนมัติ
หลังจาก start() แต่ก็อาจถูกเรียกให้ทำางานอีกโดย
เรียก repaint() เราไม่อาจระบุเวลาหรือเงื่อนไข
ว่า paint() จะทำางานเมื่อใด รวมทั้งไม่อาจกำาหนด
ว่า paint() จะถูกเรียกกี่ครั้ง โปรแกรมของ paint() ควร
- 14. Method ต่า งๆ ใน java.applet (ต่อ )
update()
update() เป็น method ที่กำาหนดอยู่ในคลาส
Component และถ่ายทอดมาสู่คลาส แอพเพลต เช่นเดียว
กับ paint() และ repaint() เมื่อ
เรียก repaint() แล้ว update() จะถูกเรียกอัตโนมัติก่อนที่
จะเรียก paint() คลาส update() มี Graphics g เป็น
พารามิเตอร์ เช่นเดียวกับ paint()
getDocumentBase() and getCodeBase()
บาง แอพเพลต จะ
ต้องโหลดไฟล์ เช่นไฟล์เสียงไฟล์ภาพ จาก เว็บsite ที่
ให้ Html page หรือแอพเพลต นั้นมา คลาส แอพเพลต
จึงมี getDocumentBase() ที่จะให้ URL ของไฟล์
Html page นั้นและ getCodeBase() จะให้ URL ของ
ไดเรกทอรี ที่เก็บโปรแกรม .class ของ แอพเพลต นั้น
- 15. ชนิด ของข้อ มูล ตัว แปรและค่า คงที่
ชนิดข้อมูลในภาษาจาวาแบ่งเป็นสองประเภทใหญ่ๆ คือ
ชนิด ข้อ มูล แบบพื้น ฐาน (primitive data
type)
หมายถึงชนิดข้อมูลที่สามารถเก็บข้อมูลที่เป็นข้อมูลทั่วไป
หรือข้อมูลพื้นฐาน มีทั้งหมด 8 ตัว ได้แก่ boolean,
char, byte, short, int, long, float,double
ชนิด ข้อ มูล แบบอ้า งอิง (reference data
type)
มีความแตกต่างกับชนิดข้อมูลพื้นฐาน ที่ว่าชนิดข้อมูลชนิดนี้
อยู่ในรูปแบบหนึ่ง ซึ่งการเข้าถึง(ใช้งาน)ข้อมูลเป็นการอ้างถึง
มากกว่าการเข้าถึงข้อมูลโดยตรง เก็บข้อมูลไว้ 2 ส่วน คือ
- Execution Stack เก็บค่าอ้างอิงที่ชี้ไปยัง Heap
memory
- Heap Memory เก็บข้อมูลที่เรียกว่าออปเจ็ค ที่สร้างขึน ้
มาจากคลาส
- 17. การใช้ import
ในภาษาจาวาคลาสต่างๆจะถูกรวมไว้เป็น
แพ็กเกจวึ่งสามารถเรียกใช้ดวยคำาสั่ง import
้
เพือบอกให้คอมไพเลอร์รุ้ว่าจะนำาคลาสมาจากที่
่
ใด โดยเขียนคำาสั่ง import ไว้ที่ส่วนหัวของ
โปรแกรม เช่นการใช้งานคลาส Scanner จะต้อง
เขียนดังนี้
import java.util.Scanner
เป็นการเรียกใช้คลาส Scanner ทีเก็บอยู่
่
ใน util โดย util นี้เก็บอยู่ในแพ็กเกจหลักชื่อ java
- 18. การดำา เนิน การทางคณิต ศาสตร์
ในภาษาจาวา ประโยค (statement) จะจบ
ด้วยเครื่องหมาย ; (semicolon) เสมอ ดังนัน ้
โปรแกรมสามารถเขียน statement ได้มากกว่า
หนึ่งสเตจเม็นต์ในหนึ่งบรรทัดของ source code
หรือสามารถเขียน statement โดยมีความยาว
มากกว่าหนึงบรรทัดก็สามารถทำาได้
่
Expression หมายถึง ประโยคในภาษา
Java ที่ได้รับการยอมรับว่าอยู่ในรูปแบบที่ได้กำาหนด
ไว้ การเขียน code ให้มรูปแบบทีเหมาะสม อ่านได้
ี ่
ง่าย จะทำาให้การพัฒนาโปรแกรมเป็นไปได้ดวย ้
ความรวดเร็วและ เป็นทียอมรับตามระบบสากล รูป
่
แบบทีเหมาะสมนันคือ การย่อหน้า (indentation)
่ ่
เพื่อให้การอ่านทำาได้ง่าย และมอง ดูสวยงาม
- 19. การดำา เนิน การทางคณิต ศาสตร์ (ต่อ )
เมือมีตัวแปรหลายตัวในการประมวลผลของประโยค ลำาดับ
่
ขั้นของการประมวลผลมีความสำาคัญ เนืองจากรูปแบบของ การ
่
ประมวลผลตามขั้นของ operator ต่างๆ มีลำาดับการประมวลผลที่
ไม่เท่ากัน ซึ่งเป็นไปตามกฎของการประมวลผล ทางคณิตศาสตร์
ได้แก่
1) การประมวลผลข้อมูลที่เป็นจำานวนเต็ม
2) การประมวลผลด้วยตัวแปรที่มจุดทศนิยม
ี
3) การประมวลผลข้อมูลต่างชนิดกัน
- ถ้าตัวแปรใดเป็น double ตัวแปรที่นำามา
ประมวลผลด้วยจะถูกเปลี่ยนให้เป็น double ก่อนการประมวลผล
- ถ้าตัวแปรใดเป็น float ตัวแปรที่นำามาประมวล
ผลด้วยจะถูกเปลี่ยนให้เป็น float ก่อนการประมวลผล
- ถ้าตัวแปรใดเป็น long ตัวแปรที่นำามาประมวล
ผลด้วยจะถูกเปลี่ยนให้เป็น long ก่อนการประมวลผล
4) การประมวลผลตัวเลขที่มขนาดใหญ่
ี
Java จะมี class BigInteger ที่สามารถเรียกใช้เพือประมวลผล
่
- 21. ารเปลี่ย นแปลงชนิด ของข้อ มูล (casting)
ใช้แปลงชนิดข้อมูล จากชนิดหนึ่งเป็น
อีกชนิดได้ โดยไม่สนใจขนาด แต่ถ้า cast
ข้อมูลที่มขนาดใหญ่ไปสู่ข้อมูลที่มี ขนาดเล็ก จะ
ี
ทำาให้สูญเสียค่าความเป็นจริงของข้อมูลนั้นได้
ดังนั้นการประกาศค่าตัวแปรและcast ต้องทำา
ด้วยความระมัดระวัง
รูป แบบ
(target_type) varvalue
ตัว อย่า ง
float price = 15.254f;
int numint
numint = (int)price;
- 22. จัด ทำา โดย
นาย อรรถพร สุขใส เลขที่ 12
นาย ภานุพงศ์ ทองดีเลิศ เลขที่ 18
นาย ศักดิ์ศรัณย์ อำาพันพร เลขที่
19
นางสาว อังสนา เหมือนเทียน เลขที่ 26
นางสาว อารียา อ่อนน้อม เลขที่
27
นางสาว สุภาพร ชวนชม เลขที่
33
ชั้น มัธ ยมศึก ษาปีท ี่ 6/3