• Like
  • Save
Java Programming [1/12] : Introduction
Upcoming SlideShare
Loading in...5
×

Java Programming [1/12] : Introduction

  • 523 views
Uploaded on

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

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

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
523
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
5

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. บทที่ 1ความรู้เ บื้อ งต้น ของภาษา จาวา (Introduction to Java Programming) อ.ธนิศ า เครือ ไวศยวรรณ คณะเทคโนโลยีส ารสนเทศ
  • 2. วัต ถุป ระสงค์ แนะนำา ความแตกต่า งระหว่า งภาษาเชิง กระบวนการ และภาษาเชิง ออปเจ็ค แนะนำา ประวัต ิโ ดยย่อ และเทคโนโลยีจ าวา อธิบ ายหลัก การของ Java Virtual Machine (JVM) และ Java Platform แนะนำา ซอฟต์แ วร์ท ใ ช้ใ นการพัฒ นา โปรแกรม ี่ ภาษาจาวา แนะนำา จุด เด่น ของภาษา อธิบ ายและแสดงตัว อย่า งของโปรแกรมจาวา ประยุก ต์แ ละ โปรแกรมจาวา แอปเพล็ต
  • 3. ภาษา เชิง กระบวนการ และภาษา เชิง ออปเจ็ค ภาษาเชิง กระบวนการ • โปรแกรมจะแบ่ง ออกเป็น ส่ว นย่อ ยๆที่เ รีย กว่า โมดูล (module) • แต่ล ะโมดูล จะต้อ งเป็น อิส ระต่อ กัน • การออกแบบให้แ ต่ล ะโมดูล มีค วามเป็น อิส ระต่อ กัน นั้น ทำา ได้ย าก • ต้น ทุน ในการพัฒ นาโปรแกรมสูง ภาษาเชิง ออปเจ็ค • การพัฒ นาโปรแกรมเป็น การเลีย นแบบการทำา งานเชิง ออปเจ็ค • สามารถนำา โปรแกรมกลับ มาใช้ใ หม่ (reuse) ได้ด ีก ว่า ภาษาเชิง กระบวนการ
  • 4. โปรแกรมเชิง ออปเจ็ค วิเ คราะห์ป ัญ หาโดยมองปัญ หาว่า ประกอบไปด้ว ย ออปเจ็ค ต่า งๆ จำา ลองคุณ ลัก ษณะและพฤติก รรมของออปเจ็ค ออปเจ็ค จะส่ง ข้อ มูล กัน โดยผ่า นข่า วสาร (Message) แตกต่า งจากภาษาเชิง กระบวนการทีว ิเ คราะห์ ่ ปัญ หาโดยพิจ ารณาจากลำา ดับ การทำา งานและ แบ่ง การทำา งานของโปรแกรมตามฟัง ก์ช ัน ต่า งๆ
  • 5. ระบบทะเบีย นนัก ศึก ษา วิธ ีก ารเชิง  วิธ ีแ บบเชิง ออปเจ็ค กระบวนการ • นัก ศึก ษา • ลงทะเบีย นรายวิช า • ใบลงทะเบีย น • ชำา ระเงิน • รายชื่อ รายวิช า • เพิ่ม วิช า
  • 6. ออปเจ็ค ชนิด นัก ศึก ษา คุณ ลัก ษณะ • ชื่อ • รหัส นัก ศึก ษา • เกรดเฉลี่ย พฤติก รรม • ลงทะเบีย น • เพิ่ม หรือ ถอนวิช า
  • 7. ข้อ ดีข องการพัฒ นาโปรแกรมเชิง ออปเจ็ค แนวคิด การวิเ คราะห์ป ัญ หาใกล้เ คีย งกับ ธรรมชาติ ของมนุษ ย์ ระบบจริง (real life) แบ่ง ตามออปเจ็ค ไม่ไ ด้ข ึ้น อยูก ับ ฟัง ก์ช ั่ น การทำา งาน ่ ่ ขบวนการพัฒ นาโปรแกรมทำา ได้ร วดเร็ว ขึน ้ ง่า ยต่อ การพัฒ นาและแก้ไ ข นำา โปรแกรมกลับ มาใช้ใ หม่ไ ด้ง ่า ย
  • 8. ประวัต ิข องภาษาจาวา พัฒ นาขึ้น โดยทีม วิจ ย ของบริษ ัท ซัน ไมโครซิส เต็ม ั ส์ (Sun Microsystems) พัฒ นามาจากโครงการทีต ้อ งการพัฒ นาระบบ ่ ซอฟต์แ วร์เ พือ ควบคุม เครื่อ งใช้ไ ฟฟ้า ขนาดเล็ก ่ ภายในบ้า น ชื่อ เดิม คือ ภาษา Oak ต่อ มาเปลี่ย นชื่อ เป็น ภาษา จาวา ภาษาจาวาเริ่ม เป็น ทีน ย มแพร่ห ลายในปี ่ ิ ค .ศ. 1995 ภาษาจาวาเป็น ภาษาทีไ ม่ข ึ้น กับ แพลตฟอร์ม ่ (platform independent)
  • 9. องค์ป ระกอบของเทคโนโลยีจ าวา JVM (Java Virtual Machine) • ทำา หน้า ที่เ ป็น อิน เตอร์พ รีต เตอร์ JRE (Java Runtime Environment) • ใช้ใ นการรัน โปรแกรม J2SDK (Java 2 Software Development Kit) • เป็น ชุด พัฒ นาโปรแกรมภาษาจาวา
  • 10. JVM จาวาเทคโนโลยีใ ช้ท ง คอมไพเลอร์แ ละอิน เตอร์ ั้ พรีต เตอร์ ในการคอมไพล์แ ละรัน โปรแกรม โปรแกรมภาษาจาวามีซ อร์ด โค้ด เป็น.java และ จะแปลเป็น โปรแกรม ไบท์โ ค้ด (byte code) ทีเ ป็น ่ .class โปรแกรมไบท์โ ค้ด จะรัน บน ระบบ คอมพิว เตอร์ โดยใช้ JVM (Java Virtual Machine) ทีเ ป็น อิน ่ เตอร์พ รีต เตอร์ ซึ่ง จะแปลโปรแกรมไบท์โ ค้ด ให้ เป็น ภาษาเครื่อ งทีข ึ้น อยูก ับ แพลตฟอร์ม นั้น ่ ่
  • 11. JVM เครื่อ งคอมพิว เตอร์ท จ ะสามารถรัน โปรแกรมไบท์ ี่ โค้ด ได้จ ะต้อ งมี JVM อยู่ JVM อาจเป็น ซอฟต์แ วร์ห รือ ฮาร์ด แวร์ ในปัจ จุบ ัน JVM มีอ ยู่ใ น • ระบบปฏิบ ัต ิก ารคอมพิว เตอร์ต ่า งๆ • โปรแกรมเว็บ บราวเซอร์ • เครื่อ งใช้ไ ฟฟ้า ต่า งๆ • โทรศัพ ท์ • เครื่อ งมือ สื่อ สาร • สมาร์ท การ์ด
  • 12. ขั้น ตอนการทำา งานของโปรแกรม ภาษาจาวา
  • 13. JRE JRE จะรัน โค้ด ทีแ ปลมาจาก JVM โดยจะทำา งาน 3 ่ ขั้น ตอน คือ • โหลดไบท์โ ค้ด โดยใช้ Class Loader • ตรวจสอบไบท์โ ค้ด โดยใช้ Byte Code Verifier • รัน ไบท์โ ค้ด โดยใช้ Runtime Interpreter
  • 14. ขั้น ตอนการทำา งานของ JRE
  • 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. 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. จุด เด่น ของภาษาจาวา ความง่า ย (simple) ภาษาเชิง ออปเจ็ค (object oriented) การกระจาย (distributed) การป้อ งกัน การผิด พลาด (robust) ความปลอดภัย (secure) สถาปัต ยกรรมกลาง (architecture neutral) เคลื่อ นย้า ยง่า ย (portable)
  • 18. จุด เด่น ของภาษาจาวา อิน เตอร์พ รีต (interpreted) ประสิท ธิภ าพสูง (high performance) มัล ติเ ธรด (multithreaded) พลวัต (dynamic)
  • 19. Java Platform แพลตฟอร์ม ก็ค ือ ฮาร์ด แวร์แ ละ software environment ทีจ ะใช้ใ นการรัน โปรแกรม ่ แพลตฟอร์ม ของภาษาจาวาประกอบด้ว ย • Java Virtual Machine • Java Application Programming Interface (Java API)
  • 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. 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. Java SE
  • 23. Java EE
  • 24. Java ME
  • 25. โปรแกรมจาวา โปรแกรมจาวาประยุก ต์ (Java Application) • โปรแกรมใช้ง านทั่ว ไป • โปรแกรมทำา งานภายใต้จ าวาอิน เตอร์พ รีต เตอร์ • โปรแกรมแบบ Standalone โปรแกรมจาวาแอปเพล็ต (Java Applet) • โปรแกรมที่ท ำา งานภายใต้โ ปรแกรมเวบ บราวเซอร์ที่ม ี JVM
  • 26. การสร้า งโปรแกรมจาวาประยุก ต์ เขีย นซอร์ด โค้ด  HelloWorld.java คอมไพล์โ ปรแกรม javac HelloWorld.java → HelloWorld.class รัน โปรแกรม java HelloWorld
  • 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. ตัว อย่า งการใช้ Java IDE
  • 29. รูป แสดงขั้น ตอนการทำา งาน
  • 30. การสร้า งโปรแกรมจาวาแอปเพล็ต โปรแกรมจาวาแอปเพล็ต จะมีไ ฟล์ท เ ขีย นขึ้น สอง ี่ ไฟล์ค ือ • โปรแกรมซอร์ด โค้ด (.java) • โปรแกรมเว็บ เพจ (.html) ขั้น ตอนการทำา งาน • เขีย นโปรแกรมซอร์ด โค้ด  HelloWorldApplet.java • คอมไพล์โ ปรแกรม  HelloWorldApplet.class • ใช้โ ปรแกรมเว็บ บราวเซอร์ใ ดๆเปิด โปรแกรม HelloWorld.html
  • 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. 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. รูป แสดงขั้น ตอนการทำา งาน
  • 34. ตัว อย่า งการรัน โปรแกรมบนเว็บ บราวเซอร์
  • 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. คู่ม ือ Java API Java API เป็น ข้อ กำา หนดทีว ่า ด้ว ยคลาสและ ่ อิน เตอร์เ ฟสต่า งๆทีก ำา หนดไว้ใ นแพคเก็จ มาตรา ่ ฐานของภาษาจาวา คู่ม อ ื Java API จะแสดงรายละเอีย ดต่า งๆของ คลาสหรือ อิน เตอร์เ ฟสดัง นี้ • ลำา ดับ การสืบ ทอดของคลาส • คำา อธิบ ายเกี่ย วกับ คลาสและจุด ประสงค์ท ั่ว ไป • รายชื่อ คุณ ลัก ษณะต่า งๆ ของคลาส • รายชื่อ เมธอดต่า งๆ ของคลาส • รายชื่อ Constructor ต่า งๆ ของคลาส • คำา อธิบ ายรายละเอีย ดของคุณ ลัก ษณะแต่ล ะตัว ของ คลาส • คำา อธิบ ายรายละเอีย ดของเมธอดแต่ล ะตัว ของคลาส • คำา อธิบ ายรายละเอีย ดของ Constructor แต่ล ะตัว ของ
  • 37. ตัว อย่า ง Java API
  • 38. สรุป เนื้อ หาของบท ภาษาระดับ สูง แบ่ง ออกเป็น สองประเภทคือ ภาษา เชิง กระบวนการ และภาษาเชิง ออปเจ็ค ภาษาจาวาเป็น ภาษาเชิง ออปเจ็ค ทีใ ช้ท ง ตัว แปล ่ ั้ ภาษาแบบคอมไพเลอร์แ ละอิน เตอร์พ รีต เตอร์ใ น การคอมไพล์แ ละรัน โปรแกรม คอมไพเลอร์ข องภาษาจาวาจะทำา หน้า ทีแ ปล ่ โปรแกรมภาษาจาวาให้เ ป็น โปรแกรมไบท์โ ค้ด ซึ่ง จะใช้อ ิน เตอร์พ รีต เตอร์ (JVM) ในการแปลโปร แกรมไบท์โ ค้ด ให้เ ป็น ภาษาเครื่อ ง โปรแกรมภาษาจาวาสามารถทำา งานข้า ม แพลตฟอร์ม ได้ถ า ระบบคอมพิว เตอร์น ั้น มี JVM อยู่ ้ แพลตฟอร์ม ของจาวาประกอบไปด้ว ย JVM และ
  • 39. สรุป เนื้อ หาของบท ชุด พัฒ นาโปรแกรมภาษาจาวา Java 2 SDK ประกอบไปด้ว ยโปรแกรมต่า งๆทีส ำา คัญ คือ ่ โปรแกรมคอมไพเลอร์ (javac.exe) และโปรแกรม อิน เตอร์ พรีต เตอร์ (java.exe) โปรแกรมจาวาทีอ ยูบ นแพลตฟอร์ม ่ ่ J2SE สามารถ พัฒ นาได้ส องรูป แบบคือ โปรแกรมจาวาประยุก ต์ ซึ่ง จะทำา งานภายใต้ JVM โดยตรง และโปรแกรม จาวาแอปเพล็ต ซึ่ง จะทำา งานภายใต้เ ว็บ บราวเซอร์ท ม ี JVM ี่ คู่ม อ ื Java API จะช่ว ยในการค้น หารายละเอีย ด ของแพคเก็จ และคลาสต่า งๆทีม อ ยูใ นชุด พัฒ นา ่ ี ่ โปรแกรม Java 2 SDK
  • 40. แบบฝึก หัด แบบฝึก หัด ที่ 1 การเขีย นโปรแกรมจาวาประยุก ต์ อย่า งง่า ย • เขีย นโปรแกรมจาวาประยุก ต์เ พื่อ แสดงข้อ ความ Hello World แบบฝึก หัด ที่ 2 การเขีย นโปรแกรมจาวาแอปเพล็ ตอย่า งง่า ย • เขีย นโปรแกรมจาวาแอปเพล็ต เพื่อ แสดงข้อ ความ Welcome to Java แบบฝึก หัด ที่ 3 การใช้ค ู่ม อ Java API ื