บทที่ 1ความรู้เ บื้อ งต้น ของภาษา            จาวา (Introduction to Java    Programming)  อ.ธนิศ า เครือ ไวศยวรรณ คณะเทคโนโ...
วัต ถุป ระสงค์ แนะนำา ความแตกต่า งระหว่า งภาษาเชิง กระบวนการ และภาษาเชิง ออปเจ็ค แนะนำา ประวัต ิโ ดยย่อ และเทคโนโลยีจ าว...
ภาษา เชิง กระบวนการ และภาษา            เชิง ออปเจ็ค ภาษาเชิง กระบวนการ  • โปรแกรมจะแบ่ง ออกเป็น ส่ว นย่อ ยๆที่เ รีย กว่า ...
โปรแกรมเชิง ออปเจ็ค วิเ คราะห์ป ัญ หาโดยมองปัญ หาว่า ประกอบไปด้ว ย ออปเจ็ค ต่า งๆ จำา ลองคุณ ลัก ษณะและพฤติก รรมของออปเจ...
ระบบทะเบีย นนัก ศึก ษา วิธ ีก ารเชิง              วิธ ีแ บบเชิง ออปเจ็ค  กระบวนการ                    •   นัก ศึก ษา   •...
ออปเจ็ค ชนิด นัก ศึก ษา คุณ ลัก ษณะ  • ชื่อ  • รหัส นัก ศึก ษา  • เกรดเฉลี่ย พฤติก รรม  • ลงทะเบีย น  • เพิ่ม หรือ ถอนวิ...
ข้อ ดีข องการพัฒ นาโปรแกรมเชิง              ออปเจ็ค แนวคิด การวิเ คราะห์ป ัญ หาใกล้เ คีย งกับ ธรรมชาติ ของมนุษ ย์ ระบบจร...
ประวัต ิข องภาษาจาวา พัฒ นาขึ้น โดยทีม วิจ ย ของบริษ ัท ซัน ไมโครซิส เต็ม                        ั  ส์ (Sun Microsystems)...
องค์ป ระกอบของเทคโนโลยีจ าวา JVM    (Java Virtual Machine)  • ทำา หน้า ที่เ ป็น อิน เตอร์พ รีต เตอร์ JRE   (Java Runtime...
JVM จาวาเทคโนโลยีใ ช้ท ง คอมไพเลอร์แ ละอิน เตอร์                     ั้ พรีต เตอร์ ในการคอมไพล์แ ละรัน โปรแกรม โปรแกรมภา...
JVM เครื่อ งคอมพิว เตอร์ท จ ะสามารถรัน โปรแกรมไบท์                        ี่  โค้ด ได้จ ะต้อ งมี JVM อยู่ JVM   อาจเป็น ...
ขั้น ตอนการทำา งานของโปรแกรม          ภาษาจาวา
JRE JRE  จะรัน โค้ด ทีแ ปลมาจาก JVM โดยจะทำา งาน 3                    ่ ขั้น ตอน คือ  • โหลดไบท์โ ค้ด โดยใช้ Class Loader...
ขั้น ตอนการทำา งานของ JRE
J2SDK Java   2 SDK (Software Development Kit) เดิม ชื่อ         JDK แต่ต ่อ มาเปลี่ย นชื่อ เป็น Java 2 ตั้ง แต่  JDK 1.2...
Java IDE และ Java Editor Java   IDE  • Netbeans    ของบริษ ัท Sun Microsystems (    http://www.netbeans.org)  • Eclipse ข...
จุด เด่น ของภาษาจาวา ความง่า ย   (simple) ภาษาเชิง ออปเจ็ค       (object oriented) การกระจาย      (distributed) การป้อ...
จุด เด่น ของภาษาจาวา อิน เตอร์พ รีต   (interpreted) ประสิท ธิภ าพสูง   (high performance) มัล ติเ ธรด   (multithreaded)...
Java Platform แพลตฟอร์ม ก็ค ือ                 ฮาร์ด แวร์แ ละ software environment ทีจ ะใช้ใ นการรัน โปรแกรม             ...
Java Platform บริษ ัท ซัน ไมโครซิส เต็ม ส์ไ ด้ก ำา หนดแพลตฟอร์ม ของ Java 2 ไว้ส ามรูป แบบคือ   • Java   2 Platform, Stand...
JavaTM 2 Platform                           Java Platform Micro Edition                                    (Java ME) Optio...
Java SE
Java EE
Java ME
โปรแกรมจาวา โปรแกรมจาวาประยุก ต์      (Java Application)  • โปรแกรมใช้ง านทั่ว ไป  • โปรแกรมทำา งานภายใต้จ าวาอิน เตอร์พ ...
การสร้า งโปรแกรมจาวาประยุก ต์ เขีย นซอร์ด โค้ด       HelloWorld.java คอมไพล์โ ปรแกรม    javac HelloWorld.java    →     ...
HelloWorld.javapublic class HelloWorld { public class HelloWorld {    public static void main(String args[]) {     public ...
ตัว อย่า งการใช้ Java IDE
รูป แสดงขั้น ตอนการทำา งาน
การสร้า งโปรแกรมจาวาแอปเพล็ต โปรแกรมจาวาแอปเพล็ต จะมีไ ฟล์ท เ ขีย นขึ้น สอง                                 ี่ ไฟล์ค ือ  ...
HelloWorldApplet.javaimport java.awt.*; import java.awt.*;import java.applet.*; import java.applet.*;public class HelloWor...
HelloWorld.html<HTML> <HTML>    <HEAD>     <HEAD>         <TITLE>HelloWorld Example</TITLE>          <TITLE>HelloWorld Exa...
รูป แสดงขั้น ตอนการทำา งาน
ตัว อย่า งการรัน โปรแกรมบนเว็บ            บราวเซอร์
Java API Documentation เอกสารในรูป แบบของ     HTML ทีอ ธิบ ายข้อ มูล                                ่  เกีย วกับ API (App...
คู่ม ือ Java API Java  API เป็น ข้อ กำา หนดทีว ่า ด้ว ยคลาสและ                               ่  อิน เตอร์เ ฟสต่า งๆทีก ำา...
ตัว อย่า ง Java API
สรุป เนื้อ หาของบท ภาษาระดับ สูง แบ่ง ออกเป็น สองประเภทคือ   ภาษา  เชิง กระบวนการ และภาษาเชิง ออปเจ็ค ภาษาจาวาเป็น ภาษาเ...
สรุป เนื้อ หาของบท ชุด พัฒ นาโปรแกรมภาษาจาวา       Java 2 SDK  ประกอบไปด้ว ยโปรแกรมต่า งๆทีส ำา คัญ คือ                  ...
แบบฝึก หัด แบบฝึก หัด ที่   1 การเขีย นโปรแกรมจาวาประยุก ต์ อย่า งง่า ย   • เขีย นโปรแกรมจาวาประยุก ต์เ พื่อ แสดงข้อ ความ...
Upcoming SlideShare
Loading in...5
×

Java Programming [1/12] : Introduction

689

Published on

เอกสารแนะนำการเขียนโปรแกรมภาษาจาวา

Published in: Technology
1 Comment
8 Likes
Statistics
Notes
No Downloads
Views
Total Views
689
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
1
Likes
8
Embeds 0
No embeds

No notes for slide

Transcript of "Java Programming [1/12] : Introduction"

  1. 1. บทที่ 1ความรู้เ บื้อ งต้น ของภาษา จาวา (Introduction to Java Programming) อ.ธนิศ า เครือ ไวศยวรรณ คณะเทคโนโลยีส ารสนเทศ
  2. 2. วัต ถุป ระสงค์ แนะนำา ความแตกต่า งระหว่า งภาษาเชิง กระบวนการ และภาษาเชิง ออปเจ็ค แนะนำา ประวัต ิโ ดยย่อ และเทคโนโลยีจ าวา อธิบ ายหลัก การของ Java Virtual Machine (JVM) และ Java Platform แนะนำา ซอฟต์แ วร์ท ใ ช้ใ นการพัฒ นา โปรแกรม ี่ ภาษาจาวา แนะนำา จุด เด่น ของภาษา อธิบ ายและแสดงตัว อย่า งของโปรแกรมจาวา ประยุก ต์แ ละ โปรแกรมจาวา แอปเพล็ต
  3. 3. ภาษา เชิง กระบวนการ และภาษา เชิง ออปเจ็ค ภาษาเชิง กระบวนการ • โปรแกรมจะแบ่ง ออกเป็น ส่ว นย่อ ยๆที่เ รีย กว่า โมดูล (module) • แต่ล ะโมดูล จะต้อ งเป็น อิส ระต่อ กัน • การออกแบบให้แ ต่ล ะโมดูล มีค วามเป็น อิส ระต่อ กัน นั้น ทำา ได้ย าก • ต้น ทุน ในการพัฒ นาโปรแกรมสูง ภาษาเชิง ออปเจ็ค • การพัฒ นาโปรแกรมเป็น การเลีย นแบบการทำา งานเชิง ออปเจ็ค • สามารถนำา โปรแกรมกลับ มาใช้ใ หม่ (reuse) ได้ด ีก ว่า ภาษาเชิง กระบวนการ
  4. 4. โปรแกรมเชิง ออปเจ็ค วิเ คราะห์ป ัญ หาโดยมองปัญ หาว่า ประกอบไปด้ว ย ออปเจ็ค ต่า งๆ จำา ลองคุณ ลัก ษณะและพฤติก รรมของออปเจ็ค ออปเจ็ค จะส่ง ข้อ มูล กัน โดยผ่า นข่า วสาร (Message) แตกต่า งจากภาษาเชิง กระบวนการทีว ิเ คราะห์ ่ ปัญ หาโดยพิจ ารณาจากลำา ดับ การทำา งานและ แบ่ง การทำา งานของโปรแกรมตามฟัง ก์ช ัน ต่า งๆ
  5. 5. ระบบทะเบีย นนัก ศึก ษา วิธ ีก ารเชิง  วิธ ีแ บบเชิง ออปเจ็ค กระบวนการ • นัก ศึก ษา • ลงทะเบีย นรายวิช า • ใบลงทะเบีย น • ชำา ระเงิน • รายชื่อ รายวิช า • เพิ่ม วิช า
  6. 6. ออปเจ็ค ชนิด นัก ศึก ษา คุณ ลัก ษณะ • ชื่อ • รหัส นัก ศึก ษา • เกรดเฉลี่ย พฤติก รรม • ลงทะเบีย น • เพิ่ม หรือ ถอนวิช า
  7. 7. ข้อ ดีข องการพัฒ นาโปรแกรมเชิง ออปเจ็ค แนวคิด การวิเ คราะห์ป ัญ หาใกล้เ คีย งกับ ธรรมชาติ ของมนุษ ย์ ระบบจริง (real life) แบ่ง ตามออปเจ็ค ไม่ไ ด้ข ึ้น อยูก ับ ฟัง ก์ช ั่ น การทำา งาน ่ ่ ขบวนการพัฒ นาโปรแกรมทำา ได้ร วดเร็ว ขึน ้ ง่า ยต่อ การพัฒ นาและแก้ไ ข นำา โปรแกรมกลับ มาใช้ใ หม่ไ ด้ง ่า ย
  8. 8. ประวัต ิข องภาษาจาวา พัฒ นาขึ้น โดยทีม วิจ ย ของบริษ ัท ซัน ไมโครซิส เต็ม ั ส์ (Sun Microsystems) พัฒ นามาจากโครงการทีต ้อ งการพัฒ นาระบบ ่ ซอฟต์แ วร์เ พือ ควบคุม เครื่อ งใช้ไ ฟฟ้า ขนาดเล็ก ่ ภายในบ้า น ชื่อ เดิม คือ ภาษา Oak ต่อ มาเปลี่ย นชื่อ เป็น ภาษา จาวา ภาษาจาวาเริ่ม เป็น ทีน ย มแพร่ห ลายในปี ่ ิ ค .ศ. 1995 ภาษาจาวาเป็น ภาษาทีไ ม่ข ึ้น กับ แพลตฟอร์ม ่ (platform independent)
  9. 9. องค์ป ระกอบของเทคโนโลยีจ าวา JVM (Java Virtual Machine) • ทำา หน้า ที่เ ป็น อิน เตอร์พ รีต เตอร์ JRE (Java Runtime Environment) • ใช้ใ นการรัน โปรแกรม J2SDK (Java 2 Software Development Kit) • เป็น ชุด พัฒ นาโปรแกรมภาษาจาวา
  10. 10. JVM จาวาเทคโนโลยีใ ช้ท ง คอมไพเลอร์แ ละอิน เตอร์ ั้ พรีต เตอร์ ในการคอมไพล์แ ละรัน โปรแกรม โปรแกรมภาษาจาวามีซ อร์ด โค้ด เป็น.java และ จะแปลเป็น โปรแกรม ไบท์โ ค้ด (byte code) ทีเ ป็น ่ .class โปรแกรมไบท์โ ค้ด จะรัน บน ระบบ คอมพิว เตอร์ โดยใช้ JVM (Java Virtual Machine) ทีเ ป็น อิน ่ เตอร์พ รีต เตอร์ ซึ่ง จะแปลโปรแกรมไบท์โ ค้ด ให้ เป็น ภาษาเครื่อ งทีข ึ้น อยูก ับ แพลตฟอร์ม นั้น ่ ่
  11. 11. JVM เครื่อ งคอมพิว เตอร์ท จ ะสามารถรัน โปรแกรมไบท์ ี่ โค้ด ได้จ ะต้อ งมี JVM อยู่ JVM อาจเป็น ซอฟต์แ วร์ห รือ ฮาร์ด แวร์ ในปัจ จุบ ัน JVM มีอ ยู่ใ น • ระบบปฏิบ ัต ิก ารคอมพิว เตอร์ต ่า งๆ • โปรแกรมเว็บ บราวเซอร์ • เครื่อ งใช้ไ ฟฟ้า ต่า งๆ • โทรศัพ ท์ • เครื่อ งมือ สื่อ สาร • สมาร์ท การ์ด
  12. 12. ขั้น ตอนการทำา งานของโปรแกรม ภาษาจาวา
  13. 13. JRE JRE จะรัน โค้ด ทีแ ปลมาจาก JVM โดยจะทำา งาน 3 ่ ขั้น ตอน คือ • โหลดไบท์โ ค้ด โดยใช้ Class Loader • ตรวจสอบไบท์โ ค้ด โดยใช้ Byte Code Verifier • รัน ไบท์โ ค้ด โดยใช้ Runtime Interpreter
  14. 14. ขั้น ตอนการทำา งานของ JRE
  15. 15. J2SDK Java 2 SDK (Software Development Kit) เดิม ชื่อ JDK แต่ต ่อ มาเปลี่ย นชื่อ เป็น Java 2 ตั้ง แต่ JDK 1.2 โปรแกรม Java 2 SDK • javac.exe : โปรแกรมคอมไพเลอร์ • java.exe : โปรแกรมอิน เตอร์พ รีต เตอร์ (JVM) Java 2 SDK ไม่ม โ ปรแกรมอิด ีเ ตอร์ ี
  16. 16. Java IDE และ Java Editor Java IDE • Netbeans ของบริษ ัท Sun Microsystems ( http://www.netbeans.org) • Eclipse ของบริษ ัท IBM (http://eclipse.org) • JBuilder ของบริษ ัท Borland ( http://www.borland.com/jbuilder) • JDeveloper ของบริษ ัท Oracle (http:// www.oracle.com) • intelliJ IDEA ของบริษ ัท JetBrains ( http://www.jetbrains.com/idea) Java Editor • EditPlus ของบริษ ัท ES-Computing (http:// www.editplus.com) • JCreator ของบริษ ัท Xinox Software (
  17. 17. จุด เด่น ของภาษาจาวา ความง่า ย (simple) ภาษาเชิง ออปเจ็ค (object oriented) การกระจาย (distributed) การป้อ งกัน การผิด พลาด (robust) ความปลอดภัย (secure) สถาปัต ยกรรมกลาง (architecture neutral) เคลื่อ นย้า ยง่า ย (portable)
  18. 18. จุด เด่น ของภาษาจาวา อิน เตอร์พ รีต (interpreted) ประสิท ธิภ าพสูง (high performance) มัล ติเ ธรด (multithreaded) พลวัต (dynamic)
  19. 19. Java Platform แพลตฟอร์ม ก็ค ือ ฮาร์ด แวร์แ ละ software environment ทีจ ะใช้ใ นการรัน โปรแกรม ่ แพลตฟอร์ม ของภาษาจาวาประกอบด้ว ย • Java Virtual Machine • Java Application Programming Interface (Java API)
  20. 20. Java Platform บริษ ัท ซัน ไมโครซิส เต็ม ส์ไ ด้ก ำา หนดแพลตฟอร์ม ของ Java 2 ไว้ส ามรูป แบบคือ • Java 2 Platform, Standard Edition (Java SE) • Java 2 Platform, Enterprise Edition (Java EE) • Java 2 Platform, Micro Edition (Java ME)
  21. 21. JavaTM 2 Platform Java Platform Micro Edition (Java ME) Optional Packages Optional Packages Personal Personal Java Java Basis Profile ProfileEnterprise Standard Foundation MIDP Edition Edition Profile(Java EE) (Java SE) Java CDC CLDC Card JVM KVM Card VM
  22. 22. Java SE
  23. 23. Java EE
  24. 24. Java ME
  25. 25. โปรแกรมจาวา โปรแกรมจาวาประยุก ต์ (Java Application) • โปรแกรมใช้ง านทั่ว ไป • โปรแกรมทำา งานภายใต้จ าวาอิน เตอร์พ รีต เตอร์ • โปรแกรมแบบ Standalone โปรแกรมจาวาแอปเพล็ต (Java Applet) • โปรแกรมที่ท ำา งานภายใต้โ ปรแกรมเวบ บราวเซอร์ที่ม ี JVM
  26. 26. การสร้า งโปรแกรมจาวาประยุก ต์ เขีย นซอร์ด โค้ด  HelloWorld.java คอมไพล์โ ปรแกรม javac HelloWorld.java → HelloWorld.class รัน โปรแกรม java HelloWorld
  27. 27. HelloWorld.javapublic class HelloWorld { public class HelloWorld { public static void main(String args[]) { public static void main(String args[]) { System.out.println("Hello World"); System.out.println("Hello World"); }}}}
  28. 28. ตัว อย่า งการใช้ Java IDE
  29. 29. รูป แสดงขั้น ตอนการทำา งาน
  30. 30. การสร้า งโปรแกรมจาวาแอปเพล็ต โปรแกรมจาวาแอปเพล็ต จะมีไ ฟล์ท เ ขีย นขึ้น สอง ี่ ไฟล์ค ือ • โปรแกรมซอร์ด โค้ด (.java) • โปรแกรมเว็บ เพจ (.html) ขั้น ตอนการทำา งาน • เขีย นโปรแกรมซอร์ด โค้ด  HelloWorldApplet.java • คอมไพล์โ ปรแกรม  HelloWorldApplet.class • ใช้โ ปรแกรมเว็บ บราวเซอร์ใ ดๆเปิด โปรแกรม HelloWorld.html
  31. 31. HelloWorldApplet.javaimport java.awt.*; import java.awt.*;import java.applet.*; import java.applet.*;public class HelloWorldApplet extends Applet { public class HelloWorldApplet extends Applet { public void paint(Graphics g) { public void paint(Graphics g) { g.drawString("Hello World",20,20); g.drawString("Hello World",20,20); }}}}
  32. 32. HelloWorld.html<HTML> <HTML> <HEAD> <HEAD> <TITLE>HelloWorld Example</TITLE> <TITLE>HelloWorld Example</TITLE> </HEAD> </HEAD> <BODY> <BODY> <APPLET CODE="HelloWorldApplet.class" <APPLET CODE="HelloWorldApplet.class" WIDTH="300" HEIGHT="300"> WIDTH="300" HEIGHT="300"> </APPLET> </APPLET> </BODY> </BODY></HTML> </HTML>
  33. 33. รูป แสดงขั้น ตอนการทำา งาน
  34. 34. ตัว อย่า งการรัน โปรแกรมบนเว็บ บราวเซอร์
  35. 35. Java API Documentation เอกสารในรูป แบบของ HTML ทีอ ธิบ ายข้อ มูล ่ เกีย วกับ API (Application Programming ่ Interface) ของภาษาจาวา สามารถทีจ ะ ่ download ได้จ าก http://java.sun.com เรีย กดู online ได้ท ี่ http://java.sun.com/j2se/1.5.0/docs/api
  36. 36. คู่ม ือ Java API Java API เป็น ข้อ กำา หนดทีว ่า ด้ว ยคลาสและ ่ อิน เตอร์เ ฟสต่า งๆทีก ำา หนดไว้ใ นแพคเก็จ มาตรา ่ ฐานของภาษาจาวา คู่ม อ ื Java API จะแสดงรายละเอีย ดต่า งๆของ คลาสหรือ อิน เตอร์เ ฟสดัง นี้ • ลำา ดับ การสืบ ทอดของคลาส • คำา อธิบ ายเกี่ย วกับ คลาสและจุด ประสงค์ท ั่ว ไป • รายชื่อ คุณ ลัก ษณะต่า งๆ ของคลาส • รายชื่อ เมธอดต่า งๆ ของคลาส • รายชื่อ Constructor ต่า งๆ ของคลาส • คำา อธิบ ายรายละเอีย ดของคุณ ลัก ษณะแต่ล ะตัว ของ คลาส • คำา อธิบ ายรายละเอีย ดของเมธอดแต่ล ะตัว ของคลาส • คำา อธิบ ายรายละเอีย ดของ Constructor แต่ล ะตัว ของ
  37. 37. ตัว อย่า ง Java API
  38. 38. สรุป เนื้อ หาของบท ภาษาระดับ สูง แบ่ง ออกเป็น สองประเภทคือ ภาษา เชิง กระบวนการ และภาษาเชิง ออปเจ็ค ภาษาจาวาเป็น ภาษาเชิง ออปเจ็ค ทีใ ช้ท ง ตัว แปล ่ ั้ ภาษาแบบคอมไพเลอร์แ ละอิน เตอร์พ รีต เตอร์ใ น การคอมไพล์แ ละรัน โปรแกรม คอมไพเลอร์ข องภาษาจาวาจะทำา หน้า ทีแ ปล ่ โปรแกรมภาษาจาวาให้เ ป็น โปรแกรมไบท์โ ค้ด ซึ่ง จะใช้อ ิน เตอร์พ รีต เตอร์ (JVM) ในการแปลโปร แกรมไบท์โ ค้ด ให้เ ป็น ภาษาเครื่อ ง โปรแกรมภาษาจาวาสามารถทำา งานข้า ม แพลตฟอร์ม ได้ถ า ระบบคอมพิว เตอร์น ั้น มี JVM อยู่ ้ แพลตฟอร์ม ของจาวาประกอบไปด้ว ย JVM และ
  39. 39. สรุป เนื้อ หาของบท ชุด พัฒ นาโปรแกรมภาษาจาวา Java 2 SDK ประกอบไปด้ว ยโปรแกรมต่า งๆทีส ำา คัญ คือ ่ โปรแกรมคอมไพเลอร์ (javac.exe) และโปรแกรม อิน เตอร์ พรีต เตอร์ (java.exe) โปรแกรมจาวาทีอ ยูบ นแพลตฟอร์ม ่ ่ J2SE สามารถ พัฒ นาได้ส องรูป แบบคือ โปรแกรมจาวาประยุก ต์ ซึ่ง จะทำา งานภายใต้ JVM โดยตรง และโปรแกรม จาวาแอปเพล็ต ซึ่ง จะทำา งานภายใต้เ ว็บ บราวเซอร์ท ม ี JVM ี่ คู่ม อ ื Java API จะช่ว ยในการค้น หารายละเอีย ด ของแพคเก็จ และคลาสต่า งๆทีม อ ยูใ นชุด พัฒ นา ่ ี ่ โปรแกรม Java 2 SDK
  40. 40. แบบฝึก หัด แบบฝึก หัด ที่ 1 การเขีย นโปรแกรมจาวาประยุก ต์ อย่า งง่า ย • เขีย นโปรแกรมจาวาประยุก ต์เ พื่อ แสดงข้อ ความ Hello World แบบฝึก หัด ที่ 2 การเขีย นโปรแกรมจาวาแอปเพล็ ตอย่า งง่า ย • เขีย นโปรแกรมจาวาแอปเพล็ต เพื่อ แสดงข้อ ความ Welcome to Java แบบฝึก หัด ที่ 3 การใช้ค ู่ม อ Java API ื

×