slide1 n.
Download
Skip this Video
Download Presentation
INT2104 ???????????????????????? (Object Oriented Programming Development)

Loading in 2 Seconds...

play fullscreen
1 / 102

INT2104 ???????????????????????? (Object Oriented Programming Development) - PowerPoint PPT Presentation


  • 148 Views
  • Uploaded on

INT2104 การพัฒนาโปรแกรมเชิงวัตถุ (Object Oriented Programming Development). www.thawatchai.net/int2104. ธวัฒน์ชัย ศิลังค์ประชา. แนวการสอน.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'INT2104 ???????????????????????? (Object Oriented Programming Development)' - farren


Download Now An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

INT2104

การพัฒนาโปรแกรมเชิงวัตถุ

(Object Oriented Programming Development)

www.thawatchai.net/int2104

ธวัฒน์ชัย ศิลังค์ประชา

slide2
แนวการสอน
  • ศึกษาแนวคิดหลักการเชิงวัตถุ( Introduction to Object-oriented) การจำลองสรรพสิ่งด้วยเทคนิคเชิงวัตถุ ความหมายวัตถุ(object)คลาส(class)กระบวนการ(Method)
  • วิธีกำหนดข้อมูลในรูปแบบต่างๆ การใช้คำสั่งต่าง ๆ
slide3
แนวการสอน
  • การรับและแสดงผลข้อมูล โครงสร้างควบคุมการทำงาน ( Control Structures)การตัดสินใจ การวนรอบทำงานซ้ำ สตริง (String) อะเรย (Array)
  • การเขียนโปรแกรมเชิงวัตถุในการสืบทอด การนําคลาสมาใชงาน การใชงานไดหลายรูปแบบ(Polymorphism) การเขียนโปรแกรมเชื่อมโยงติดต่อฐานข้อมูล(MySQL)เบื้องต้น
slide4
แผนการเรียน
  • วัตถุประสงค์

เพื่อให้ผู้เรียน มีความรู้ ทักษะ เกี่ยวกับ ศึกษาแนวคิดเกี่ยวกับหลักการเชิงวัตถุ( Introduction to Object-oriented ) การจำลองสรรพสิ่งด้วยเทคนิคเชิงวัตถุ ความหมายวัตถุ(object) คลาส(class) กระบวนการ(Method) เอนแคปชูเลชั่นการถ่ายทอดคุณสมบัติ กรรมวิธีโพลีมอร์ฟิซึม เทคโนโลยีจาวา

slide5
วัตถุประสงค์
  • การเขียนโปรแกรมเชิงวัตถุด้วยภาษาจาวา (Object Programming with Java)
  • โครงสร้างของโปรแกรมจาวา วิธีกำหนดข้อมูลในรูปแบบต่างๆ การใช้คำสั่งต่าง ๆ การรับและแสดงผลข้อมูล โครงสร้างควบคุมการทำงาน (ControlStructures)
slide6
วัตถุประสงค์
  • การตัดสินใจ การวนรอบทำงานซ้ำ การประมวลผลแบบสตริง (String)และอะเรย (Array) การเขียนโปรแกรมเชิงวัตถุในการสืบทอด การนําคลาสมาใชงาน
  • การใชงานไดหลายรูปแบบ(Polymorphism) การสร้าง packageใช้งานการเขียนโปรแกรมเชื่อมโยงติดต่อฐานข้อมูล(MySQL)เบื้องต้น
slide7
เอกสารการเรียน
  • รายชื่อหนังสือและเอกสารประกอบการบรรยาย
  • ตำราหลัก

Objects First with Java David Barnes & Michael Kolling 2009

เขียนโปรแกรม JAVA เบื้องต้น พิมพ์ครั้งที่ 2

ผู้แต่ง/แปล : วรเศรษฐ สุวรรณิก และคณะ,2550

  • 2.Computing Concepts with Java Essentials 3rd,Cay Horstmann @John Wiley& Sons,Inc ISBN 0-471-24371-x
slide8
แผนการเรียน (ต่อ)
  • ตำราประกอบตำราประกอบ

1.เขียนโปรแกรม JAVA เบื้องต้น พิมพ์ครั้งที่ 2

ผู้แต่ง/แปล : วรเศรษฐ สุวรรณิก และคณะ,2550

2.เรียนรู้โครงสร้างข้อมูลและอัลกอริทึมด้วย JAVA (ฉบับปรับปรุง)

ผู้แต่ง/แปล : เนรมิตร ชุมสาย ณ อยุธยา

3.Java GUI using NetBeans วรเศรษฐ สุวรรณิก และคณะ,2551

4.เอกสารประกอบการสอนรายวิชา การเขียนโปรแกรมเชิงวัตถุด้วยภาษาจาวา อ.ธวัฒน์ชัย ศิลังค์ประชา 2551

slide9
เอกสารและข้อมูลสำคัญ
  • เอกสารและข้อมูลสำคัญ
  • 1.เขียนโปรแกรม JAVA เบื้องต้น พิมพ์ครั้งที่ 2
  • ผู้แต่ง/แปล : วรเศรษฐ สุวรรณิก และคณะ,2552
  • 2 .เรียนรู้โครงสร้างข้อมูลและอัลกอริทึมด้วย JAVA (ฉบับปรับปรุง)
  • ผู้แต่ง/แปล : เนรมิตร ชุมสาย ณ อยุธยา
  • 4.Java GUI using NetBeans วรเศรษฐ สุวรรณิก และคณะ,2553
  • 5.เอกสารประกอบการสอนรายวิชา การเขียนโปรแกรมเชิงวัตถุด้วยภาษาจาวา .ธวัฒน์ชัย ศิลังค์ประชา 2554
  • 6.http://www.thawatchai.net/int2104.
slide10
วิธีการวัดผลและประเมินผลวิธีการวัดผลและประเมินผล

สอบย่อย สอบทั้งหมด 5 ครั้งๆ 5 คะแนนเป็น 15 คะแนน ขาดสอบ = 0

Midterm สอบกลางภาค 30 คะแนน

งาน-ภาคปฎิบัติ 20 คะแนน งานเดี่ยว

เวลาเรียน 5 คะแนน

Final 30 คะแนน

รวม 100 คะแนน

slide11

ครั้งที่ 1

แนะนำ Java

  • ความเป็นมาของจาวา, แนวคิดของ "write once, run anywhere"
  • คุณสมบัติของภาษา Java
  • การรักษาความปลอดภัย
  • Java กับ World Wide Web
  • ขั้นของการศึกษาจาวา
object
Object
  • การมองเห็นสิ่งต่างๆเป็นวัตถุเป็นการมองที่เป็นธรรมชาติของมนุษย์ ภาพที่เราเห็นจะถูกแยกออกเป็นวัตถุต่างๆโดยอัตโนมัติ
  • ยกตัวอย่าง เช่น เมื่อเรามองไปที่โต๊ะทำงาน สมองของเราจะแยกส่วนต่างๆของภาพโต๊ะทำงานออกเป็น ปากกา, กระดาษ, แฟ้ม, ลิ้นชัก, โต๊ะ ฯลฯ
object1
Object
  • หรือเมื่อเราอยู่ในร้านอาหาร เราอาจจะเห็นบริกร, พนักงานเก็บสตางค์, พนักงานเข็นรถอาหาร เป็นต้น
  • บริกรทำหน้าที่รับออเดอร์จากลูกค้า, พนักงานเก็บสตางค์มีหน้าที่เก็บเงินและทอนสตางค์
slide15

Object

  • เมื่อเรานึกถึงชื่อของวัตถุหรืออาชีพของคน เรามักจะคิดถึง

คุณสมบัติ(Attribute)และความสามารถ ของวัตถุหรือคนเหล่านั้นขึ้นมาพร้อมๆกัน

slide16

Object

  • เช่น เมื่อเรานึกถึงปากกา เราก็รู้ว่ามันมีสีอะไรและมันสามารถใช้เขียนได้
slide17
และเมื่อเราต้องการทำอะไรบางอย่าง เราจะหาวัตถุหรือคนที่สามารถช่วยเราทำงานได้ เช่น ถ้าเราต้องการเขียน เราก็จะหาปากกาและกระดาษ,

หรือถ้าเราต้องการอาหาร เราก็เรียกบริกรเข้ามารับออเดอร์ เราไม่จำเป็นต้องทราบการทำงานของปากกาว่ามันจ่ายหมึกออกมาได้อย่างไร

  • เหมือนกับที่เราไม่จำเป็นต้องทราบว่าเมื่อ บริกรรับออเดอร์จากเราไปแล้วเขาจะไปบอกพ่อครัวอย่างไร เราทราบแต่ว่าเมื่อเราตวัดปลายปากกา หมึกจะออกมา และเมื่อเราสั่งอาหาร เราก็(มัก)จะได้อาหารตามที่เราสั่งเสมอ
slide18
เห็นได้ชัดว่าเราคุ้นเคยกับการแก้ปัญหาโดยใช้เครื่องมือหรือคนเป็นอย่างดี เนื่องจากการแก้ปัญหาจะทำได้ง่ายขึ้นเมื่อถูกเปลี่ยนให้อยู่ในมุมมองที่คุ้นเคย
  • ดังนั้นภาษาโปรแกรมที่เหมาะแก่การแก้ปัญหาหลายๆปัญหาก็ควรจะมีสนับสนุนการมองสิ่งต่างๆเป็นวัตถุด้วยภาษาที่สนับสนุนมุมมองดังกล่าว
  • เรียกว่าภาษาเชิงวัตถุ (Object-Oriented Programming Languages) ภาษา Java, C++, SmallTalk เป็นภาษาโปรแกรมเชิงวัตถุ
object class
Object & Class

Object

Object-Program

Object:Real-world

anatomy of an object 1
Anatomy of an Object(1)
  • An object is an abstraction and has an identity
  • An object has a name (which may or may not be unique)
  • An object is anything exhibits structure and behavior

- Structure

Attribute that define the object’s properties

Each attribute takes on a single value for a given object

- Behavior

Operations performed on or by an object

Each operation is implemented via a method

Object can be related or linked to other objects

object concept
Object Concept
  • Things

Tangible Things =>Physical Things

Intangible Things

บทบาท(Tole) (อาจารย์ พนักงาน ผู้ป่วย)

สิ่งอุบัติขึ้น(Incident) หรือ Event ต่างๆ เที่ยวบินฯ

การโต้ตอบ(Interaction) (ตั้งแต่ 2 Object(ผู้ซื้อ-ขาย))

slide23

1.สิ่งที่เป็นรูปธรรม(จับต้องได้)1.สิ่งที่เป็นรูปธรรม(จับต้องได้)

Object

Tangible Things

สิ่งที่จับต้องได้ เช่น สินค้า,ลูกค้า

slide24

Intangible Things

  • บทบาท(Tole) (อาจารย์ พนักงาน ผู้ป่วย)
  • สิ่งอุบัติขึ้น(Incident) หรือ Event ต่างๆ เที่ยวบินฯ
  • การโต้ตอบ(Interaction) (ตั้งแต่ 2 Object(ผู้ซื้อ-ผู้ขาย))
  • เที่ยวบิน
  • การวิ่ง
  • แสง
  • ความเป็นเจ้าของ

2.สิ่งที่เป็นนามธรรม(จับต้องไม่ได้)

Object

object concepts
Object Concepts
  • Object = a “thing” that’s a member of a class
    • Examples …
    • Dwell here a while CLASS vs. OBJECT
  • Objects contain attributes + behaviors
  • Organization
    • Generalization/specialization hierarchies
    • Whole/part hierarchies
object class cont
Object & Class (Cont.)

Person

(Person)

John Chan

Person

Mary Lee

Person

Nelson Sze

Class

Objects

object class cont1
Object & Class (Cont.)
  • Attribute:
    • An observable property of objects in a class
    • Each object in the class has a value for each attribute
    • The value may or may not be unique for an individual object
object class cont2
Object & Class (Cont.)

Person

(Person)

John Chan

30

Person

Mary Lee

24

Person

Nelson Sze

60

Name: String

Age: int

Class with attributes

Objects

object class cont3
Object & Class (Cont.)
  • Operation
    • A function or transformation that may be applied to or by an object in a class; e.g. Debit, Credit
    • All objects in a class share the same operations
    • Each operation has the current object as an implicit argument
object class cont4
Object & Class (Cont.)
  • Method - The implementation of an operation in a class
  • Query - An operation which merely computes a value without modifying any object
object class cont5
Object & Class (Cont.)

Person

Name

Age

Attributes

Change Job

Change Address

Get Address

Get Job

Operations

class and object
Class and Object

Employee

Employee

Employee

name:String

name=‘Smith’

name=‘Sharp’

age=24

age=52

age:Integer

Class Employee

Objects instantiated from

the class Employee

representing objects

Professor Clark

Representing Objects
  • An object is represented as rectangles with underlined names

: Professor

a + b = 10

a + b = 10

ProfessorClark

Class Name Only

ProfessorClark :

Professor

Object Name Only

Class and Object Name

(stay tuned for classes)

what is a class
What is a Class?
  • A class is a description of a group of objects with common properties (attributes), behavior (operations), relationships, and semantics
    • An object is an instance of a class
  • A class is an abstraction in that it:
    • Emphasizes relevant characteristics
    • Suppresses other characteristics

OO Principle: Abstraction

sample class
Sample Class

Class

Course

Properties

Name

Location

Days offered

Credit hours

Start time

End time

Behavior

Add a student

Delete a student

Get course roster

Determine if it is full

a + b = 10

representing classes
Representing Classes
  • A class is represented using a compartmented rectangle

a + b = 10

Professor

Professor Clark

representing classes in the uml
Representing Classes in the UML
  • A class is represented using a rectangle with compartments.

Professor J Clark

the relationship between classes and objects

Professor Smith

Professor Mellon

Professor Jones

The Relationship Between Classes and Objects
  • A class is an abstract definition of an object
    • It defines the structure and behavior of each object in the class
    • It serves as a template for creating objects
  • Objects are grouped into classes

Objects

Class

Professor

basic principles of object technology

Object Technology

Abstraction

Encapsulation

Modularity

Hierarchy

Basic Principles of Object Technology

จะกล่าวในรายละเอียดอีกครั้งเมื่อศึกษาถึงเรื่องต่างๆ เหล่านี้ภายหลัง

write once run anywhere
Write once, run anywhere

"ถนนทุกสายมุ่งสู่ โลกอินเตอร์เนต เครื่องหลากหลาย ระบบปฏิบัติการต่างกัน"

เราต้องการซอฟท์แวร์ที่ ..

Consistently : แน่นอน ทำงานได้เหมือนกันในทุกที่

Anywhere on any platform : รันได้หลายที่ ในหลายระบบปฏิบัติการ

Reliability : น่าเชื่อถือ

Security : ปลอดภัย

Low Risk: ความเสี่ยงต่ำ ไม่อันตราย

เลือกใช้อะไรภาษาอะไรดี

C++, JAVA, Small Talk, Object Pascal,VBasic ??? We choose "JAVA".

java technology is both a programming language and a platform
Java technology is both a programming language and a platform.

About the Java Technology .?

Java Platforms

A platform is the hardware or software environment in which a program runs.

a virtual machine
A Virtual Machine
  • ภาษาจาวาเป็นทั้ง Compiler และ Interpreter

Compiler : ต้อง Compile ก่อนการใช้งาน แต่ Compile เป็น ByteCode

Interpreter : การรันโปรแกรมจาวา ByteCode ของจาวาจะถูก Load

เมื่อมีการเรียกใช้เท่านั้น คำสั่งใน ByteCode จะถูกแปลอีกครั้งในขั้นตอนการรัน

byte code and java virtual machine

Binary

File

Source

Code

Binary

File

Pentium

Compiler(Pentium)

Binary

File

PowerPC

Compiler(PowerPC)

SPARC

Compiler(SPARC)

Byte Code and Java Virtual Machine
  • Existing Development Environment

%cc Hello.c –o Hello

% Hello

Binary Code

Run

bytecodes and the java virtual machine

Java

Interpreter

Java

Code

Java Compiler

(Pentium)

Pentium

Java

ByteCode

(Independent on

Platform)

Java

Interpreter

Java Compiler

(PowerPC)

PowerPC

Java

Interpreter

SPARC

Java Compiler

(SPARC)

Bytecodes and the Java Virtual Machine
  • Java Development Environment

%javac Hello.java

Hello.class created

% java Hello

JVM

Byte Code

Run

java is cross platform1

Java

  • Source Code

Java Bytecode

JIT Compiler

or Interpreter

Compiler

(javac)

Execution

Java Bytecode

Java is Cross-Platform?
  • Truth: Java programs can compile to machine-independent bytecode
  • Truth: All major operating systems have Java runtime environments
    • Most bundle it (Solaris, MacOS, Windows 2k, OS/2)

Compile Time

Run Time

java platforms
Java Platforms
  • สามารถทำงานบน OS และ Platform ที่ต่างๆ กันได้ โดยไม่ต้อง Compile ใหม่ (Write One - Run Anywhere)
  • สามารถรันบน Web Page
  • สามารถรันบนอุปกรณ์ที่มี Java Virtual Machine เช่น โทรศัพท์มือถือ หุ่นยนต์
slide49

องค์ประกอบเทคโนโลยีจาวา(Java Technology?)

1. Java Virtual Machine (JVM)

2. Java Runtime Environment (JRE)

3. Java 2 Software Developer Kit (J2SDK)

1 java virtual machine jvm
1. Java Virtual Machine (JVM)

เป็นส่วนที่ทำหน้าที่เป็นตัวอินเตอร์พรีเตอร์ (interpreter)– เป็นส่วนที่ทำหน้าที่เป็นตัวอินเตอร์พรีเตอร์ (interpreter) คือ จะทำการแปลจาวาไบต์โค้ด ให้เป็นภาษาเครื่องเข้าใจ– จาวาไบต์โค้ดสามารถรันได้หลายแพลตฟอร์ม ถ้าแพลตฟอร์มนั้นมี JVM

2 java runtime environment jre
2.Java Runtime Environment (JRE)
  • – โหลดไบต์โค้ดโดยใช้ Class loader
  • – ตรวจสอบไบต์โค้ดโดยใช้ Bytecode Verifier
  • – รันไบต์โค้ดโดยใช้ Runtime Interpreter
  • เป็นส่วนที่ใช้ในการรันโปรแกรม โดยจะทำงาน 3 ขั้นตอน ดังนี้
3 java 2 software developer kit j2sdk
3. Java 2 Software Developer Kit (J2SDK)
  • เป็นชุดพัฒนาโปรแกรมภาษาจาวา ประกอบไปด้วยโปรแกรมต่างๆ แต่ไม่มีโปรแกรม Editor รวมอยู่ด้วย อย่างเช่น
      • โปรแกรมคอมไพเลอร์ (javac.exe)
      • โปรแกรมอินเตอร์พรีเตอร์ (java.exe)
2 platform of java 2
แพลตฟอร์มของจาวา 2 (Platform of Java 2)

Java 2 Platform, Enterprise Edition (J2EE)

Java 2 Platform, Standard Edition (J2SE)

Java 2 Platform, Micro Edition (J2ME)

java 2 platform standard edition j2se
Java 2 Platform, Standard Edition (J2SE)
  • เป็นแพลตฟอร์มที่ใช้ในการพัฒนาโปรแกรม
  • ภาษาจาวากับเครื่องพีซีทั่วไป ประกอบด้วย Java Application (โปรแกรมใช้งานทั่วไป) และ
  • Java Applet (โปรแกรมจาวาที่รันบนบราวเซอร์เช่น IE)
java application
Java Application (การประมวลผล)

Class …

{

}

Byte code

Byte code

Byte code

Byte code

Java.exe

Javac.exe

compile

โหลด

Byte code file

(.class)

Source code

(.java)

Windows

Unix

Linux

JVM

JVM

JVM

java applete
Java Applete(การประมวลผล )

Java app

applets

Browser

JVM

JVM

application

Operating System

Hardware

java 2 platform enterprise edition j2ee
Java 2 Platform, Enterprise Edition (J2EE)
  • เป็นแพลตฟอร์มที่มุ่งเน้นในการพัฒนา
  • โปรแกรมเครือข่าย สำหรับใช้งานในองค์กร โดยใช้โปรแกรม Application Server หรือ Web Server
  • ถูกออกแบบมาเพื่อให้สามารถใช้ งานบนระบบเครื่องเซิร์ฟเวอร์รองรับการทำงานร่วมกับ Servlets, JSPและ XML
java 2 platform micro edition j2me
Java 2 Platform, Micro Edition (J2ME)
  • Java 2 Platform, Micro Edition (J2ME) เป็นแพลตฟอร์มที่ใช้พัฒนาโปรแกรมเพื่อใช้งาน
  • กับอุปกรณ์อิเล็กทรอนิกส์ ที่มีทรัพยากรจำกัด เช่น มือถือหรือพีดีเอ (PDA : Personal
  • Digital Asistance)
standard java
Standard Java ปัจจุบันมีหลายรุ่น หลักๆ
  • Sun JDK http://java.sun.com/
    • Standard 1.0 : JDK 1.0 [Old]
    • Standard 1.1 : JDK 1.1 , 1.1.6, 1.1.8 [Still using]
    • Standard 2 : JDK 1.2 , 1.2.2 , 1.3,1.4,1.5 [Current]
  • Microsoft JDK 4.0
  • IBM JDK 1.1.8
  • ใน JDK จะประกอบด้วย Compiler, JVM, Class library, Documents,Demos and Tools
slide60
ขั้นของการศึกษาจาวา
  • เริ่มจาก Java Application / Java Applet
  • ศึกษาภาษา Syntax
  • ฝึกใช้ Standard Class Library
  • ทำความเข้าใจ OOP
  • สร้าง Application ซับซ้อนขึ้น
  • เพื่อเป็นผู้ออกแบบ Java Class/Components
  • ศึกษา Object Orient Design/UML
  • ศึกษา Design Pattern/Framwork
  • เพื่อเป็นผู้พัฒนาโปรแกรม
  • ศึกษาเทคโนโลยีของ Java ที่สำคัญ : Java2D, Java3D, JDBC, J2EE ....

To be Java Master. You must coding, coding and coding

java development kit
Java Development Kit
  • Jbuilder By Borland
  • Microsoft Visual J++
  • Semantec Cafe
  • Jfactory by Rouge Wave
  • IBM Visual Age for Java
  • NetBean IDE 6.1
slide62
Real J (Free 487 Kb)เป็น Java IDE ตัวเล็กๆ ที่มีความสามารถมากเหมาะสำหรับมือใหม่ ใช้งานได้ FREE เดิมชื่อว่า freejava แต่ต้องเปลี่ยนชื่อเพราะคำว่า java เป็นลิขสิทธิ์ของบริษัท sun (สุริยะจิ๋ว) ถึงความสามารถของ RealJ จะไม่เท่ากับ JCreator แต่ว่า RealJ สามารถใช้ Font ภาษาไทยได้เป็นอย่างดี Homepage : http://www.realJ.com/
  • BlueJ 2.1.3
  • Jeliot 3.0
slide64
หัวข้อ
  • ประวัติของภาษาจาวา
  • ข้อดีของภาษาจาวา
  • จาวาแพลตฟอร์ม
  • การคอมไพล์และรันโปรแกรมภาษาจาวา
  • โปรแกรม HelloWorld ในแบบตัวอักษรและแบบกราฟิกส์
slide66
เริ่มต้นขึ้นในปีค.ศ. 1990
  • แพททริก นอทัน (Pattrick Naughton) จะลาออกจากซัน
  • เจมส์ กอสลิ่ง(James Gosling) ผู้ให้กำเนิดภาษาจาวา
  • กรีนทีม
    • ยุคถัดจากคอมพิวเตอร์ส่วนบุคคล (personal computer) ก็คือคอมพิวเตอร์ในอุปกรณ์อีเล็กโทรนิกส์ (consumer electronics)
slide67
ภาษาจาวา
  • บิล จอย (Bill Joy) แจกจ่ายตัวพัฒนาภาษา
  • นอทันพัฒนาเว็บเบราเซอร์ที่สนับสนุนภาษาจาวา โปรแกรมดังกล่าวมีชื่อว่า HotJava
  • Netscape Navigator
  • 23 มกราคม ค.ศ. 1996 ซันได้ออก JDK1.0
slide69
ข้อดีของภาษาจาวา
  • ทำงานบนเว็บเบราเซอร์ได้
  • ความปลอดภัยสูง
  • สนับสนุนงานหลายระดับ
slide70
ข้อดีของภาษาจาวา
  • สามารถทำงานบนเครื่องคอมพิวเตอร์ต่างระบบได้
  • ภาษาจาวาเป็นภาษาเชิงวัตถุ
  • ความทันสมัย
  • ความเรียบง่าย
slide71
ข้อดีของภาษาจาวา
  • กลไกในการคืนพื้นที่ในหน่วยความจำอัตโนมัติ (garbage collection)
  • มีคลาสและอินเตอร์เฟซให้ใช้เยอะมาก
    • 794 interfaces
    • 2485 classes
  • ฟรี
platform
แพลตฟอร์ม (platform)
  • ระบบที่โปรแกรมอาศัยทำงาน
  • Hardware
  • Software
slide74
จาวาแพลตฟอร์ม
  • Java 2 Platform, Standard Edition (J2SE)
    • จาวาแอพพลิเคชัน (Java application)
    • แอพเพลต (Java applet)
  • Java 2 Platform, Enterprise Edition(J2EE)
    • โปรแกรมแบบมัลติเทียร์ (multitiered) สำหรับการพัฒนาโปรแกรมในระดับองค์กร
  • Java 2 Platform, Micro Edition (J2ME)
    • สินค้าอีเล็กโทรนิกส์ เช่น โทรศัพท์มือถือ พีดีเอ (personal digital assistant) และกล่องเคเบิ้ลทีวี (TV set-top box
slide75

การคอมไพล์และรันโปรแกรมภาษาจาวาการคอมไพล์และรันโปรแกรมภาษาจาวา

slide76
ชุดพัฒนาภาษาจาวา (JDK)
  • ชุดพัฒนาภาษาจาวา (Java Development Kit - JDK)
    • จาวาคอมไพเลอร์ (javac.exe)
    • สภาพแวดล้อมการรันโปรแกรมจาวา (Java Runtime Environment - JRE) (java.exe)
  • Download http://java.sun.com
slide77
โปรแกรมที่ใช้เขียนต้นฉบับโปรแกรมโปรแกรมที่ใช้เขียนต้นฉบับโปรแกรม
  • Notepad
    • มาพร้อมกับ Windows
  • J-Lab
    • http://www.cp.eng.chula.ac.th/~somchai/JLab/
  • Netbeans
    • http://www.netbeans.org/
  • Eclipse
    • http://www.eclipse.org/
helloworld

โปรแกรม HelloWorld ในแบบตัวอักษรและแบบกราฟิกส์

helloworld1
โปรแกรม HelloWorld
  • พิมพ์คำว่า Hello, World!ขึ้นบนหน้าจอคอมพิวเตอร์
helloworld2
โปรแกรม HelloWorld

public classHelloWorld

{

}

helloworld3
โปรแกรม HelloWorld

public class HelloWorld

{

public static void main(String[] args)

{

}

}

helloworld4
โปรแกรม HelloWorld

public class HelloWorld

{

public static void main(String[] args)

{

System.out.println("Hello, World!");

}

}

helloworld6
โปรแกรมHelloWorld แบบกราฟิก

import java.awt.*;

import javax.swing.*;

public class HelloGraphicsWorld {

public static void main(String[] args) {

JFrame frame = new JFrame() {

public void paint(Graphics g) {

g.drawString("Hello, World!", 110, 150);

g.drawOval(100, 130, 90, 30);

}

};

frame.setSize(300, 300);

frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

frame.setVisible(true);

}

}

slide91
คำอธิบายในโปรแกรม
  • คอมเมนต์บรรทัดเดียว

//print the word hello

  • คอมเมนต์ที่เป็นย่อหน้า

/*

This program

will print

the word hello

*/

slide92
คำอธิบายในโปรแกรม
  • คอมเมนต์ที่เป็นย่อหน้าสำหรับการสร้างเอกสารด้วยโปรแกรม javadoc

/**

*/

slide94
สรุป
  • โปรแกรมในจาวาแพลตฟอร์มมาตรฐานมีอยู่สองประเภทคือ แอพพลิเคชัน และ แอพเพลท
  • จาวาแอพพลิเคชันสามารถทำงานได้เหมือนกับโปรแกรมทั่วไป มันสามารถทำงานบนคอมพิวเตอร์ต่างรุ่นต่างระบบปฏิบัติการได้ เพราะว่ามันทำงานอยู่บนโปรแกรมเครื่องจักรเสมือน
  • จาวาแอพเพลตสามารถทำงานบนเว็บเพจได้ มันสามารถทำงานบนคอมพิวเตอร์ต่างรุ่นต่างระบบปฏิบัติการได้ ขอเพียงแค่มีโปรแกรมเว็บเบราเซอร์ที่สนับสนุนภาษาจาวาติดตั้งอยู่บนระบบปฏิบัติการนั้น
slide95
สรุป
  • ซอร์สโค้ดโปรแกรมจาวาอยู่ในแฟ้มที่มีนามสกุล java
  • โปรแกรมที่ใช้คอมไพล์ภาษาจาวาชื่อ javac
  • ผลการคอมไพล์จะได้แฟ้มที่มีนามสกุล class
  • ไฟล์นามสกุล class สามารถทำงานใน JRE ได้
  • ใช้โปรแกรม javaรันไฟล์ .class ที่มีเมธอด main()
  • การพิมพ์ข้อความใช้คำสั่ง System.out.println("ข้อความที่ต้องการพิมพ์")
slide96
แบบฝึกหัด
  • Ex1. เขียนโปรแกรม HelloWorld ขึ้นมาอีกครั้งหนึ่ง
slide97
เฉลย Ex1.

public class Ex1

{

public static void main(String[] args)

{

System.out.println("Hello, World!");

}

}

slide98
แบบฝึกหัด บทที่ 1
  • Ex2. เขียนโปรแกรมที่พิมพ์ข้อความสองบรรทัด บรรทัดแรกเขียนว่า “Hello” บรรทัดที่สองเขียนว่า “World”
slide99
เฉลย Ex2.

public class Ex2 {

public static void main(String[] args) {

System.out.println("Hello");

System.out.println("World");

}

}

slide100
แบบฝึกหัด บทที่ 1
  • Ex3. โปรแกรมต่อไปนี้ควรที่จะพิมพ์คำว่า “Hello,World” แต่ว่าคอมไพล์ไม่ผ่าน มีจุดที่เขียนผิดพลาดอยู่ลองแก้ไขให้ถูกต้อง

public class Ex3

{

public void main(string[] args)

{

system.out.print(“Hello”);

system.out.print(“,World”);

}

}

slide101
เฉลย Ex3.

public class Ex3

{

public static void main(String[] args)

{

System.out.print("Hello");

System.out.print(", World!");

}

}