SlideShare a Scribd company logo
บทที่ 1
ความรู้เ บื้อ งต้น ของภาษา
            จาวา
 (Introduction to Java
    Programming)

  อ.ธนิศ า เครือ ไวศยวรรณ
 คณะเทคโนโลยีส ารสนเทศ
วัต ถุป ระสงค์
 แนะนำา ความแตกต่า งระหว่า งภาษาเชิง
 กระบวนการ และภาษาเชิง ออปเจ็ค
 แนะนำา ประวัต ิโ ดยย่อ และเทคโนโลยีจ าวา

 อธิบ ายหลัก การของ
                   Java Virtual Machine
 (JVM) และ Java Platform
 แนะนำา ซอฟต์แ วร์ท ใ ช้ใ นการพัฒ นา โปรแกรม
                     ี่
 ภาษาจาวา
 แนะนำา จุด เด่น ของภาษา

 อธิบ ายและแสดงตัว อย่า งของโปรแกรมจาวา
 ประยุก ต์แ ละ โปรแกรมจาวา       แอปเพล็ต
ภาษา เชิง กระบวนการ และภาษา
            เชิง ออปเจ็ค
 ภาษาเชิง กระบวนการ
  • โปรแกรมจะแบ่ง ออกเป็น ส่ว นย่อ ยๆที่เ รีย กว่า โมดูล
    (module)
  • แต่ล ะโมดูล จะต้อ งเป็น อิส ระต่อ กัน
  • การออกแบบให้แ ต่ล ะโมดูล มีค วามเป็น อิส ระต่อ กัน นั้น
    ทำา ได้ย าก
  • ต้น ทุน ในการพัฒ นาโปรแกรมสูง

 ภาษาเชิง ออปเจ็ค
  • การพัฒ นาโปรแกรมเป็น การเลีย นแบบการทำา งานเชิง
    ออปเจ็ค
  • สามารถนำา โปรแกรมกลับ มาใช้ใ หม่ (reuse) ได้ด ีก ว่า
    ภาษาเชิง กระบวนการ
โปรแกรมเชิง ออปเจ็ค
 วิเ คราะห์ป ัญ หาโดยมองปัญ หาว่า ประกอบไปด้ว ย
 ออปเจ็ค ต่า งๆ
 จำา ลองคุณ ลัก ษณะและพฤติก รรมของออปเจ็ค

 ออปเจ็ค จะส่ง ข้อ มูล กัน โดยผ่า นข่า วสาร
 (Message)
 แตกต่า งจากภาษาเชิง กระบวนการทีว ิเ คราะห์
                                 ่
 ปัญ หาโดยพิจ ารณาจากลำา ดับ การทำา งานและ แบ่ง
 การทำา งานของโปรแกรมตามฟัง ก์ช ัน ต่า งๆ
ระบบทะเบีย นนัก ศึก ษา
 วิธ ีก ารเชิง              วิธ ีแ บบเชิง ออปเจ็ค
  กระบวนการ                    •   นัก ศึก ษา
   •   ลงทะเบีย นรายวิช า      •   ใบลงทะเบีย น
   •   ชำา ระเงิน              •   รายชื่อ รายวิช า
   •   เพิ่ม วิช า
ออปเจ็ค ชนิด นัก ศึก ษา
 คุณ ลัก ษณะ
  • ชื่อ
  • รหัส นัก ศึก ษา
  • เกรดเฉลี่ย

 พฤติก รรม
  • ลงทะเบีย น
  • เพิ่ม หรือ ถอนวิช า
ข้อ ดีข องการพัฒ นาโปรแกรมเชิง
              ออปเจ็ค
 แนวคิด การวิเ คราะห์ป ัญ หาใกล้เ คีย งกับ ธรรมชาติ
 ของมนุษ ย์
 ระบบจริง    (real life) แบ่ง ตามออปเจ็ค ไม่ไ ด้ข ึ้น
 อยูก ับ ฟัง ก์ช ั่ น การทำา งาน
    ่               ่
 ขบวนการพัฒ นาโปรแกรมทำา ได้ร วดเร็ว ขึน
                                        ้
 ง่า ยต่อ การพัฒ นาและแก้ไ ข

 นำา โปรแกรมกลับ มาใช้ใ หม่ไ ด้ง ่า ย
ประวัต ิข องภาษาจาวา
 พัฒ นาขึ้น โดยทีม วิจ ย ของบริษ ัท ซัน ไมโครซิส เต็ม
                        ั
  ส์ (Sun Microsystems)
 พัฒ นามาจากโครงการทีต ้อ งการพัฒ นาระบบ
                      ่
  ซอฟต์แ วร์เ พือ ควบคุม เครื่อ งใช้ไ ฟฟ้า ขนาดเล็ก
                ่
  ภายในบ้า น
 ชื่อ เดิม คือ ภาษา   Oak ต่อ มาเปลี่ย นชื่อ เป็น ภาษา
  จาวา
 ภาษาจาวาเริ่ม เป็น ทีน ย มแพร่ห ลายในปี
                       ่ ิ                      ค .ศ.
  1995
 ภาษาจาวาเป็น ภาษาทีไ ม่ข ึ้น กับ แพลตฟอร์ม
                     ่
  (platform independent)
องค์ป ระกอบของเทคโนโลยีจ าวา
 JVM    (Java Virtual Machine)
  • ทำา หน้า ที่เ ป็น อิน เตอร์พ รีต เตอร์


 JRE   (Java Runtime Environment)
  • ใช้ใ นการรัน โปรแกรม


 J2SDK    (Java 2 Software Development Kit)
  • เป็น ชุด พัฒ นาโปรแกรมภาษาจาวา
JVM
 จาวาเทคโนโลยีใ ช้ท ง คอมไพเลอร์แ ละอิน เตอร์
                     ั้
 พรีต เตอร์ ในการคอมไพล์แ ละรัน โปรแกรม
 โปรแกรมภาษาจาวามีซ อร์ด โค้ด เป็น.java และ
 จะแปลเป็น โปรแกรม ไบท์โ ค้ด (byte code) ทีเ ป็น
                                           ่
 .class
 โปรแกรมไบท์โ ค้ด จะรัน บน ระบบ คอมพิว เตอร์
 โดยใช้ JVM (Java Virtual Machine) ทีเ ป็น อิน ่
 เตอร์พ รีต เตอร์ ซึ่ง จะแปลโปรแกรมไบท์โ ค้ด ให้
 เป็น ภาษาเครื่อ งทีข ึ้น อยูก ับ แพลตฟอร์ม นั้น
                      ่      ่
JVM
 เครื่อ งคอมพิว เตอร์ท จ ะสามารถรัน โปรแกรมไบท์
                        ี่
  โค้ด ได้จ ะต้อ งมี JVM อยู่
 JVM   อาจเป็น ซอฟต์แ วร์ห รือ ฮาร์ด แวร์
 ในปัจ จุบ ัน   JVM มีอ ยู่ใ น
   • ระบบปฏิบ ัต ิก ารคอมพิว เตอร์ต ่า งๆ
   • โปรแกรมเว็บ บราวเซอร์
   • เครื่อ งใช้ไ ฟฟ้า ต่า งๆ
   • โทรศัพ ท์
   • เครื่อ งมือ สื่อ สาร
   • สมาร์ท การ์ด
ขั้น ตอนการทำา งานของโปรแกรม
          ภาษาจาวา
JRE
 JRE  จะรัน โค้ด ทีแ ปลมาจาก JVM โดยจะทำา งาน 3
                    ่
 ขั้น ตอน คือ
  • โหลดไบท์โ ค้ด โดยใช้ Class Loader
  • ตรวจสอบไบท์โ ค้ด โดยใช้ Byte Code Verifier
  • รัน ไบท์โ ค้ด โดยใช้ Runtime Interpreter
ขั้น ตอนการทำา งานของ JRE
J2SDK
 Java   2 SDK (Software Development Kit)
 เดิม ชื่อ
         JDK แต่ต ่อ มาเปลี่ย นชื่อ เป็น Java 2 ตั้ง แต่
  JDK 1.2
 โปรแกรม     Java 2 SDK
   • javac.exe   : โปรแกรมคอมไพเลอร์
   • java.exe    : โปรแกรมอิน เตอร์พ รีต เตอร์ (JVM)
 Java   2 SDK ไม่ม โ ปรแกรมอิด ีเ ตอร์
                    ี
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 (
จุด เด่น ของภาษาจาวา
 ความง่า ย   (simple)
 ภาษาเชิง ออปเจ็ค       (object oriented)
 การกระจาย      (distributed)
 การป้อ งกัน การผิด พลาด         (robust)
 ความปลอดภัย          (secure)
 สถาปัต ยกรรมกลาง         (architecture neutral)
 เคลื่อ นย้า ยง่า ย   (portable)
จุด เด่น ของภาษาจาวา
 อิน เตอร์พ รีต   (interpreted)
 ประสิท ธิภ าพสูง   (high performance)
 มัล ติเ ธรด   (multithreaded)
 พลวัต   (dynamic)
Java Platform
 แพลตฟอร์ม ก็ค ือ
                 ฮาร์ด แวร์แ ละ software
 environment ทีจ ะใช้ใ นการรัน โปรแกรม
               ่
 แพลตฟอร์ม ของภาษาจาวาประกอบด้ว ย
  • Java   Virtual Machine
  • Java   Application Programming Interface (Java
    API)
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)
JavaTM 2 Platform
                           Java Platform Micro Edition
                                    (Java ME)


 Optional
 Packages

                Optional
               Packages


                             Personal     Personal
  Java         Java           Basis
                                           Profile
                              Profile
Enterprise   Standard
                                 Foundation          MIDP
 Edition      Edition              Profile
(Java EE)    (Java SE)                                       Java
                                        CDC          CLDC    Card

                       JVM                           KVM    Card VM
Java SE
Java EE
Java ME
โปรแกรมจาวา
 โปรแกรมจาวาประยุก ต์      (Java Application)
  • โปรแกรมใช้ง านทั่ว ไป
  • โปรแกรมทำา งานภายใต้จ าวาอิน เตอร์พ รีต เตอร์
  • โปรแกรมแบบ Standalone

 โปรแกรมจาวาแอปเพล็ต        (Java Applet)
  • โปรแกรมที่ท ำา งานภายใต้โ ปรแกรมเวบ บราวเซอร์ที่ม ี
   JVM
การสร้า งโปรแกรมจาวาประยุก ต์
 เขีย นซอร์ด โค้ด       HelloWorld.java
 คอมไพล์โ ปรแกรม

    javac HelloWorld.java

    →     HelloWorld.class

 รัน โปรแกรม

    java HelloWorld
HelloWorld.java

public 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");
    }}
}}
ตัว อย่า งการใช้ Java IDE
รูป แสดงขั้น ตอนการทำา งาน
การสร้า งโปรแกรมจาวาแอปเพล็ต
 โปรแกรมจาวาแอปเพล็ต จะมีไ ฟล์ท เ ขีย นขึ้น สอง
                                 ี่
 ไฟล์ค ือ
  • โปรแกรมซอร์ด โค้ด (.java)
  • โปรแกรมเว็บ เพจ (.html)

 ขั้น ตอนการทำา งาน
  • เขีย นโปรแกรมซอร์ด โค้ด  HelloWorldApplet.java
  • คอมไพล์โ ปรแกรม  HelloWorldApplet.class
  • ใช้โ ปรแกรมเว็บ บราวเซอร์ใ ดๆเปิด โปรแกรม
    HelloWorld.html
HelloWorldApplet.java

import 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);
     }}
}}
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>
รูป แสดงขั้น ตอนการทำา งาน
ตัว อย่า งการรัน โปรแกรมบนเว็บ
            บราวเซอร์
Java API Documentation
 เอกสารในรูป แบบของ     HTML ทีอ ธิบ ายข้อ มูล
                                ่
  เกีย วกับ API (Application Programming
     ่
  Interface) ของภาษาจาวา
 สามารถทีจ ะ
          ่   download ได้จ าก
  http://java.sun.com
 เรีย กดู
         online ได้ท ี่
  http://java.sun.com/j2se/1.5.0/docs/api
คู่ม ือ Java API
 Java  API เป็น ข้อ กำา หนดทีว ่า ด้ว ยคลาสและ
                               ่
  อิน เตอร์เ ฟสต่า งๆทีก ำา หนดไว้ใ นแพคเก็จ มาตรา
                        ่
  ฐานของภาษาจาวา
 คู่ม อ
       ื
      Java API จะแสดงรายละเอีย ดต่า งๆของ
  คลาสหรือ อิน เตอร์เ ฟสดัง นี้
   • ลำา ดับ การสืบ ทอดของคลาส
   • คำา อธิบ ายเกี่ย วกับ คลาสและจุด ประสงค์ท ั่ว ไป
   • รายชื่อ คุณ ลัก ษณะต่า งๆ ของคลาส
   • รายชื่อ เมธอดต่า งๆ ของคลาส
   • รายชื่อ Constructor ต่า งๆ ของคลาส
   • คำา อธิบ ายรายละเอีย ดของคุณ ลัก ษณะแต่ล ะตัว ของ
     คลาส
   • คำา อธิบ ายรายละเอีย ดของเมธอดแต่ล ะตัว ของคลาส
   • คำา อธิบ ายรายละเอีย ดของ Constructor แต่ล ะตัว ของ
ตัว อย่า ง Java API
สรุป เนื้อ หาของบท
 ภาษาระดับ สูง แบ่ง ออกเป็น สองประเภทคือ   ภาษา
  เชิง กระบวนการ และภาษาเชิง ออปเจ็ค
 ภาษาจาวาเป็น ภาษาเชิง ออปเจ็ค ทีใ ช้ท ง ตัว แปล
                                        ่   ั้
  ภาษาแบบคอมไพเลอร์แ ละอิน เตอร์พ รีต เตอร์ใ น
  การคอมไพล์แ ละรัน โปรแกรม
 คอมไพเลอร์ข องภาษาจาวาจะทำา หน้า ทีแ ปล      ่
  โปรแกรมภาษาจาวาให้เ ป็น โปรแกรมไบท์โ ค้ด
  ซึ่ง จะใช้อ ิน เตอร์พ รีต เตอร์ (JVM) ในการแปลโปร
  แกรมไบท์โ ค้ด ให้เ ป็น ภาษาเครื่อ ง
 โปรแกรมภาษาจาวาสามารถทำา งานข้า ม
  แพลตฟอร์ม ได้ถ า ระบบคอมพิว เตอร์น ั้น มี JVM อยู่
                     ้
 แพลตฟอร์ม ของจาวาประกอบไปด้ว ย JVM และ
สรุป เนื้อ หาของบท
 ชุด พัฒ นาโปรแกรมภาษาจาวา       Java 2 SDK
  ประกอบไปด้ว ยโปรแกรมต่า งๆทีส ำา คัญ คือ
                                   ่
  โปรแกรมคอมไพเลอร์ (javac.exe) และโปรแกรม
  อิน เตอร์ พรีต เตอร์ (java.exe)
 โปรแกรมจาวาทีอ ยูบ นแพลตฟอร์ม
               ่ ่                 J2SE สามารถ
  พัฒ นาได้ส องรูป แบบคือ โปรแกรมจาวาประยุก ต์
  ซึ่ง จะทำา งานภายใต้ JVM โดยตรง และโปรแกรม
  จาวาแอปเพล็ต ซึ่ง จะทำา งานภายใต้เ ว็บ
  บราวเซอร์ท ม ี JVM
                ี่
 คู่ม อ
       ื
      Java API จะช่ว ยในการค้น หารายละเอีย ด
  ของแพคเก็จ และคลาสต่า งๆทีม อ ยูใ นชุด พัฒ นา
                            ่ ี ่
  โปรแกรม Java 2 SDK
แบบฝึก หัด
 แบบฝึก หัด ที่   1 การเขีย นโปรแกรมจาวาประยุก ต์
 อย่า งง่า ย
   • เขีย นโปรแกรมจาวาประยุก ต์เ พื่อ แสดงข้อ ความ   Hello
    World
 แบบฝึก หัด ที่   2 การเขีย นโปรแกรมจาวาแอปเพล็
 ตอย่า งง่า ย
   • เขีย นโปรแกรมจาวาแอปเพล็ต เพื่อ แสดงข้อ ความ
    Welcome to Java
 แบบฝึก หัด ที่   3 การใช้ค ู่ม อ Java API
                                 ื

More Related Content

PDF
ปัญญาประดิษฐ์ Artificial intelligence
PPT
Java Programming [2/12] : Overview of Java Programming Language
PPT
Java Programming [5/12] : Build Graphical User Interface
PDF
01 บทที่ 1-บทนำ
PPTX
หน่วยที่ 1 พื้นฐานระบบเครือข่ายคอมพิวเตอร์
PDF
คำนำ
PPTX
วิชาพุทธปรัชญา : ความรู้เบื้องต้นเกี่ยวกับพระพุทธศาสนาและปรัชญา
PDF
9 บทที่ 4 ผลการดำเนินงาน
ปัญญาประดิษฐ์ Artificial intelligence
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [5/12] : Build Graphical User Interface
01 บทที่ 1-บทนำ
หน่วยที่ 1 พื้นฐานระบบเครือข่ายคอมพิวเตอร์
คำนำ
วิชาพุทธปรัชญา : ความรู้เบื้องต้นเกี่ยวกับพระพุทธศาสนาและปรัชญา
9 บทที่ 4 ผลการดำเนินงาน

What's hot (20)

PDF
ตัวอย่างการสร้างข้อสอบ
PPTX
โครงงานสถานที่ท่องเที่ยวในอาเซียน
PDF
เถ้าแก่น้อย บ่าย
PDF
อุปกรณ์รับและแสดงผล
PDF
ตัวอย่างสารบัญ เล่มโปรเจ็ค
PDF
Casestudy การศึกษารายกรณี
PDF
ความหมาย ความสำคัญของหลักสูตร
PPT
นำเสนอทวีปเอเชีย
PPTX
ระบบจัดการร้านเบเกอรี่
PDF
การจัดการชั้นเรียนและสิ่งเเวดล้อมเพื่อการเรียนรู้ กลุ่ม 3
PDF
ภาคผนวกโครงงานกล้อง
PDF
แผนการสอนการงานอาชีพ ป.6
PPTX
บทที่ 3 ความแตกต่างระหว่างปรัชญากับศาสนา
PDF
บทที่ 2 เอกสารที่เกี่ยวข้อง
PPT
ปรัชญาพิพัฒนาการนิยม
PDF
แบบฝึกหัดที่ 3 Microsoft PowerPoint
PDF
งานนำเสนอแรงจูงใจ กลุ่ม 2
PDF
ทฤษฎีการออกแบบเว็บไซต์
PDF
5การประเมินจากแฟ้มสะสมงาน(week5)
PDF
ข่าวปลอม (Fake News) - Check ก่อน Share Part 4 สร้างทักษะรู้เท่าทันข่าวเพื่อร...
ตัวอย่างการสร้างข้อสอบ
โครงงานสถานที่ท่องเที่ยวในอาเซียน
เถ้าแก่น้อย บ่าย
อุปกรณ์รับและแสดงผล
ตัวอย่างสารบัญ เล่มโปรเจ็ค
Casestudy การศึกษารายกรณี
ความหมาย ความสำคัญของหลักสูตร
นำเสนอทวีปเอเชีย
ระบบจัดการร้านเบเกอรี่
การจัดการชั้นเรียนและสิ่งเเวดล้อมเพื่อการเรียนรู้ กลุ่ม 3
ภาคผนวกโครงงานกล้อง
แผนการสอนการงานอาชีพ ป.6
บทที่ 3 ความแตกต่างระหว่างปรัชญากับศาสนา
บทที่ 2 เอกสารที่เกี่ยวข้อง
ปรัชญาพิพัฒนาการนิยม
แบบฝึกหัดที่ 3 Microsoft PowerPoint
งานนำเสนอแรงจูงใจ กลุ่ม 2
ทฤษฎีการออกแบบเว็บไซต์
5การประเมินจากแฟ้มสะสมงาน(week5)
ข่าวปลอม (Fake News) - Check ก่อน Share Part 4 สร้างทักษะรู้เท่าทันข่าวเพื่อร...
Ad

Viewers also liked (11)

PDF
Java Programming: การจัดการกับเหตุการณ์กราฟิก
PDF
Java Programming: คลาสอินพุตและเอาต์พุต
PDF
Java Programming: การจัดการกับข้อผิดพลาด
PPT
ระบบปฏิบัติการ.Ppt
PDF
PPT
Computer Network
PDF
Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์
PDF
Planning on Mobile Strategy
PDF
ระบบปฏิบัติการ
PPTX
องค์ประกอบของระบบปฏิบัติการ
Java Programming: การจัดการกับเหตุการณ์กราฟิก
Java Programming: คลาสอินพุตและเอาต์พุต
Java Programming: การจัดการกับข้อผิดพลาด
ระบบปฏิบัติการ.Ppt
Computer Network
Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์
Planning on Mobile Strategy
ระบบปฏิบัติการ
องค์ประกอบของระบบปฏิบัติการ
Ad

Similar to Java Programming [1/12] : Introduction (20)

PDF
ความรู้เบื้องต้นภาษาจาวา
PDF
Introduction to Java Programming
PDF
1.Introduction to java
PPT
พื้นฐานภาษาจาวา
PPT
รู้จักกับภาษาจาวา
PDF
Eclipse
PDF
Unit 2 Java Programming
PDF
Intermediate Java Programming Language (in Thai)
PPTX
ภาษาJava
PPTX
Lab Computer Programming 1
PPTX
ภาษาจาวา 1
PPTX
Computer Programming 1
PPT
Java intro
PPT
บทที่ 2 เตรียมตัวให้พร้อมก่อนเขียนโปรแกรม java
PDF
ภาษาคอมพิวเตอร์และการพัฒนาโปรแกรม
PPTX
พื้นฐานภาษาจาวา
PPTX
พื้นฐานภาษาจาวา
PPTX
พื้นฐานภาษาจาวา
PPT
Java Programming [10/12]: Java Applet
ความรู้เบื้องต้นภาษาจาวา
Introduction to Java Programming
1.Introduction to java
พื้นฐานภาษาจาวา
รู้จักกับภาษาจาวา
Eclipse
Unit 2 Java Programming
Intermediate Java Programming Language (in Thai)
ภาษาJava
Lab Computer Programming 1
ภาษาจาวา 1
Computer Programming 1
Java intro
บทที่ 2 เตรียมตัวให้พร้อมก่อนเขียนโปรแกรม java
ภาษาคอมพิวเตอร์และการพัฒนาโปรแกรม
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
Java Programming [10/12]: Java Applet

More from IMC Institute (20)

PDF
นิตยสาร Digital Trends ฉบับที่ 14
PDF
Digital trends Vol 4 No. 13 Sep-Dec 2019
PDF
บทความ The evolution of AI
PDF
IT Trends eMagazine Vol 4. No.12
PDF
เพราะเหตุใด Digitization ไม่ตอบโจทย์ Digital Transformation
PDF
IT Trends 2019: Putting Digital Transformation to Work
PDF
มูลค่าตลาดดิจิทัลไทย 3 อุตสาหกรรม
PDF
IT Trends eMagazine Vol 4. No.11
PDF
แนวทางการทำ Digital transformation
PDF
บทความ The New Silicon Valley
PDF
นิตยสาร IT Trends ของ IMC Institute ฉบับที่ 10
PDF
แนวทางการทำ Digital transformation
PDF
The Power of Big Data for a new economy (Sample)
PDF
บทความ Robotics แนวโน้มใหม่สู่บริการเฉพาะทาง
PDF
IT Trends eMagazine Vol 3. No.9
PDF
Thailand software & software market survey 2016
PPTX
Developing Business Blockchain Applications on Hyperledger
PDF
Digital transformation @thanachart.org
PDF
บทความ Big Data จากบล็อก thanachart.org
PDF
กลยุทธ์ 5 ด้านกับการทำ Digital Transformation
นิตยสาร Digital Trends ฉบับที่ 14
Digital trends Vol 4 No. 13 Sep-Dec 2019
บทความ The evolution of AI
IT Trends eMagazine Vol 4. No.12
เพราะเหตุใด Digitization ไม่ตอบโจทย์ Digital Transformation
IT Trends 2019: Putting Digital Transformation to Work
มูลค่าตลาดดิจิทัลไทย 3 อุตสาหกรรม
IT Trends eMagazine Vol 4. No.11
แนวทางการทำ Digital transformation
บทความ The New Silicon Valley
นิตยสาร IT Trends ของ IMC Institute ฉบับที่ 10
แนวทางการทำ Digital transformation
The Power of Big Data for a new economy (Sample)
บทความ Robotics แนวโน้มใหม่สู่บริการเฉพาะทาง
IT Trends eMagazine Vol 3. No.9
Thailand software & software market survey 2016
Developing Business Blockchain Applications on Hyperledger
Digital transformation @thanachart.org
บทความ Big Data จากบล็อก thanachart.org
กลยุทธ์ 5 ด้านกับการทำ Digital Transformation

Java Programming [1/12] : Introduction

  • 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 มีอ ยู่ใ น • ระบบปฏิบ ัต ิก ารคอมพิว เตอร์ต ่า งๆ • โปรแกรมเว็บ บราวเซอร์ • เครื่อ งใช้ไ ฟฟ้า ต่า งๆ • โทรศัพ ท์ • เครื่อ งมือ สื่อ สาร • สมาร์ท การ์ด
  • 13. JRE  JRE จะรัน โค้ด ทีแ ปลมาจาก JVM โดยจะทำา งาน 3 ่ ขั้น ตอน คือ • โหลดไบท์โ ค้ด โดยใช้ Class Loader • ตรวจสอบไบท์โ ค้ด โดยใช้ Byte Code Verifier • รัน ไบท์โ ค้ด โดยใช้ Runtime Interpreter
  • 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 Profile Enterprise Standard Foundation MIDP Edition Edition Profile (Java EE) (Java SE) Java CDC CLDC Card JVM KVM Card VM
  • 25. โปรแกรมจาวา  โปรแกรมจาวาประยุก ต์ (Java Application) • โปรแกรมใช้ง านทั่ว ไป • โปรแกรมทำา งานภายใต้จ าวาอิน เตอร์พ รีต เตอร์ • โปรแกรมแบบ Standalone  โปรแกรมจาวาแอปเพล็ต (Java Applet) • โปรแกรมที่ท ำา งานภายใต้โ ปรแกรมเวบ บราวเซอร์ที่ม ี JVM
  • 26. การสร้า งโปรแกรมจาวาประยุก ต์  เขีย นซอร์ด โค้ด  HelloWorld.java  คอมไพล์โ ปรแกรม javac HelloWorld.java → HelloWorld.class  รัน โปรแกรม java HelloWorld
  • 27. HelloWorld.java public 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"); }} }}
  • 30. การสร้า งโปรแกรมจาวาแอปเพล็ต  โปรแกรมจาวาแอปเพล็ต จะมีไ ฟล์ท เ ขีย นขึ้น สอง ี่ ไฟล์ค ือ • โปรแกรมซอร์ด โค้ด (.java) • โปรแกรมเว็บ เพจ (.html)  ขั้น ตอนการทำา งาน • เขีย นโปรแกรมซอร์ด โค้ด  HelloWorldApplet.java • คอมไพล์โ ปรแกรม  HelloWorldApplet.class • ใช้โ ปรแกรมเว็บ บราวเซอร์ใ ดๆเปิด โปรแกรม HelloWorld.html
  • 31. HelloWorldApplet.java import 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>
  • 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 แต่ล ะตัว ของ
  • 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 ื