SlideShare una empresa de Scribd logo
1 de 46
บทท 1

      ความรเบองตนของภาษาจาวา
  (Introduction to Java Programming)

           ผศ.ธน+ศา เครอไวศยวรรณ
           คณะเทคโนโลย4สารสนเทศ
สถาบ7นเทคโนโลย4พระจอมเกลาเจาค:ณทหารลาดกระบ7ง
วตถประสงค
 แนะน>าความแตกต?างระหว?างภาษาเช+งกระบวนการ และภาษาเช+งออปเจBค

 แนะน   ประว7ตโดยย?อและเทคโนโลย4จ ว
               +
 อธบ   ยหลกก รของ Java Virtual Machine (JVM) และ Java Platform
 แนะน   ซอฟตแวรทใช$ในก รพฒน โปรแกรมภ ษ จ ว
 แนะน>าจ:ดเด?นของภาษา

 อธบ ยและแสดงต7วอย?างของโปรแกรมจาวาประย:กตIและโปรแกรมจาวา
  แอปเพลBต
 แนะน>าว+ธการใชค?มอ Java API
           4
ระบบคอมพวเตอร




 ฮารIดแวรI เช?น

 ระบบปฏ+บ7ตการ เช?น Windows Vista, Linux
            +
 โปรแกรมประย:กตI เช?น Microsoft Office, Web Browser
ภ ษ คอมพ+วเตอรI
 ภาษาเคร+อง (Machine Language)
          W
 ภาษาแอสเซมบล4 (Assembly Language)

 ภาษาระด7บสง (High-Level Langugae)
ภ ษ ระด7บสง
 ภาษาคอมพ+วเตอรIย:คแรก
   •   FORTRAN, COBOL, BASIC
 ภาษาเช+งกระบวนการ (Procedural Language)
   •   PASCAL, C
 ภาษาเช+งออปเจBค (Object Oriented Programming; OOP)
   •   C++, Java, C#
ตวแปลภ ษ
 แบ+งออกเป,นสองแบบ


 คอมไพเลอร       (Compiler)
   •   C++, FORTRAN


 อนเตอรพรตเตอร       (interpreter)
   •   Java, C#
ตวแปลภ ษ
 คอมไพเลอร         อนเตอรพรตเตอร
ภ ษ เช+งกระบวนการ และภาษาเช+งออปเจBค
 ภาษาเช+งกระบวนการ
   •   โปรแกรมจะแบ?งออกเปgนส?วนย?อยๆท4เร4ยกว?าโมดล (module)
                                      W
   •   แต?ละโมดลจะตองเปgนอ+สระต?อก7น
   •   การออกแบบใหแต?ละโมดลม4ความเปgนอ+สระต?อก7นน7นท>าไดยาก
   •   ตนท:นในการพ7ฒนาโปรแกรมสง
 ภาษาเช+งออปเจBค
   •   การพ7ฒนาโปรแกรมเปgนการเล4ยนแบบการท>างานเช+งออปเจBค
   •   สามารถน>าโปรแกรมกล7บมาใชใหม? (reuse) ไดด4กว?าภาษาเช+งกระบวนการ
โปรแกรมเชงออปเจ.ค
 ว+เคราะหIปjญหาโดยมองปjญหาว?าประกอบไปดวยออปเจBคต?างๆ

 จ>าลองค:ณล7กษณะและพฤต+กรรมของออปเจBค

 ออปเจ.คจะส+งข$อม/ลกนโดยผ+   นข+ วส ร (Message)
 แตกต+ งจากภ ษ เช+งกระบวนการทว+เคราะหIปjญหาโดยพ+จารณาจากล>าด7บ
  การท>างานและแบ+งก รท ง นของโปรแกรมต มฟ3งกชนต+ งๆ
ระบบทะเบยนนกศ6กษ
 วธก   รเช+งกระบวนการ        วธแบบเชงออปเจ.ค
   •    ลงทะเบยนร ยวช           •   นกศ6กษ
   •    ช ระเงน                 •   ใบลงทะเบยน
   •    เพมวช                   •   ร ยช7อร ยวช
ออปเจBคชน+ดนกศ6กษ
 ค:ณล7กษณะ
   •   ชWอ
   •   รห7สน7กศmกษา
   •   เกรดเฉล4Wย
 พฤต+กรรม
   •   ลงทะเบยน
   •   เพมหรอถอนวช
ข$อดของก รพฒน โปรแกรมเชงออปเจ.ค
 แนวค+ดการว+เคราะหIปjญหาใกลเค4ยงก7บธรรมชาต+ของมน:ษยI

 ระบบจรง (real life) แบ+งต   มออปเจ.ค ไม+ไดข68นอย?กบฟ3งกช W นก รท ง น
                                                         ช7
 ขบวนการพ7ฒนาโปรแกรมท>าไดรวดเรBวขmน

 ง+   ยต+อก รพฒน และแก$ไข
 น>าโปรแกรมกล7บมาใชใหม?ไดง?าย
ประวตของภ ษ จ ว
 พ7ฒนาขmนโดยท4มว+จ7ยของบรษทซ7นไมโครซ+สเตBมสI (Sun Microsystems)

 พฒน   ม จ กโครงก รทต$องก รพฒน ระบบซอฟตแวรเพ7อควบคมเคร7องใช$
  ไฟฟ9 ขน ดเล.กภ ยในบ$ น
 ช7อเดมค7อภาษา Oak ต?อมาเปล4WยนชWอเปgนภาษาจาวา

 ภาษาจาวาเร+มเปgนท4Wนยมแพร?หลายในปp ค.ศ. 1995
             W        +
 ภาษาจาวาเปgนภาษาท4Wไม?ขนก7บแพลตฟอรIม (platform independent)
                         m
 JDK 1.0 ประกาศใชเมWอปp 1996

 JDK เวอรIช7นปjจจ:บ7นคอ 6
โลโก$และ Mascot ภ ษ Java
 James Gosling ค7อบด   ภษจว
 โลโก$ภ   ษ จ ว เป,นร/ปแก$วก แฟ
 Duke เป,น Mascot ภ   ษจว
องคประกอบของเทคโนโลยจ ว
 JVM    (Java Virtual Machine)
   •   ท>าหนาท4เปgนอ+นเตอรIพร4ตเตอรI
               W


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


 JDK (Java    Development Kit)
   •   เปgนช:ดพ7ฒนาโปรแกรมภาษาจาวา
JVM
จ ว เทคโนโลยใช$ท8งคอมไพเลอรและอนเตอรพรตเตอร ในก รคอมไพลI
 และรนโปรแกรม
 โปรแกรมภ   ษ จ ว มซอรดโค$ดเป,น .java และจะแปลเป,นโปรแกรมไบทโค$ด
 (byte code) ทเป,น .class
 โปรแกรมไบทโค$ดจะรนบนระบบคอมพวเตอร   โดยใช$ JVM (Java Virtual
 Machine) ทเป,นอนเตอรพรตเตอร ซ6งจะแปลโปรแกรมไบทโค$ดให$เป,นภาษา
 เครWองท4ขmนอย?ก7บแพลตฟอรIมน7น
         W
JVM
 เครWองคอมพ+วเตอรIท4Wจะสามารถร7นโปรแกรมไบทIโคดไดจะตองม4 JVM อย?

 JVM อาจเปgนซอฟตIแวรIหรอฮารIดแวรI

 ในปjจจ:บ7น JVM ม4อย?ใน
    •   ระบบปฏ+บ7ต+การคอมพ+วเตอรIตางๆ
                                  ?
    •   โปรแกรมเวBบบราวเซอรI
    •   เครWองใชไฟฟzาต?างๆ
    •   โทรศ7พทI
    •   เครWองมอสWอสาร
    •   สมารIทการIด
ข7นตอนการท>างานของโปรแกรมภาษาจาวา
JRE
 JRE จะรนโค$ดทแปลม        จ ก JVM โดยจะท ง น 3 ข8นตอน ค7อ
   •   โหลดไบทโค$ดโดยใช$ Class Loader
   •   ตรวจสอบไบทโค$ดโดยใช$ Byte Code Verifier
   •   รนไบทโค$ดโดยใช$ Runtime Interpreter
ข7นตอนการท>างานของ JRE
JDK
 JDK (Java Development Kit)

 เด+มชWอ JDK แต?ตอมาเปล4WยนชWอเปgน J2 ต7งแต? JDK 1.2
                  ?
 โปรแกรม JDK
    •   javac.exe : โปรแกรมคอมไพเลอรI
    •   java.exe : โปรแกรมอ+นเตอรIพร4ตเตอรI (JVM)
 JDK ไม?ใช? โปรแกรมแบบ SDK (Software Development Kit) จmงไม?ม4อ+ด4เตอรI
  ในการเข4ยนโปรแกรม
Java SDK และ Java Editor
 Java SDK
   •   Netbeans ของบร+ษ7ท Sun Microsystems (http://www.netbeans.org)
   •   Eclipse ของบร+ษ7ท IBM (http://eclipse.org)
   •   JDeveloper ของบร+ษ7ท Oracle (http://www.oracle.com)
   •   intelliJ IDEA ของบร+ษ7ท JetBrains (http://www.jetbrains.com/idea)
 Java Editor
   •   EditPlus ของบร+ษ7ท ES-Computing (http://www.editplus.com)
   •   JCreator ของบร+ษ7ท Xinox Software (http://www.jcreator.com)
จ:ดเด?นของภ ษ จ ว
 ความง?าย (simple)

 ภาษาเช+งออปเจBค (object oriented)

 การกระจาย (distributed)

 การปzองก7นการผ+ดพลาด (robust)

 ความปลอดภ7ย (secure)

 สถาปjตยกรรมกลาง (architecture neutral)

 เคลWอนยายง?าย (portable)
จ:ดเด?นของภ ษ จ ว
 อ+นเตอรIพร4ต (interpreted)

 ประส+ทธ+ภาพสง (high performance)

 ม7ลต+เธรด (multithreaded)

 พลว7ต (dynamic)
Java Platform
 แพลตฟอรมก.ค7อ ฮ       รดแวรและ software environment ทจะใช$ในก รรน
  โปรแกรม
 แพลตฟอรIมของภาษาจาวาประกอบดวย
   •   Java Virtual Machine
   •   Java Application Programming Interface (Java API)
Java Platform
 บร+ษทซ7นไมโครซ+สเตBมสIไดก>าหนดแพลตฟอรIมของ Java ไวสามรปแบบคอ
      7
   •   Java Platform, Standard Edition (Java SE)
   •   Java Platform, Enterprise Edition (Java EE)
   •   Java Platform, Micro Edition (Java ME)
JavaTM 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
JavaTM Platform, Standard Edition 6
 Java SE เป,นแพลตฟอรมพ7นฐ
                        8      นของภ ษ จ ว
ส   หรบพฒน บนเคร7องคอมพวเตอรทวไป
 เดมช7อ J2SE

 เวอรชนล+   สดค7อ Java SE 6
JavaTM Platform, Enterprise Edition
 Java EE เป,นแพลตฟอรมของภ       ษ จ ว ส หรบพฒน โปรแกรมบนเคร7อง
  แม+ข+ ย
 ต$องมเคร7องแม+ข+   ยทมโปรแกรม Web Server หร7อ Application Server
 ใช$พฒน    โปรแกรมขน ดใหญ+ส หรบองคกร
 ตวอย+   งเช+นก รพฒน โปรแกรมบน Web เช+น โปรแกรมของ Yahoo, E-Bay
ภ   ษ อ7นๆทเขยนค7อ PHP หร7อ ASP.NET
 เวอรชนล+   สดค7อ Java EE 5
JavaTM Platform, Mobile Edition
 Java ME เป,นแพลตฟอรมของภ  ษ จ ว ส หรบพฒน โปรแกรมส หรบ
  อปกรณขน ดเล.กเช+น โทรศพทม7อถ7อ
          รพฒน โปรแกรมบนโทรศพทม7อถ7อเช+นเคร7อง Nokia ทรนบน
 นยมใช$ในก
  ระบบปฎบตก ร Symbian
 ป3จจบนมก   รออกแพลตฟอรมในก รพฒน จ ว บนโทรศพทม7อถ7อแบบ
  อ7นๆเช+น Android, Java FX
โปรแกรมจ ว พพ78นฐ น (Java SE)
 โปรแกรมจาวาประย:กตI (Java Application)
   •   โปรแกรมใช$ง นทวไป
   •   โปรแกรมท>างานภายใตจาวาอ+นเตอรIพร4ตเตอรI
   •   โปรแกรมแบบ Standalone
 โปรแกรมจาวาแอปเพลBต (Java Applet)
   •   โปรแกรมทท>างานภายใตโปรแกรมเวบบร วเซอรท4ม4 JVM
                                              W
ก รสรางโปรแกรมจ ว ประย:กตI
 เข4ยนซอรIดโคด      HelloWorld.java

 คอมไพลIโปรแกรม

     javac HelloWorld.java

     →     HelloWorld.class

 ร7นโปรแกรม

     java HelloWorld
HelloWorld.java

public class HelloWorld {
   public static void main(String args[]) {
        System.out.println("Hello World");
   }
}
ต7วอย?างการใช Java IDE
ร/ปแสดงข8นตอนก รท ง น
ก รสรางโปรแกรมจ ว แอปเพลBต
 โปรแกรมจ     ว แอปเพลBตจะมไฟลทเขยนข68นสองไฟลค7อ
   •   โปรแกรมซอรIดโคด (.java)
   •   โปรแกรมเวBบเพจ (.html)
 ข7นตอนการท>างาน
   •   เข4ยนโปรแกรมซอรIดโคด  HelloWorldApplet.java
   •   คอมไพลIโปรแกรม  HelloWorldApplet.class
   •   ใชโปรแกรมเวBบบราวเซอรIใดๆเป‚ดโปรแกรม HelloWorld.html
HelloWorldApplet.java

import java.awt.*;
import java.applet.*;


public class HelloWorldApplet extends Applet {
    public void paint(Graphics g) {
        g.drawString("Hello World",20,20);
    }
}
HelloWorld.html


<HTML>
   <HEAD>
          <TITLE>HelloWorld Example</TITLE>
   </HEAD>
   <BODY>
          <APPLET CODE="HelloWorldApplet.class"
                 WIDTH="300" HEIGHT="300">
          </APPLET>
   </BODY>
</HTML>
ร/ปแสดงข8นตอนก รท ง น
ต7วอย?างการร7นโปรแกรมบนเวBบบราวเซอรI
Java API Documentation
 เอกส  รในร/ปแบบของ HTML ทอธบ ยข$อม/ลเกยวกบ API (Application
  Programming Interface) ของภ ษ จ ว
ส   ม รถทจะ download ได$จ ก http://java.sun.com
 เรยกด/   online ได$ท http://java.sun.com/javase/6/docs/api/index.html
ค?มอ Java API
 Java API เป,นข$อก
                 หนดทว+ ด$วยคล สและอนเตอรเฟสต+ งๆทก หนดไว$ใน
  แพคเก.จม ตร ฐ นของภ ษ จ ว
 ค?มอ Java API จะแสดงรายละเอ4ยดต?างๆของคลาสหรออ+นเตอรIเฟสด7งน4
    •   ล>าด7บการสบทอดของคลาส
    •   ค>าอธ+บายเก4Wยวก7บคลาสและจ:ดประสงคIทวไป
                                            7W
    •   รายชWอค:ณล7กษณะต?างๆ ของคลาส
    •   รายชWอเมธอดต?างๆ ของคลาส
    •   รายชWอ Constructor ต?างๆ ของคลาส
    •   ค>าอธ+บายรายละเอ4ยดของค:ณล7กษณะแต?ละต7วของคลาส
    •   ค>าอธ+บายรายละเอ4ยดของเมธอดแต?ละต7วของคลาส
    •   ค>าอธ+บายรายละเอ4ยดของConstructor แต?ละต7วของคลาส
ต7วอย?าง Java API
สร:ปเนอหาของบท
 ภาษาระด7บสงแบ?งออกเปgนสองประเภทคอ ภาษาเช+งกระบวนการ และภาษา
  เช+งออปเจBค
 ภาษาจาวาเปgนภาษาเช+งออปเจBคท4ใชท7งต7วแปลภาษาแบบคอมไพเลอรIและ
                               W
  อ+นเตอรIพร4ตเตอรIในการคอมไพลIและร7นโปรแกรม
 คอมไพเลอรIของภาษาจาวาจะท>าหนาท4แปลโปรแกรมภาษาจาวาใหเปgนโปร
                                 W
  แกรมไบทIโคด ซmงจะใชอ+นเตอรIพร4ตเตอรI (JVM) ในการแปลโปรแกรมไบทI
                W
  โคดใหเปgนภาษาเครWอง
 โปรแกรมภาษาจาวาสามารถท>างานขามแพลตฟอรIมไดถาระบบ
  คอมพ+วเตอรIน7นม4 JVM อย?
 แพลตฟอรIมของจาวาประกอบไปดวย JVM และ Java API ซmWง Java   ม4
  แพลตฟอรIม 3 แบบคอ Java SE, Java EE และ Java ME
สร:ปเนอหาของบท
 ช:ดพ7ฒนาโปรแกรมภาษาจาวา JDK ประกอบไปดวยโปรแกรมต?างๆท4Wส>าค7ญ
  คอ โปรแกรมคอมไพเลอรI (javac.exe) และโปรแกรมอ+นเตอรI พร4ตเตอรI
  (java.exe)
 โปรแกรมจาวาท4Wอย?บนแพลตฟอรIม Java SE สามารถพ7ฒนาไดสองรปแบบ
  คอโปรแกรมจาวาประย:กตIซงจะท>างานภายใต JVM โดยตรง และโปรแกรม
                         mW
  จาวาแอปเพลBตซmงจะท>างานภายใตเวBบบราวเซอรIท4Wม4 JVM
                W
 ค?มอ Java API จะช?วยในการคนหารายละเอ4ยดของแพคเกBจและคลาสต?างๆ
  ท4Wม4อย?ในช:ดพ7ฒนาโปรแกรม JDK
แบบฝ„กห7ด
 ต+ดต7ง NetBeans 6.5

 แบบฝ„กห7ดท4W 1 การเข4ยนโปรแกรมจาวาประย:กตIอย?างง?าย
    •   เข4ยนโปรแกรมจาวาประย:กตIเพWอแสดงขอความ Hello World
 แบบฝ„กห7ดท4W 2 การเข4ยนโปรแกรมจาวาแอปเพลBตอย?างง?าย
    •   เข4ยนโปรแกรมจาวาแอปเพลBตเพWอแสดงขอความ Welcome to Java
 แบบฝ„กห7ดท4W 3 การใชค?มอ Java API

Más contenido relacionado

La actualidad más candente

นำเสนอการฝึกงาน
นำเสนอการฝึกงานนำเสนอการฝึกงาน
นำเสนอการฝึกงานPalm Jutamas
 
รูปเล่มวิชาโครงงาน
รูปเล่มวิชาโครงงานรูปเล่มวิชาโครงงาน
รูปเล่มวิชาโครงงานAjBenny Pong
 
โครงงานคอมพิวเตอร์
โครงงานคอมพิวเตอร์โครงงานคอมพิวเตอร์
โครงงานคอมพิวเตอร์Sarocha Makranit
 
ใบความรู้ เรื่อง ส่วนประกอบของโปรแกรม Microsoft excel 2007
ใบความรู้ เรื่อง ส่วนประกอบของโปรแกรม Microsoft excel 2007ใบความรู้ เรื่อง ส่วนประกอบของโปรแกรม Microsoft excel 2007
ใบความรู้ เรื่อง ส่วนประกอบของโปรแกรม Microsoft excel 2007Nicharee Piwjan
 
โครงงานพัฒนาสื่อเพื่อการศึกษา
โครงงานพัฒนาสื่อเพื่อการศึกษาโครงงานพัฒนาสื่อเพื่อการศึกษา
โครงงานพัฒนาสื่อเพื่อการศึกษาSzo'k JaJar
 
โครงงานพัฒนาเครื่องมือ 5
โครงงานพัฒนาเครื่องมือ 5โครงงานพัฒนาเครื่องมือ 5
โครงงานพัฒนาเครื่องมือ 5suparada
 
โครงงานประเภทพัฒนาเครื่องมือ 5
โครงงานประเภทพัฒนาเครื่องมือ 5โครงงานประเภทพัฒนาเครื่องมือ 5
โครงงานประเภทพัฒนาเครื่องมือ 5miiztake
 
2 2โครงสร้างผังงานลำดับ
2 2โครงสร้างผังงานลำดับ2 2โครงสร้างผังงานลำดับ
2 2โครงสร้างผังงานลำดับPannathat Champakul
 
โปรแกรมคอมพิวเตอร
โปรแกรมคอมพิวเตอรโปรแกรมคอมพิวเตอร
โปรแกรมคอมพิวเตอรTay Atcharawan
 
ใบความรู้ที่ 5 การเขียนผังงานโปรแกรม
ใบความรู้ที่ 5 การเขียนผังงานโปรแกรมใบความรู้ที่ 5 การเขียนผังงานโปรแกรม
ใบความรู้ที่ 5 การเขียนผังงานโปรแกรมdechathon
 
การสร้าง Apps for Android ด้วย MIT App Inventor
การสร้าง Apps for Android ด้วย MIT App Inventorการสร้าง Apps for Android ด้วย MIT App Inventor
การสร้าง Apps for Android ด้วย MIT App InventorSomchart Phaeumnart
 
สุขฯ ม.2 หน่วย 2
สุขฯ ม.2 หน่วย 2สุขฯ ม.2 หน่วย 2
สุขฯ ม.2 หน่วย 2supap6259
 
ใบงานที่ 2.2
ใบงานที่ 2.2ใบงานที่ 2.2
ใบงานที่ 2.2Wachi Kook
 
หน่วยการเรียนรู้ที่ 1 ซอฟต์แวร์และการเลือกใช้
หน่วยการเรียนรู้ที่ 1 ซอฟต์แวร์และการเลือกใช้หน่วยการเรียนรู้ที่ 1 ซอฟต์แวร์และการเลือกใช้
หน่วยการเรียนรู้ที่ 1 ซอฟต์แวร์และการเลือกใช้Bhisut Boonyen
 
ผลกระทบทางจริยธรรม และประเด็นทางสังคมที่เกี่ยวข้องกับการใช้เทคโนโลยีสารสนเทศ
ผลกระทบทางจริยธรรม และประเด็นทางสังคมที่เกี่ยวข้องกับการใช้เทคโนโลยีสารสนเทศผลกระทบทางจริยธรรม และประเด็นทางสังคมที่เกี่ยวข้องกับการใช้เทคโนโลยีสารสนเทศ
ผลกระทบทางจริยธรรม และประเด็นทางสังคมที่เกี่ยวข้องกับการใช้เทคโนโลยีสารสนเทศNawanan Theera-Ampornpunt
 
ใบงานที่ 1 เรื่อง โครงงานคอมพิวเตอร์
ใบงานที่ 1 เรื่อง โครงงานคอมพิวเตอร์ใบงานที่ 1 เรื่อง โครงงานคอมพิวเตอร์
ใบงานที่ 1 เรื่อง โครงงานคอมพิวเตอร์Fon Edu Com-sci
 
แบบทดสอบ ประวัติศาสตร์ ม.3
แบบทดสอบ ประวัติศาสตร์ ม.3แบบทดสอบ ประวัติศาสตร์ ม.3
แบบทดสอบ ประวัติศาสตร์ ม.3teerachon
 

La actualidad más candente (20)

นำเสนอการฝึกงาน
นำเสนอการฝึกงานนำเสนอการฝึกงาน
นำเสนอการฝึกงาน
 
รูปเล่มวิชาโครงงาน
รูปเล่มวิชาโครงงานรูปเล่มวิชาโครงงาน
รูปเล่มวิชาโครงงาน
 
โครงงานคอมพิวเตอร์
โครงงานคอมพิวเตอร์โครงงานคอมพิวเตอร์
โครงงานคอมพิวเตอร์
 
ใบความรู้ เรื่อง ส่วนประกอบของโปรแกรม Microsoft excel 2007
ใบความรู้ เรื่อง ส่วนประกอบของโปรแกรม Microsoft excel 2007ใบความรู้ เรื่อง ส่วนประกอบของโปรแกรม Microsoft excel 2007
ใบความรู้ เรื่อง ส่วนประกอบของโปรแกรม Microsoft excel 2007
 
โครงงานพัฒนาสื่อเพื่อการศึกษา
โครงงานพัฒนาสื่อเพื่อการศึกษาโครงงานพัฒนาสื่อเพื่อการศึกษา
โครงงานพัฒนาสื่อเพื่อการศึกษา
 
คอมพิวเตอร์เบื้องต้น ม.1
คอมพิวเตอร์เบื้องต้น ม.1คอมพิวเตอร์เบื้องต้น ม.1
คอมพิวเตอร์เบื้องต้น ม.1
 
โครงงานพัฒนาเครื่องมือ 5
โครงงานพัฒนาเครื่องมือ 5โครงงานพัฒนาเครื่องมือ 5
โครงงานพัฒนาเครื่องมือ 5
 
โครงงานประเภทพัฒนาเครื่องมือ 5
โครงงานประเภทพัฒนาเครื่องมือ 5โครงงานประเภทพัฒนาเครื่องมือ 5
โครงงานประเภทพัฒนาเครื่องมือ 5
 
Flowchart
FlowchartFlowchart
Flowchart
 
2 2โครงสร้างผังงานลำดับ
2 2โครงสร้างผังงานลำดับ2 2โครงสร้างผังงานลำดับ
2 2โครงสร้างผังงานลำดับ
 
โปรแกรมคอมพิวเตอร
โปรแกรมคอมพิวเตอรโปรแกรมคอมพิวเตอร
โปรแกรมคอมพิวเตอร
 
ใบความรู้ที่ 5 การเขียนผังงานโปรแกรม
ใบความรู้ที่ 5 การเขียนผังงานโปรแกรมใบความรู้ที่ 5 การเขียนผังงานโปรแกรม
ใบความรู้ที่ 5 การเขียนผังงานโปรแกรม
 
การสร้าง Apps for Android ด้วย MIT App Inventor
การสร้าง Apps for Android ด้วย MIT App Inventorการสร้าง Apps for Android ด้วย MIT App Inventor
การสร้าง Apps for Android ด้วย MIT App Inventor
 
สุขฯ ม.2 หน่วย 2
สุขฯ ม.2 หน่วย 2สุขฯ ม.2 หน่วย 2
สุขฯ ม.2 หน่วย 2
 
ใบงาน 1 คอมพิวเตอร์เบื้องต้น
ใบงาน 1 คอมพิวเตอร์เบื้องต้นใบงาน 1 คอมพิวเตอร์เบื้องต้น
ใบงาน 1 คอมพิวเตอร์เบื้องต้น
 
ใบงานที่ 2.2
ใบงานที่ 2.2ใบงานที่ 2.2
ใบงานที่ 2.2
 
หน่วยการเรียนรู้ที่ 1 ซอฟต์แวร์และการเลือกใช้
หน่วยการเรียนรู้ที่ 1 ซอฟต์แวร์และการเลือกใช้หน่วยการเรียนรู้ที่ 1 ซอฟต์แวร์และการเลือกใช้
หน่วยการเรียนรู้ที่ 1 ซอฟต์แวร์และการเลือกใช้
 
ผลกระทบทางจริยธรรม และประเด็นทางสังคมที่เกี่ยวข้องกับการใช้เทคโนโลยีสารสนเทศ
ผลกระทบทางจริยธรรม และประเด็นทางสังคมที่เกี่ยวข้องกับการใช้เทคโนโลยีสารสนเทศผลกระทบทางจริยธรรม และประเด็นทางสังคมที่เกี่ยวข้องกับการใช้เทคโนโลยีสารสนเทศ
ผลกระทบทางจริยธรรม และประเด็นทางสังคมที่เกี่ยวข้องกับการใช้เทคโนโลยีสารสนเทศ
 
ใบงานที่ 1 เรื่อง โครงงานคอมพิวเตอร์
ใบงานที่ 1 เรื่อง โครงงานคอมพิวเตอร์ใบงานที่ 1 เรื่อง โครงงานคอมพิวเตอร์
ใบงานที่ 1 เรื่อง โครงงานคอมพิวเตอร์
 
แบบทดสอบ ประวัติศาสตร์ ม.3
แบบทดสอบ ประวัติศาสตร์ ม.3แบบทดสอบ ประวัติศาสตร์ ม.3
แบบทดสอบ ประวัติศาสตร์ ม.3
 

Similar a ความรู้เบื้องต้นภาษาจาวา

Java Programming [1/12] : Introduction
Java Programming [1/12] : IntroductionJava Programming [1/12] : Introduction
Java Programming [1/12] : IntroductionIMC Institute
 
Eclipse
EclipseEclipse
Eclipsegzxc
 
Java Programming [10/12]: Java Applet
Java Programming [10/12]: Java AppletJava Programming [10/12]: Java Applet
Java Programming [10/12]: Java AppletIMC Institute
 
1.Introduction to java
1.Introduction to java1.Introduction to java
1.Introduction to javaUsableLabs
 
ภาษาJava
ภาษาJavaภาษาJava
ภาษาJavaPhurin002
 
Introduction to Java Programming
Introduction to Java ProgrammingIntroduction to Java Programming
Introduction to Java ProgrammingBhusit Net
 
การเขียนโปรแกรม Dev c++
การเขียนโปรแกรม Dev c++การเขียนโปรแกรม Dev c++
การเขียนโปรแกรม Dev c++Naowarat Jaikaroon
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาAeew Autaporn
 
Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)
Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)
Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)Thanachart Numnonda
 
Javacentrix com chap05-0
Javacentrix com chap05-0Javacentrix com chap05-0
Javacentrix com chap05-0Theeravaj Tum
 

Similar a ความรู้เบื้องต้นภาษาจาวา (20)

Java Programming [1/12] : Introduction
Java Programming [1/12] : IntroductionJava Programming [1/12] : Introduction
Java Programming [1/12] : Introduction
 
Eclipse
EclipseEclipse
Eclipse
 
Java Programming [10/12]: Java Applet
Java Programming [10/12]: Java AppletJava Programming [10/12]: Java Applet
Java Programming [10/12]: Java Applet
 
Phonegap book
Phonegap bookPhonegap book
Phonegap book
 
Java Development Tools
Java Development ToolsJava Development Tools
Java Development Tools
 
1.Introduction to java
1.Introduction to java1.Introduction to java
1.Introduction to java
 
joomla-2-5-install-appserv
joomla-2-5-install-appservjoomla-2-5-install-appserv
joomla-2-5-install-appserv
 
Wordpress 3.5 -install-appserv
Wordpress 3.5 -install-appservWordpress 3.5 -install-appserv
Wordpress 3.5 -install-appserv
 
ภาษาJava
ภาษาJavaภาษาJava
ภาษาJava
 
20110303 joomla-appserv-server2go
20110303 joomla-appserv-server2go20110303 joomla-appserv-server2go
20110303 joomla-appserv-server2go
 
Introduction to Java Programming
Introduction to Java ProgrammingIntroduction to Java Programming
Introduction to Java Programming
 
Know 1 1
Know 1 1Know 1 1
Know 1 1
 
การเขียนโปรแกรม Dev c++
การเขียนโปรแกรม Dev c++การเขียนโปรแกรม Dev c++
การเขียนโปรแกรม Dev c++
 
งานนำเสนอ2
งานนำเสนอ2งานนำเสนอ2
งานนำเสนอ2
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
 
Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)
Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)
Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)
 
Javacentrix com chap05-0
Javacentrix com chap05-0Javacentrix com chap05-0
Javacentrix com chap05-0
 
Joomla CMS
Joomla CMSJoomla CMS
Joomla CMS
 
20121102 joomla2-5
20121102 joomla2-520121102 joomla2-5
20121102 joomla2-5
 
บทที่ 2 เตรียมตัวให้พร้อมก่อนเขียนโปรแกรม java
บทที่ 2 เตรียมตัวให้พร้อมก่อนเขียนโปรแกรม javaบทที่ 2 เตรียมตัวให้พร้อมก่อนเขียนโปรแกรม java
บทที่ 2 เตรียมตัวให้พร้อมก่อนเขียนโปรแกรม java
 

Más de Thanachart Numnonda

Thailand Digital Industry Survey Result 2021
Thailand Digital Industry Survey Result 2021Thailand Digital Industry Survey Result 2021
Thailand Digital Industry Survey Result 2021Thanachart Numnonda
 
ประวัติ (ศาสตร์) อันแสนสุขของ แถมสุข
ประวัติ (ศาสตร์) อันแสนสุขของ แถมสุขประวัติ (ศาสตร์) อันแสนสุขของ แถมสุข
ประวัติ (ศาสตร์) อันแสนสุขของ แถมสุขThanachart Numnonda
 
ข้อบังคับ สมาคมสถาปนิกเทคโนโลยีสารสนเทศประเทศไทย
ข้อบังคับ สมาคมสถาปนิกเทคโนโลยีสารสนเทศประเทศไทยข้อบังคับ สมาคมสถาปนิกเทคโนโลยีสารสนเทศประเทศไทย
ข้อบังคับ สมาคมสถาปนิกเทคโนโลยีสารสนเทศประเทศไทยThanachart Numnonda
 
Software Trends Towards AEC 2015
Software Trends Towards AEC 2015Software Trends Towards AEC 2015
Software Trends Towards AEC 2015Thanachart Numnonda
 
How would cloud computing Effect to Software Industry?
How would cloud computing  Effect to Software Industry?How would cloud computing  Effect to Software Industry?
How would cloud computing Effect to Software Industry?Thanachart Numnonda
 
Impact of cloud computing to Asian IT Industry
Impact of cloud computing  to Asian IT IndustryImpact of cloud computing  to Asian IT Industry
Impact of cloud computing to Asian IT IndustryThanachart Numnonda
 
พิชิตคู่แข่ง แซงหน้าด้วยไอที ยุคใหม่
พิชิตคู่แข่ง แซงหน้าด้วยไอที ยุคใหม่พิชิตคู่แข่ง แซงหน้าด้วยไอที ยุคใหม่
พิชิตคู่แข่ง แซงหน้าด้วยไอที ยุคใหม่Thanachart Numnonda
 
รายชื่อผู้สมควรได้รับใบประกาศเกียรติคุณโครงการวิทยาศาสตร์สู่ความเป็นเลิศ]
รายชื่อผู้สมควรได้รับใบประกาศเกียรติคุณโครงการวิทยาศาสตร์สู่ความเป็นเลิศ]รายชื่อผู้สมควรได้รับใบประกาศเกียรติคุณโครงการวิทยาศาสตร์สู่ความเป็นเลิศ]
รายชื่อผู้สมควรได้รับใบประกาศเกียรติคุณโครงการวิทยาศาสตร์สู่ความเป็นเลิศ]Thanachart Numnonda
 
พิชิตคู่แข่ง แซงหน้าด้วยไอที ยุคใหม่
พิชิตคู่แข่ง แซงหน้าด้วยไอที ยุคใหม่พิชิตคู่แข่ง แซงหน้าด้วยไอที ยุคใหม่
พิชิตคู่แข่ง แซงหน้าด้วยไอที ยุคใหม่Thanachart Numnonda
 
ไอซีทีกับการเปลี่ยนแปลงของสังคมไทย
ไอซีทีกับการเปลี่ยนแปลงของสังคมไทย ไอซีทีกับการเปลี่ยนแปลงของสังคมไทย
ไอซีทีกับการเปลี่ยนแปลงของสังคมไทย Thanachart Numnonda
 
Cloud Computing กับการใช้งานในองค์กรต่างๆ
Cloud Computing กับการใช้งานในองค์กรต่างๆCloud Computing กับการใช้งานในองค์กรต่างๆ
Cloud Computing กับการใช้งานในองค์กรต่างๆThanachart Numnonda
 
3G กับอนาคต ธุรกิจแอพพลิเคชันในเมืองไทย
3G กับอนาคต ธุรกิจแอพพลิเคชันในเมืองไทย3G กับอนาคต ธุรกิจแอพพลิเคชันในเมืองไทย
3G กับอนาคต ธุรกิจแอพพลิเคชันในเมืองไทยThanachart Numnonda
 
บทความ Google vs. Android
บทความ Google vs. Android  บทความ Google vs. Android
บทความ Google vs. Android Thanachart Numnonda
 
Technology Trends & The Impact for Software Industry
Technology Trends & The Impact for Software IndustryTechnology Trends & The Impact for Software Industry
Technology Trends & The Impact for Software IndustryThanachart Numnonda
 
อยากอยู่ 110 ปี
อยากอยู่ 110 ปี อยากอยู่ 110 ปี
อยากอยู่ 110 ปี Thanachart Numnonda
 
Java Programming: คลาสอินพุตและเอาต์พุต
Java Programming: คลาสอินพุตและเอาต์พุตJava Programming: คลาสอินพุตและเอาต์พุต
Java Programming: คลาสอินพุตและเอาต์พุตThanachart Numnonda
 

Más de Thanachart Numnonda (20)

Thailand Digital Industry Survey Result 2021
Thailand Digital Industry Survey Result 2021Thailand Digital Industry Survey Result 2021
Thailand Digital Industry Survey Result 2021
 
ประวัติ (ศาสตร์) อันแสนสุขของ แถมสุข
ประวัติ (ศาสตร์) อันแสนสุขของ แถมสุขประวัติ (ศาสตร์) อันแสนสุขของ แถมสุข
ประวัติ (ศาสตร์) อันแสนสุขของ แถมสุข
 
Planning on Mobile Strategy
Planning on Mobile StrategyPlanning on Mobile Strategy
Planning on Mobile Strategy
 
ข้อบังคับ สมาคมสถาปนิกเทคโนโลยีสารสนเทศประเทศไทย
ข้อบังคับ สมาคมสถาปนิกเทคโนโลยีสารสนเทศประเทศไทยข้อบังคับ สมาคมสถาปนิกเทคโนโลยีสารสนเทศประเทศไทย
ข้อบังคับ สมาคมสถาปนิกเทคโนโลยีสารสนเทศประเทศไทย
 
Software Trends Towards AEC 2015
Software Trends Towards AEC 2015Software Trends Towards AEC 2015
Software Trends Towards AEC 2015
 
Personal Cloud
Personal CloudPersonal Cloud
Personal Cloud
 
How would cloud computing Effect to Software Industry?
How would cloud computing  Effect to Software Industry?How would cloud computing  Effect to Software Industry?
How would cloud computing Effect to Software Industry?
 
Impact of cloud computing to Asian IT Industry
Impact of cloud computing  to Asian IT IndustryImpact of cloud computing  to Asian IT Industry
Impact of cloud computing to Asian IT Industry
 
พิชิตคู่แข่ง แซงหน้าด้วยไอที ยุคใหม่
พิชิตคู่แข่ง แซงหน้าด้วยไอที ยุคใหม่พิชิตคู่แข่ง แซงหน้าด้วยไอที ยุคใหม่
พิชิตคู่แข่ง แซงหน้าด้วยไอที ยุคใหม่
 
รายชื่อผู้สมควรได้รับใบประกาศเกียรติคุณโครงการวิทยาศาสตร์สู่ความเป็นเลิศ]
รายชื่อผู้สมควรได้รับใบประกาศเกียรติคุณโครงการวิทยาศาสตร์สู่ความเป็นเลิศ]รายชื่อผู้สมควรได้รับใบประกาศเกียรติคุณโครงการวิทยาศาสตร์สู่ความเป็นเลิศ]
รายชื่อผู้สมควรได้รับใบประกาศเกียรติคุณโครงการวิทยาศาสตร์สู่ความเป็นเลิศ]
 
พิชิตคู่แข่ง แซงหน้าด้วยไอที ยุคใหม่
พิชิตคู่แข่ง แซงหน้าด้วยไอที ยุคใหม่พิชิตคู่แข่ง แซงหน้าด้วยไอที ยุคใหม่
พิชิตคู่แข่ง แซงหน้าด้วยไอที ยุคใหม่
 
ไอซีทีกับการเปลี่ยนแปลงของสังคมไทย
ไอซีทีกับการเปลี่ยนแปลงของสังคมไทย ไอซีทีกับการเปลี่ยนแปลงของสังคมไทย
ไอซีทีกับการเปลี่ยนแปลงของสังคมไทย
 
Cloud Computing กับการใช้งานในองค์กรต่างๆ
Cloud Computing กับการใช้งานในองค์กรต่างๆCloud Computing กับการใช้งานในองค์กรต่างๆ
Cloud Computing กับการใช้งานในองค์กรต่างๆ
 
3G กับอนาคต ธุรกิจแอพพลิเคชันในเมืองไทย
3G กับอนาคต ธุรกิจแอพพลิเคชันในเมืองไทย3G กับอนาคต ธุรกิจแอพพลิเคชันในเมืองไทย
3G กับอนาคต ธุรกิจแอพพลิเคชันในเมืองไทย
 
บทความ Google vs. Android
บทความ Google vs. Android  บทความ Google vs. Android
บทความ Google vs. Android
 
IT trends for co-creation
IT trends for co-creationIT trends for co-creation
IT trends for co-creation
 
Technology Trends & The Impact for Software Industry
Technology Trends & The Impact for Software IndustryTechnology Trends & The Impact for Software Industry
Technology Trends & The Impact for Software Industry
 
อยากอยู่ 110 ปี
อยากอยู่ 110 ปี อยากอยู่ 110 ปี
อยากอยู่ 110 ปี
 
Open
OpenOpen
Open
 
Java Programming: คลาสอินพุตและเอาต์พุต
Java Programming: คลาสอินพุตและเอาต์พุตJava Programming: คลาสอินพุตและเอาต์พุต
Java Programming: คลาสอินพุตและเอาต์พุต
 

ความรู้เบื้องต้นภาษาจาวา

  • 1. บทท 1 ความรเบองตนของภาษาจาวา (Introduction to Java Programming) ผศ.ธน+ศา เครอไวศยวรรณ คณะเทคโนโลย4สารสนเทศ สถาบ7นเทคโนโลย4พระจอมเกลาเจาค:ณทหารลาดกระบ7ง
  • 2. วตถประสงค  แนะน>าความแตกต?างระหว?างภาษาเช+งกระบวนการ และภาษาเช+งออปเจBค  แนะน ประว7ตโดยย?อและเทคโนโลย4จ ว +  อธบ ยหลกก รของ Java Virtual Machine (JVM) และ Java Platform  แนะน ซอฟตแวรทใช$ในก รพฒน โปรแกรมภ ษ จ ว  แนะน>าจ:ดเด?นของภาษา  อธบ ยและแสดงต7วอย?างของโปรแกรมจาวาประย:กตIและโปรแกรมจาวา แอปเพลBต  แนะน>าว+ธการใชค?มอ Java API 4
  • 3. ระบบคอมพวเตอร  ฮารIดแวรI เช?น  ระบบปฏ+บ7ตการ เช?น Windows Vista, Linux +  โปรแกรมประย:กตI เช?น Microsoft Office, Web Browser
  • 4. ภ ษ คอมพ+วเตอรI  ภาษาเคร+อง (Machine Language) W  ภาษาแอสเซมบล4 (Assembly Language)  ภาษาระด7บสง (High-Level Langugae)
  • 5. ภ ษ ระด7บสง  ภาษาคอมพ+วเตอรIย:คแรก • FORTRAN, COBOL, BASIC  ภาษาเช+งกระบวนการ (Procedural Language) • PASCAL, C  ภาษาเช+งออปเจBค (Object Oriented Programming; OOP) • C++, Java, C#
  • 6. ตวแปลภ ษ  แบ+งออกเป,นสองแบบ  คอมไพเลอร (Compiler) • C++, FORTRAN  อนเตอรพรตเตอร (interpreter) • Java, C#
  • 7. ตวแปลภ ษ  คอมไพเลอร  อนเตอรพรตเตอร
  • 8. ภ ษ เช+งกระบวนการ และภาษาเช+งออปเจBค  ภาษาเช+งกระบวนการ • โปรแกรมจะแบ?งออกเปgนส?วนย?อยๆท4เร4ยกว?าโมดล (module) W • แต?ละโมดลจะตองเปgนอ+สระต?อก7น • การออกแบบใหแต?ละโมดลม4ความเปgนอ+สระต?อก7นน7นท>าไดยาก • ตนท:นในการพ7ฒนาโปรแกรมสง  ภาษาเช+งออปเจBค • การพ7ฒนาโปรแกรมเปgนการเล4ยนแบบการท>างานเช+งออปเจBค • สามารถน>าโปรแกรมกล7บมาใชใหม? (reuse) ไดด4กว?าภาษาเช+งกระบวนการ
  • 9. โปรแกรมเชงออปเจ.ค  ว+เคราะหIปjญหาโดยมองปjญหาว?าประกอบไปดวยออปเจBคต?างๆ  จ>าลองค:ณล7กษณะและพฤต+กรรมของออปเจBค  ออปเจ.คจะส+งข$อม/ลกนโดยผ+ นข+ วส ร (Message)  แตกต+ งจากภ ษ เช+งกระบวนการทว+เคราะหIปjญหาโดยพ+จารณาจากล>าด7บ การท>างานและแบ+งก รท ง นของโปรแกรมต มฟ3งกชนต+ งๆ
  • 10. ระบบทะเบยนนกศ6กษ  วธก รเช+งกระบวนการ  วธแบบเชงออปเจ.ค • ลงทะเบยนร ยวช • นกศ6กษ • ช ระเงน • ใบลงทะเบยน • เพมวช • ร ยช7อร ยวช
  • 11. ออปเจBคชน+ดนกศ6กษ  ค:ณล7กษณะ • ชWอ • รห7สน7กศmกษา • เกรดเฉล4Wย  พฤต+กรรม • ลงทะเบยน • เพมหรอถอนวช
  • 12. ข$อดของก รพฒน โปรแกรมเชงออปเจ.ค  แนวค+ดการว+เคราะหIปjญหาใกลเค4ยงก7บธรรมชาต+ของมน:ษยI  ระบบจรง (real life) แบ+งต มออปเจ.ค ไม+ไดข68นอย?กบฟ3งกช W นก รท ง น ช7  ขบวนการพ7ฒนาโปรแกรมท>าไดรวดเรBวขmน  ง+ ยต+อก รพฒน และแก$ไข  น>าโปรแกรมกล7บมาใชใหม?ไดง?าย
  • 13. ประวตของภ ษ จ ว  พ7ฒนาขmนโดยท4มว+จ7ยของบรษทซ7นไมโครซ+สเตBมสI (Sun Microsystems)  พฒน ม จ กโครงก รทต$องก รพฒน ระบบซอฟตแวรเพ7อควบคมเคร7องใช$ ไฟฟ9 ขน ดเล.กภ ยในบ$ น  ช7อเดมค7อภาษา Oak ต?อมาเปล4WยนชWอเปgนภาษาจาวา  ภาษาจาวาเร+มเปgนท4Wนยมแพร?หลายในปp ค.ศ. 1995 W +  ภาษาจาวาเปgนภาษาท4Wไม?ขนก7บแพลตฟอรIม (platform independent) m  JDK 1.0 ประกาศใชเมWอปp 1996  JDK เวอรIช7นปjจจ:บ7นคอ 6
  • 14. โลโก$และ Mascot ภ ษ Java  James Gosling ค7อบด ภษจว  โลโก$ภ ษ จ ว เป,นร/ปแก$วก แฟ  Duke เป,น Mascot ภ ษจว
  • 15. องคประกอบของเทคโนโลยจ ว  JVM (Java Virtual Machine) • ท>าหนาท4เปgนอ+นเตอรIพร4ตเตอรI W  JRE (Java Runtime Environment) • ใชในการร7นโปรแกรม  JDK (Java Development Kit) • เปgนช:ดพ7ฒนาโปรแกรมภาษาจาวา
  • 16. JVM จ ว เทคโนโลยใช$ท8งคอมไพเลอรและอนเตอรพรตเตอร ในก รคอมไพลI และรนโปรแกรม  โปรแกรมภ ษ จ ว มซอรดโค$ดเป,น .java และจะแปลเป,นโปรแกรมไบทโค$ด (byte code) ทเป,น .class  โปรแกรมไบทโค$ดจะรนบนระบบคอมพวเตอร โดยใช$ JVM (Java Virtual Machine) ทเป,นอนเตอรพรตเตอร ซ6งจะแปลโปรแกรมไบทโค$ดให$เป,นภาษา เครWองท4ขmนอย?ก7บแพลตฟอรIมน7น W
  • 17. JVM  เครWองคอมพ+วเตอรIท4Wจะสามารถร7นโปรแกรมไบทIโคดไดจะตองม4 JVM อย?  JVM อาจเปgนซอฟตIแวรIหรอฮารIดแวรI  ในปjจจ:บ7น JVM ม4อย?ใน • ระบบปฏ+บ7ต+การคอมพ+วเตอรIตางๆ ? • โปรแกรมเวBบบราวเซอรI • เครWองใชไฟฟzาต?างๆ • โทรศ7พทI • เครWองมอสWอสาร • สมารIทการIด
  • 19. JRE  JRE จะรนโค$ดทแปลม จ ก JVM โดยจะท ง น 3 ข8นตอน ค7อ • โหลดไบทโค$ดโดยใช$ Class Loader • ตรวจสอบไบทโค$ดโดยใช$ Byte Code Verifier • รนไบทโค$ดโดยใช$ Runtime Interpreter
  • 21. JDK  JDK (Java Development Kit)  เด+มชWอ JDK แต?ตอมาเปล4WยนชWอเปgน J2 ต7งแต? JDK 1.2 ?  โปรแกรม JDK • javac.exe : โปรแกรมคอมไพเลอรI • java.exe : โปรแกรมอ+นเตอรIพร4ตเตอรI (JVM)  JDK ไม?ใช? โปรแกรมแบบ SDK (Software Development Kit) จmงไม?ม4อ+ด4เตอรI ในการเข4ยนโปรแกรม
  • 22. Java SDK และ Java Editor  Java SDK • Netbeans ของบร+ษ7ท Sun Microsystems (http://www.netbeans.org) • Eclipse ของบร+ษ7ท IBM (http://eclipse.org) • JDeveloper ของบร+ษ7ท Oracle (http://www.oracle.com) • intelliJ IDEA ของบร+ษ7ท JetBrains (http://www.jetbrains.com/idea)  Java Editor • EditPlus ของบร+ษ7ท ES-Computing (http://www.editplus.com) • JCreator ของบร+ษ7ท Xinox Software (http://www.jcreator.com)
  • 23. จ:ดเด?นของภ ษ จ ว  ความง?าย (simple)  ภาษาเช+งออปเจBค (object oriented)  การกระจาย (distributed)  การปzองก7นการผ+ดพลาด (robust)  ความปลอดภ7ย (secure)  สถาปjตยกรรมกลาง (architecture neutral)  เคลWอนยายง?าย (portable)
  • 24. จ:ดเด?นของภ ษ จ ว  อ+นเตอรIพร4ต (interpreted)  ประส+ทธ+ภาพสง (high performance)  ม7ลต+เธรด (multithreaded)  พลว7ต (dynamic)
  • 25. Java Platform  แพลตฟอรมก.ค7อ ฮ รดแวรและ software environment ทจะใช$ในก รรน โปรแกรม  แพลตฟอรIมของภาษาจาวาประกอบดวย • Java Virtual Machine • Java Application Programming Interface (Java API)
  • 26. Java Platform  บร+ษทซ7นไมโครซ+สเตBมสIไดก>าหนดแพลตฟอรIมของ Java ไวสามรปแบบคอ 7 • Java Platform, Standard Edition (Java SE) • Java Platform, Enterprise Edition (Java EE) • Java Platform, Micro Edition (Java ME)
  • 27. JavaTM 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
  • 28. JavaTM Platform, Standard Edition 6  Java SE เป,นแพลตฟอรมพ7นฐ 8 นของภ ษ จ ว ส หรบพฒน บนเคร7องคอมพวเตอรทวไป  เดมช7อ J2SE  เวอรชนล+ สดค7อ Java SE 6
  • 29. JavaTM Platform, Enterprise Edition  Java EE เป,นแพลตฟอรมของภ ษ จ ว ส หรบพฒน โปรแกรมบนเคร7อง แม+ข+ ย  ต$องมเคร7องแม+ข+ ยทมโปรแกรม Web Server หร7อ Application Server  ใช$พฒน โปรแกรมขน ดใหญ+ส หรบองคกร  ตวอย+ งเช+นก รพฒน โปรแกรมบน Web เช+น โปรแกรมของ Yahoo, E-Bay ภ ษ อ7นๆทเขยนค7อ PHP หร7อ ASP.NET  เวอรชนล+ สดค7อ Java EE 5
  • 30. JavaTM Platform, Mobile Edition  Java ME เป,นแพลตฟอรมของภ ษ จ ว ส หรบพฒน โปรแกรมส หรบ อปกรณขน ดเล.กเช+น โทรศพทม7อถ7อ รพฒน โปรแกรมบนโทรศพทม7อถ7อเช+นเคร7อง Nokia ทรนบน  นยมใช$ในก ระบบปฎบตก ร Symbian  ป3จจบนมก รออกแพลตฟอรมในก รพฒน จ ว บนโทรศพทม7อถ7อแบบ อ7นๆเช+น Android, Java FX
  • 31. โปรแกรมจ ว พพ78นฐ น (Java SE)  โปรแกรมจาวาประย:กตI (Java Application) • โปรแกรมใช$ง นทวไป • โปรแกรมท>างานภายใตจาวาอ+นเตอรIพร4ตเตอรI • โปรแกรมแบบ Standalone  โปรแกรมจาวาแอปเพลBต (Java Applet) • โปรแกรมทท>างานภายใตโปรแกรมเวบบร วเซอรท4ม4 JVM W
  • 32. ก รสรางโปรแกรมจ ว ประย:กตI  เข4ยนซอรIดโคด  HelloWorld.java  คอมไพลIโปรแกรม javac HelloWorld.java → HelloWorld.class  ร7นโปรแกรม java HelloWorld
  • 33. HelloWorld.java public class HelloWorld { public static void main(String args[]) { System.out.println("Hello World"); } }
  • 36. ก รสรางโปรแกรมจ ว แอปเพลBต  โปรแกรมจ ว แอปเพลBตจะมไฟลทเขยนข68นสองไฟลค7อ • โปรแกรมซอรIดโคด (.java) • โปรแกรมเวBบเพจ (.html)  ข7นตอนการท>างาน • เข4ยนโปรแกรมซอรIดโคด  HelloWorldApplet.java • คอมไพลIโปรแกรม  HelloWorldApplet.class • ใชโปรแกรมเวBบบราวเซอรIใดๆเป‚ดโปรแกรม HelloWorld.html
  • 37. HelloWorldApplet.java import java.awt.*; import java.applet.*; public class HelloWorldApplet extends Applet { public void paint(Graphics g) { g.drawString("Hello World",20,20); } }
  • 38. HelloWorld.html <HTML> <HEAD> <TITLE>HelloWorld Example</TITLE> </HEAD> <BODY> <APPLET CODE="HelloWorldApplet.class" WIDTH="300" HEIGHT="300"> </APPLET> </BODY> </HTML>
  • 41. Java API Documentation  เอกส รในร/ปแบบของ HTML ทอธบ ยข$อม/ลเกยวกบ API (Application Programming Interface) ของภ ษ จ ว ส ม รถทจะ download ได$จ ก http://java.sun.com  เรยกด/ online ได$ท http://java.sun.com/javase/6/docs/api/index.html
  • 42. ค?มอ Java API  Java API เป,นข$อก หนดทว+ ด$วยคล สและอนเตอรเฟสต+ งๆทก หนดไว$ใน แพคเก.จม ตร ฐ นของภ ษ จ ว  ค?มอ Java API จะแสดงรายละเอ4ยดต?างๆของคลาสหรออ+นเตอรIเฟสด7งน4 • ล>าด7บการสบทอดของคลาส • ค>าอธ+บายเก4Wยวก7บคลาสและจ:ดประสงคIทวไป 7W • รายชWอค:ณล7กษณะต?างๆ ของคลาส • รายชWอเมธอดต?างๆ ของคลาส • รายชWอ Constructor ต?างๆ ของคลาส • ค>าอธ+บายรายละเอ4ยดของค:ณล7กษณะแต?ละต7วของคลาส • ค>าอธ+บายรายละเอ4ยดของเมธอดแต?ละต7วของคลาส • ค>าอธ+บายรายละเอ4ยดของConstructor แต?ละต7วของคลาส
  • 44. สร:ปเนอหาของบท  ภาษาระด7บสงแบ?งออกเปgนสองประเภทคอ ภาษาเช+งกระบวนการ และภาษา เช+งออปเจBค  ภาษาจาวาเปgนภาษาเช+งออปเจBคท4ใชท7งต7วแปลภาษาแบบคอมไพเลอรIและ W อ+นเตอรIพร4ตเตอรIในการคอมไพลIและร7นโปรแกรม  คอมไพเลอรIของภาษาจาวาจะท>าหนาท4แปลโปรแกรมภาษาจาวาใหเปgนโปร W แกรมไบทIโคด ซmงจะใชอ+นเตอรIพร4ตเตอรI (JVM) ในการแปลโปรแกรมไบทI W โคดใหเปgนภาษาเครWอง  โปรแกรมภาษาจาวาสามารถท>างานขามแพลตฟอรIมไดถาระบบ คอมพ+วเตอรIน7นม4 JVM อย?  แพลตฟอรIมของจาวาประกอบไปดวย JVM และ Java API ซmWง Java ม4 แพลตฟอรIม 3 แบบคอ Java SE, Java EE และ Java ME
  • 45. สร:ปเนอหาของบท  ช:ดพ7ฒนาโปรแกรมภาษาจาวา JDK ประกอบไปดวยโปรแกรมต?างๆท4Wส>าค7ญ คอ โปรแกรมคอมไพเลอรI (javac.exe) และโปรแกรมอ+นเตอรI พร4ตเตอรI (java.exe)  โปรแกรมจาวาท4Wอย?บนแพลตฟอรIม Java SE สามารถพ7ฒนาไดสองรปแบบ คอโปรแกรมจาวาประย:กตIซงจะท>างานภายใต JVM โดยตรง และโปรแกรม mW จาวาแอปเพลBตซmงจะท>างานภายใตเวBบบราวเซอรIท4Wม4 JVM W  ค?มอ Java API จะช?วยในการคนหารายละเอ4ยดของแพคเกBจและคลาสต?างๆ ท4Wม4อย?ในช:ดพ7ฒนาโปรแกรม JDK
  • 46. แบบฝ„กห7ด  ต+ดต7ง NetBeans 6.5  แบบฝ„กห7ดท4W 1 การเข4ยนโปรแกรมจาวาประย:กตIอย?างง?าย • เข4ยนโปรแกรมจาวาประย:กตIเพWอแสดงขอความ Hello World  แบบฝ„กห7ดท4W 2 การเข4ยนโปรแกรมจาวาแอปเพลBตอย?างง?าย • เข4ยนโปรแกรมจาวาแอปเพลBตเพWอแสดงขอความ Welcome to Java  แบบฝ„กห7ดท4W 3 การใชค?มอ Java API