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

What's hot

การจัดทำแฟ้มสะสมงาน
การจัดทำแฟ้มสะสมงานการจัดทำแฟ้มสะสมงาน
การจัดทำแฟ้มสะสมงาน
วิทยาลัยเทคนิคราชบุรี
 
แบบทดสอบก่อนเรียนเมทริกซ์
แบบทดสอบก่อนเรียนเมทริกซ์แบบทดสอบก่อนเรียนเมทริกซ์
แบบทดสอบก่อนเรียนเมทริกซ์
kruthanapornkodnara
 
Infographic Design การออกแบบอินโฟกราฟิก
Infographic Design การออกแบบอินโฟกราฟิกInfographic Design การออกแบบอินโฟกราฟิก
Infographic Design การออกแบบอินโฟกราฟิก
Department of Educational Technology, Faculty of Education, Ramkhamhaeng University
 
1ผลการวิเคราะห์ swot ของศูนย์คอมพิวเตอร์ มหาวิทยาลัยราชภัฏเลย
1ผลการวิเคราะห์ swot   ของศูนย์คอมพิวเตอร์  มหาวิทยาลัยราชภัฏเลย1ผลการวิเคราะห์ swot   ของศูนย์คอมพิวเตอร์  มหาวิทยาลัยราชภัฏเลย
1ผลการวิเคราะห์ swot ของศูนย์คอมพิวเตอร์ มหาวิทยาลัยราชภัฏเลยjeabjeabloei
 
เพาเวอร์เซต
เพาเวอร์เซตเพาเวอร์เซต
เพาเวอร์เซตAon Narinchoti
 
ฮิสโทแกรม
ฮิสโทแกรมฮิสโทแกรม
ฮิสโทแกรมkrookay2012
 
คณิตศาสตร์ ม.3 เรื่องปริมาตรและพื้นที่ผิว
คณิตศาสตร์ ม.3 เรื่องปริมาตรและพื้นที่ผิวคณิตศาสตร์ ม.3 เรื่องปริมาตรและพื้นที่ผิว
คณิตศาสตร์ ม.3 เรื่องปริมาตรและพื้นที่ผิว
Tutor Ferry
 
มูลค่าเงินตามเวลา
มูลค่าเงินตามเวลามูลค่าเงินตามเวลา
มูลค่าเงินตามเวลา
tumetr1
 
Java Programming [8/12] : Arrays and Collection
Java Programming [8/12] : Arrays and CollectionJava Programming [8/12] : Arrays and Collection
Java Programming [8/12] : Arrays and Collection
IMC Institute
 
บทที่ 2 อุปสงค์ อุปทานและดุลยภาพ
บทที่ 2 อุปสงค์ อุปทานและดุลยภาพบทที่ 2 อุปสงค์ อุปทานและดุลยภาพ
บทที่ 2 อุปสงค์ อุปทานและดุลยภาพ
Ornkapat Bualom
 
water and mineral transport in plant
water and mineral transport in plantwater and mineral transport in plant
water and mineral transport in plant
Thanyamon Chat.
 
แบบประเมินความพึงพอใจในการจัดกิจกรรมต่อต้านยาไอซ์ในโรงเรียน (1)
แบบประเมินความพึงพอใจในการจัดกิจกรรมต่อต้านยาไอซ์ในโรงเรียน (1)แบบประเมินความพึงพอใจในการจัดกิจกรรมต่อต้านยาไอซ์ในโรงเรียน (1)
แบบประเมินความพึงพอใจในการจัดกิจกรรมต่อต้านยาไอซ์ในโรงเรียน (1)
Kruthai Kidsdee
 
เรื่องที่ 6 การลำดับชั้นหิน
เรื่องที่ 6 การลำดับชั้นหินเรื่องที่ 6 การลำดับชั้นหิน
เรื่องที่ 6 การลำดับชั้นหินKobwit Piriyawat
 
เรื่องที่7การเคลื่อนที่แบบหมุน
เรื่องที่7การเคลื่อนที่แบบหมุนเรื่องที่7การเคลื่อนที่แบบหมุน
เรื่องที่7การเคลื่อนที่แบบหมุนApinya Phuadsing
 
ความพึงพอใจและพฤติกรรมการมีส่วนร่วม Challenge ในแอปพลิเคชัน TikTok
ความพึงพอใจและพฤติกรรมการมีส่วนร่วม Challenge ในแอปพลิเคชัน TikTok ความพึงพอใจและพฤติกรรมการมีส่วนร่วม Challenge ในแอปพลิเคชัน TikTok
ความพึงพอใจและพฤติกรรมการมีส่วนร่วม Challenge ในแอปพลิเคชัน TikTok
ssuser72c983
 
คลื่น (Wave) (For Power Point)
คลื่น (Wave) (For Power Point)คลื่น (Wave) (For Power Point)
คลื่น (Wave) (For Power Point)
Physics Lek
 
วิทย์ฯเพิ่มเติมเทอม1ม1
วิทย์ฯเพิ่มเติมเทอม1ม1วิทย์ฯเพิ่มเติมเทอม1ม1
วิทย์ฯเพิ่มเติมเทอม1ม1
Niwat Yod
 
ฟังก์ชันขั้นบันได
ฟังก์ชันขั้นบันไดฟังก์ชันขั้นบันได
ฟังก์ชันขั้นบันได
Y'Yuyee Raksaya
 
ใบความรู้+แผนการสอน และใบกิจกรรม ประถม 4-6 เรื่อง วงจรไฟฟ้า+ป.5+273+dltvscip5...
ใบความรู้+แผนการสอน และใบกิจกรรม ประถม 4-6 เรื่อง วงจรไฟฟ้า+ป.5+273+dltvscip5...ใบความรู้+แผนการสอน และใบกิจกรรม ประถม 4-6 เรื่อง วงจรไฟฟ้า+ป.5+273+dltvscip5...
ใบความรู้+แผนการสอน และใบกิจกรรม ประถม 4-6 เรื่อง วงจรไฟฟ้า+ป.5+273+dltvscip5...
Prachoom Rangkasikorn
 

What's hot (20)

การจัดทำแฟ้มสะสมงาน
การจัดทำแฟ้มสะสมงานการจัดทำแฟ้มสะสมงาน
การจัดทำแฟ้มสะสมงาน
 
แบบทดสอบก่อนเรียนเมทริกซ์
แบบทดสอบก่อนเรียนเมทริกซ์แบบทดสอบก่อนเรียนเมทริกซ์
แบบทดสอบก่อนเรียนเมทริกซ์
 
Infographic Design การออกแบบอินโฟกราฟิก
Infographic Design การออกแบบอินโฟกราฟิกInfographic Design การออกแบบอินโฟกราฟิก
Infographic Design การออกแบบอินโฟกราฟิก
 
1ผลการวิเคราะห์ swot ของศูนย์คอมพิวเตอร์ มหาวิทยาลัยราชภัฏเลย
1ผลการวิเคราะห์ swot   ของศูนย์คอมพิวเตอร์  มหาวิทยาลัยราชภัฏเลย1ผลการวิเคราะห์ swot   ของศูนย์คอมพิวเตอร์  มหาวิทยาลัยราชภัฏเลย
1ผลการวิเคราะห์ swot ของศูนย์คอมพิวเตอร์ มหาวิทยาลัยราชภัฏเลย
 
เพาเวอร์เซต
เพาเวอร์เซตเพาเวอร์เซต
เพาเวอร์เซต
 
ฮิสโทแกรม
ฮิสโทแกรมฮิสโทแกรม
ฮิสโทแกรม
 
คณิตศาสตร์ ม.3 เรื่องปริมาตรและพื้นที่ผิว
คณิตศาสตร์ ม.3 เรื่องปริมาตรและพื้นที่ผิวคณิตศาสตร์ ม.3 เรื่องปริมาตรและพื้นที่ผิว
คณิตศาสตร์ ม.3 เรื่องปริมาตรและพื้นที่ผิว
 
มูลค่าเงินตามเวลา
มูลค่าเงินตามเวลามูลค่าเงินตามเวลา
มูลค่าเงินตามเวลา
 
Java Programming [8/12] : Arrays and Collection
Java Programming [8/12] : Arrays and CollectionJava Programming [8/12] : Arrays and Collection
Java Programming [8/12] : Arrays and Collection
 
บทที่ 2 อุปสงค์ อุปทานและดุลยภาพ
บทที่ 2 อุปสงค์ อุปทานและดุลยภาพบทที่ 2 อุปสงค์ อุปทานและดุลยภาพ
บทที่ 2 อุปสงค์ อุปทานและดุลยภาพ
 
water and mineral transport in plant
water and mineral transport in plantwater and mineral transport in plant
water and mineral transport in plant
 
แบบประเมินความพึงพอใจในการจัดกิจกรรมต่อต้านยาไอซ์ในโรงเรียน (1)
แบบประเมินความพึงพอใจในการจัดกิจกรรมต่อต้านยาไอซ์ในโรงเรียน (1)แบบประเมินความพึงพอใจในการจัดกิจกรรมต่อต้านยาไอซ์ในโรงเรียน (1)
แบบประเมินความพึงพอใจในการจัดกิจกรรมต่อต้านยาไอซ์ในโรงเรียน (1)
 
เรื่องที่ 6 การลำดับชั้นหิน
เรื่องที่ 6 การลำดับชั้นหินเรื่องที่ 6 การลำดับชั้นหิน
เรื่องที่ 6 การลำดับชั้นหิน
 
วิทยาศาสตร์ ม.3
วิทยาศาสตร์ ม.3วิทยาศาสตร์ ม.3
วิทยาศาสตร์ ม.3
 
เรื่องที่7การเคลื่อนที่แบบหมุน
เรื่องที่7การเคลื่อนที่แบบหมุนเรื่องที่7การเคลื่อนที่แบบหมุน
เรื่องที่7การเคลื่อนที่แบบหมุน
 
ความพึงพอใจและพฤติกรรมการมีส่วนร่วม Challenge ในแอปพลิเคชัน TikTok
ความพึงพอใจและพฤติกรรมการมีส่วนร่วม Challenge ในแอปพลิเคชัน TikTok ความพึงพอใจและพฤติกรรมการมีส่วนร่วม Challenge ในแอปพลิเคชัน TikTok
ความพึงพอใจและพฤติกรรมการมีส่วนร่วม Challenge ในแอปพลิเคชัน TikTok
 
คลื่น (Wave) (For Power Point)
คลื่น (Wave) (For Power Point)คลื่น (Wave) (For Power Point)
คลื่น (Wave) (For Power Point)
 
วิทย์ฯเพิ่มเติมเทอม1ม1
วิทย์ฯเพิ่มเติมเทอม1ม1วิทย์ฯเพิ่มเติมเทอม1ม1
วิทย์ฯเพิ่มเติมเทอม1ม1
 
ฟังก์ชันขั้นบันได
ฟังก์ชันขั้นบันไดฟังก์ชันขั้นบันได
ฟังก์ชันขั้นบันได
 
ใบความรู้+แผนการสอน และใบกิจกรรม ประถม 4-6 เรื่อง วงจรไฟฟ้า+ป.5+273+dltvscip5...
ใบความรู้+แผนการสอน และใบกิจกรรม ประถม 4-6 เรื่อง วงจรไฟฟ้า+ป.5+273+dltvscip5...ใบความรู้+แผนการสอน และใบกิจกรรม ประถม 4-6 เรื่อง วงจรไฟฟ้า+ป.5+273+dltvscip5...
ใบความรู้+แผนการสอน และใบกิจกรรม ประถม 4-6 เรื่อง วงจรไฟฟ้า+ป.5+273+dltvscip5...
 

Viewers also liked

Java Programming: การจัดการกับเหตุการณ์กราฟิก
Java Programming: การจัดการกับเหตุการณ์กราฟิกJava Programming: การจัดการกับเหตุการณ์กราฟิก
Java Programming: การจัดการกับเหตุการณ์กราฟิก
Thanachart Numnonda
 
C1
C1C1
Java Programming: คลาสอินพุตและเอาต์พุต
Java Programming: คลาสอินพุตและเอาต์พุตJava Programming: คลาสอินพุตและเอาต์พุต
Java Programming: คลาสอินพุตและเอาต์พุต
Thanachart Numnonda
 
Java Programming: การจัดการกับข้อผิดพลาด
Java Programming: การจัดการกับข้อผิดพลาดJava Programming: การจัดการกับข้อผิดพลาด
Java Programming: การจัดการกับข้อผิดพลาด
Thanachart Numnonda
 
ระบบปฏิบัติการ.Ppt
 ระบบปฏิบัติการ.Ppt  ระบบปฏิบัติการ.Ppt
ระบบปฏิบัติการ.Ppt onthicha1993
 
Computer Network
Computer  NetworkComputer  Network
Computer Networkchukiat008
 
Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์
Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์
Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์
Thanachart Numnonda
 
Planning on Mobile Strategy
Planning on Mobile StrategyPlanning on Mobile Strategy
Planning on Mobile Strategy
Thanachart Numnonda
 
ระบบปฏิบัติการ
ระบบปฏิบัติการระบบปฏิบัติการ
ระบบปฏิบัติการKrusine soyo
 
องค์ประกอบของระบบปฏิบัติการ
องค์ประกอบของระบบปฏิบัติการองค์ประกอบของระบบปฏิบัติการ
องค์ประกอบของระบบปฏิบัติการ
Thanaporn Singsuk
 

Viewers also liked (11)

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

Similar to Java Programming [1/12] : Introduction

ความรู้เบื้องต้นภาษาจาวา
ความรู้เบื้องต้นภาษาจาวาความรู้เบื้องต้นภาษาจาวา
ความรู้เบื้องต้นภาษาจาวาThanachart Numnonda
 
1.Introduction to java
1.Introduction to java1.Introduction to java
1.Introduction to java
UsableLabs
 
Eclipse
EclipseEclipse
Eclipse
gzxc
 
Java Development Tools
Java Development ToolsJava Development Tools
Java Development Tools
CC Nakhon Pathom Rajabhat University
 
ภาษาJava
ภาษาJavaภาษาJava
ภาษาJava
Phurin002
 
Javacentrix com chap04-0
Javacentrix com chap04-0Javacentrix com chap04-0
Javacentrix com chap04-0Theeravaj Tum
 
Java Programming [10/12]: Java Applet
Java Programming [10/12]: Java AppletJava Programming [10/12]: Java Applet
Java Programming [10/12]: Java Applet
IMC Institute
 
Java intro
Java introJava intro
Java intro
zanotsuke
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาAeew Autaporn
 
Introduction to Java Programming
Introduction to Java ProgrammingIntroduction to Java Programming
Introduction to Java Programming
Bhusit Net
 
โครงงาน
โครงงานโครงงาน
โครงงาน
I'Dear Na-Dear
 
Software
SoftwareSoftware
Softwaresa
 
joomla-2-5-install-appserv
joomla-2-5-install-appservjoomla-2-5-install-appserv
joomla-2-5-install-appserv
Boonlert Aroonpiboon
 
20121102 joomla2-5
20121102 joomla2-520121102 joomla2-5
20121102 joomla2-5
Pattanee Arboonngam
 
บทที่ 2 เตรียมตัวให้พร้อมก่อนเขียนโปรแกรม java
บทที่ 2 เตรียมตัวให้พร้อมก่อนเขียนโปรแกรม javaบทที่ 2 เตรียมตัวให้พร้อมก่อนเขียนโปรแกรม java
บทที่ 2 เตรียมตัวให้พร้อมก่อนเขียนโปรแกรม java
โรงเรียนพิษณุโลกพิทยาคม
 
Javacentrix com chap05-0
Javacentrix com chap05-0Javacentrix com chap05-0
Javacentrix com chap05-0Theeravaj Tum
 
เทคโนโลยีคอมพิวเตอร์เพื่อการสื่อสาร
เทคโนโลยีคอมพิวเตอร์เพื่อการสื่อสารเทคโนโลยีคอมพิวเตอร์เพื่อการสื่อสาร
เทคโนโลยีคอมพิวเตอร์เพื่อการสื่อสาร
สราวุฒิ จบศรี
 
Unit 2 Java Programming
Unit 2 Java ProgrammingUnit 2 Java Programming
Unit 2 Java Programming
IrinApat
 

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

ความรู้เบื้องต้นภาษาจาวา
ความรู้เบื้องต้นภาษาจาวาความรู้เบื้องต้นภาษาจาวา
ความรู้เบื้องต้นภาษาจาวา
 
1.Introduction to java
1.Introduction to java1.Introduction to java
1.Introduction to java
 
Eclipse
EclipseEclipse
Eclipse
 
Java Development Tools
Java Development ToolsJava Development Tools
Java Development Tools
 
ภาษาJava
ภาษาJavaภาษาJava
ภาษาJava
 
Javacentrix com chap04-0
Javacentrix com chap04-0Javacentrix com chap04-0
Javacentrix com chap04-0
 
Java Programming [10/12]: Java Applet
Java Programming [10/12]: Java AppletJava Programming [10/12]: Java Applet
Java Programming [10/12]: Java Applet
 
Java intro
Java introJava intro
Java intro
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
 
Introduction to Java Programming
Introduction to Java ProgrammingIntroduction to Java Programming
Introduction to Java Programming
 
Gnewvb01 090401013958-phpapp01
Gnewvb01 090401013958-phpapp01Gnewvb01 090401013958-phpapp01
Gnewvb01 090401013958-phpapp01
 
โครงงาน
โครงงานโครงงาน
โครงงาน
 
Software
SoftwareSoftware
Software
 
joomla-2-5-install-appserv
joomla-2-5-install-appservjoomla-2-5-install-appserv
joomla-2-5-install-appserv
 
20121102 joomla2-5
20121102 joomla2-520121102 joomla2-5
20121102 joomla2-5
 
บทที่ 2 เตรียมตัวให้พร้อมก่อนเขียนโปรแกรม java
บทที่ 2 เตรียมตัวให้พร้อมก่อนเขียนโปรแกรม javaบทที่ 2 เตรียมตัวให้พร้อมก่อนเขียนโปรแกรม java
บทที่ 2 เตรียมตัวให้พร้อมก่อนเขียนโปรแกรม java
 
Javacentrix com chap05-0
Javacentrix com chap05-0Javacentrix com chap05-0
Javacentrix com chap05-0
 
เทคโนโลยีคอมพิวเตอร์เพื่อการสื่อสาร
เทคโนโลยีคอมพิวเตอร์เพื่อการสื่อสารเทคโนโลยีคอมพิวเตอร์เพื่อการสื่อสาร
เทคโนโลยีคอมพิวเตอร์เพื่อการสื่อสาร
 
Unit 2 Java Programming
Unit 2 Java ProgrammingUnit 2 Java Programming
Unit 2 Java Programming
 
Java 7&12 6 2
Java 7&12 6 2Java 7&12 6 2
Java 7&12 6 2
 

More from IMC Institute

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

More from IMC Institute (20)

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