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

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
System Requirement Collection (2)
Advertisements

การจัดทำเว็บไซต์สำเร็จรูปด้วยโปรแกรม Joomla!
คอมพิวเตอร์ช่วยสอน (CAI)
Entity-Relationship Model E-R Model
ซอฟต์แวร์ระบบที่รู้จักกันดี คือซอฟต์แวร์ควบคุมการปฏิบัติการ ของคอมพิวเตอร์ที่เรียกว่า ระบบปฏิบัติการ ระบบปฏิบัติการเป็นชุดคำสั่งที่ใช้ควบคุมระบบฮาร์ดแวร์และ.
FIX COMMON PC PROBLEMS By Missis Jatuporn Surinseng Missis Chamaiporn Sommit.
Computer in Business เรื่อง การใช้งาน Access เบื้องต้น.
1. Select query ใช้สำหรับดึงข้อมูลที่ต้องการ
เอกสารแนะนำการใช้งานระบบจัดเก็บและบันทึกข้อมูลทะเบียนพาณิชย์ (เบื้องต้น) โดย นายพชร อินทรวรพัฒน์ กรมพัฒนาธุรกิจการค้า.
ซอฟต์แวร์และการเลือกใช้
ประเภทโครงงาน พัฒนาระบบ (System Development)
ในเครือข่ายอินเทอร์เน็ต โปรแกรมประยุกต์ หลายชนิด มีการทำงานร่วมกันระหว่างเครื่อง คอมพิวเตอร์ ที่ต่ออยู่ในเครือข่าย โดยอาศัยเครือข่ายเป็น สื่อกลาง ในการติดต่อสื่อสารระหว่างกันและกัน.
เรื่อง หลักการเขียนโปรแกรม เบื้องต้น จัดทำโดย นางสาวชาดา ศักดิ์บุญญารัตน์
โปรแกรมคำนวณคะแนน สหกรณ์ ตามเกณฑ์ดีเด่นแห่งชาติ กรมส่งเสริม สหกรณ์ กองพัฒนาสหกรณ์ด้านการเงิน และร้านค้า วิธีการใ ช้
นาย สรวิศ เตธัญญวรากูล ปวช.3/2 นาย ศิวกร มาลี ปวช.3/2.
การพัฒนาผลสัมฤทธิ์ทางการเรียน วิชาการใช้โปรแกรมนำเสนอข้อมูล เรื่องการเชื่อมโยง ภาพนิ่ง ด้วยโปรแกรม Powerpoint2007 โดยใช้ สื่อคอมพิวเตอร์ช่วยสอน CAI ของนักเรียนระดับชั้น.
การพัฒนาบทเรียนคอมพิวเตอร์ช่วยสอน เรื่อง หลักการทำงานของคอมพิวเตอร์ วิชาคอมพิวเตอร์พื้นฐาน สำหรับนักเรียนชั้นมัธยมศึกษาปีที่ 1 โรงเรียนเฉลิมราชประชาอุทิศ.
โครงการศูนย์ดิจิทัลชุมชน สำนักงาน กศน. จังหวัดขอนแก่น.
LOGO ภาษาซี 1.1 อ. กฤติเดช จินดาภัทร์. LOGO ตัวอย่างโค้ดภาษาซี
เรื่อง ภาษาซีเบื้องต้น จัดทำโดย นางสาวชาดา ศักดิ์บุญญารัตน์
การจัดกิจกรรมการ เรียนรู้แบบการทำ โครงงานคอมพิวเตอร์ การจัดกิจกรรมการ เรียนรู้แบบการทำ โครงงานคอมพิวเตอร์ ครูชาญณรงค์ ปานเลิศ โรงเรียนพระบางวิทยา ครูชาญณรงค์
ง21101 การงานอาชีพและเทคโนโลยี ม. 1 เจตคติต่อการประกอบอาชีพ
ระบบมาตรฐานการพัฒนาชุมชน ผอ.กลุ่มงานมาตรฐานการพัฒนาชุมชน
เทคโนโลยีพื้นฐานของระบบสารสนเทศ
Material requirements planning (MRP) systems
บทที่ 1 ภาษาคอมพิวเตอร์และ การโปรแกรม
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
การเขียนโปรแกรมบนมาตรฐานเปิด
Introduction to VB2010 EXPRESS
ความรู้เบื้องต้นเกี่ยวกับ PHP Introduction to PHP
การพัฒนาการใช้งานในระบบเว็บ
โครงสร้างภาษา C Arduino
บทที่ 1 ความรู้ทั่วไปเกี่ยวกับคอมพิวเตอร์
One Point Lesson (OPL).....บทเรียนประเด็นเดียว
The Collections Framework
บทที่ 3 แฟ้มข้อมูลและฐานข้อมูล
กรณีศึกษา : นักเรียน ระดับ ปวช.2 สาขาวิชาการบัญชี
ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์และเทคโนโลยีสารสนเทศ
บทที่ 5 ภาษาสคริปต์ ที่ใช้สำหรับการผลิตระบบการสอนบนเครือข่าย
ระบบการจัดการคลินิกครบวงจร
บทที่ 3 ซอฟต์แวร์ประยุกต์
ภาคเรียนที่ ๒ ปีการศึกษา ๒๕๖๐ ผู้สอน : คุณครูภาคภูมิ คล้ายทอง
พื้นฐานการออกแบบ กราฟิก หมายถึง ศิลปะแขนงหนึ่งซึ่งใช้การสื่อความหมาย ด้วยเส้น สัญลักษณ์ รูปวาด ภาพถ่าย กราฟ แผนภูมิ การ์ตูน ฯลฯ เพื่อให้สามารถสื่อความหมายของข้อมูลได้ถูกต้องตรง.
Object-Oriented Programming การเขียนโปรแกรมเชิงอ็อบเจ็กต์
Java Translation Object and Class ในมุมมองคอมพิวเตอร์ Objects หรือ Instances หมายถึงวัตถุที่กำเนิดตัวตนจริงๆจากต้นแบบที่กำหนดโดยคลาส Object.
บทที่ 9 การใช้โปรแกรมสำเร็จรูป ในการสร้างโลกเสมือนเพื่อการเรียนรู้ “Opensimulator” อาจารย์เทพยพงษ์ เศษคึมบง สาขาวิชาเทคโนโลยีและนวัตกรรมการศึกษา.
การเขียนภาษาจาวาเบื้องต้น
รูปแบบ และ ประโยชน์การขายสินค้าออนไลน์
SMS News Distribute Service
YRC LANNA LOCAL WISHDOM
ผู้ช่วยศาสตราจารย์จุฑาวุฒิ จันทรมาลี
หน่วยการเรียนรู้ การเขียนโปรแกรมภาษาขั้นพื้นฐาน เรื่อง โครงสร้างพื้นฐาน HTML 5 รหัส รายวิชา ง23102 การงานอาชีพและเทคโนโลยี 6 กลุ่มสาระ การงานอาชีพและเทคโนโลยี
วัสดุและเทคนิค ทางการออกแบบ อ.สุวิธธ์ สาดสังข์ ( Material and
บรรยายครั้งที่ 8 - กราฟฟิกวิศวกรรม 1
บทที่ 7 การประมวลผลอาร์เรย์
บทที่ 8 การแก้ไขข้อผิดพลาดโปรแกรม(Debugging)
การวิจัยทางการท่องเที่ยว
การเปลี่ยนแปลงประมาณการทางบัญชี และข้อผิดพลาด
กิจกรรมที่ 7 นายปรีชา ขอวางกลาง
บทที่ 2 โครงสร้างข้อมูลแบบแถวลำดับหรืออาร์เรย์ (Array)
Computer Game Programming
Array: One Dimension Programming I 9.
อินเทอร์เน็ตเบื้องต้น และการออกแบบเว็บไซต์
การเขียนโปรแกรมคอมพิวเตอร์ แบบภาษาเชิงวัตถุ
การเขียนเว็บ Web Editor
การเขียนโปรแกรมด้วยภาษาไพทอน การเขียนโปรแกรมแบบทางเลือก
แผนการจัดการเรียนรู้ Active Learning
บทที่ 4 การให้บริการแพลตฟอร์ม Platform as a service(PaaS) 4.1 ความหมาย
Class Diagram.
กระดาษทำการ (หลักการและภาคปฏิบัติ)
ใบสำเนางานนำเสนอ:

การเขียนโปรแกรมภาษาจาวา ธวัฒน์ชัย ศิลังค์ประชา

การเขียนโปรแกรมภาษาจาวา(java)วันที่ 11 ส.ค.60 09.00-10.30 น. ปฎิบัติการ ส่วนต่างๆ Workshops 1.แนะนำส่วนติดตั้งและการใช้งาน การ set path ส่วนใช้งาน การใช้ Program java การ compile การ run Program 2.การสร้าง code java จาก Program ต่างๆ ใน Dosprompt,Jeliot,BlueJ,SetUpDJ 3.Workshops1 Object Oriented Technology Concepts 10.30-10.45 น. พักอาหารว่าง 10.45-12.00 น. Workshops2 Basic Elements of Java&WorkShops โครงสร้างภาษาจาวา ข้อมูลพื้นฐาน 12.00-13.00 รับประทานอาหารกลางวัน 13.00-14.30น. การรับข้อมูลและแสดงผลลัพธ์ Input&Output 14.30-14.45น. 14.45-16.15น. ฝึกปฎิบัติตัวอย่าง Input1 ถึง Input14.java

โครงสร้างควบคุมการทำงาน Control Structures การเขียนโปรแกรมภาษาจาวา(java)วันที่ 12 ส.ค.60 09.00-10.30 น. ปฎิบัติการ ส่วนต่างๆ Workshops โครงสร้างควบคุมการทำงาน Control Structures Workshops3 In sequence (ทำตามลำดับก่อนหลัง) Branching (มีเงื่อนไขในการทำงานโดยมีทางเลือกในการทำงาน) Looping (มีการทำงานแบบวนรอบ หรือทำซ้ำ) If Statement,Swith ฝึกปฏิบัจติ 10.30-10.45 น. พักอาหารว่าง 10.45-12.00 น. Workshops4 การประมวลผลแบบวน ( LOOP ) 12.00-13.00 รับประทานอาหารกลางวัน 13.00-14.30น. for loop while loop do … while loop 14.30-14.45น. 14.45-16.15น. ฝึกปฎิบัติ

รับประทานอาหารกลางวัน การเขียนโปรแกรมภาษาจาวา(java)วันที่ 13 ส.ค.60 09.00-10.30 น. ปฎิบัติการ ส่วนต่างๆ Workshops Array 1มิติ 2 มิติ 3 มิติ Workshops5 ฝึกปฏิบัติ 10.30-10.45 น. พักอาหารว่าง 10.45-12.00 น. Workshops6 Package 12.00-13.00 รับประทานอาหารกลางวัน 13.00-14.30น. ปฏิบัติการ Package และนำการเขียนโปรแกรมติดต่อฐานข้อมูลเบื้องต้น 14.30-14.45น. 14.45-16.15น. java_database

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

ขอบเขตการบรรยาย การรับและแสดงผลข้อมูล โครงสร้างควบคุมการทำงาน ( Control Structures)การตัดสินใจ การวนรอบทำงานซ้ำ สตริง (String) อะเรย (Array) การเขียนโปรแกรมเชิงวัตถุในการสืบทอด การนําคลาสมาใช้งาน การใช้งานได้หลายรูปแบบ(Polymorphism) การเขียนโปรแกรมเชื่อมโยงติดต่อฐานข้อมูล(MySQL)เบื้องต้น

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

วัตถุประสงค์ การเขียนโปรแกรมเชิงวัตถุด้วยภาษาจาวา (Object Programming with Java) โครงสร้างของโปรแกรมจาวา วิธีกำหนดข้อมูลในรูปแบบต่างๆ การใช้คำสั่งต่าง ๆ การรับและแสดงผลข้อมูล โครงสร้างควบคุมการทำงาน (Control Structures)

วัตถุประสงค์ การตัดสินใจ การวนรอบทำงานซ้ำ การประมวลผลแบบสตริง (String)และอะเรย (Array) การเขียนโปรแกรมเชิงวัตถุในการสืบทอด การนําคลาสมาใช้งาน การใช้งานได้หลายรูปแบบ(Polymorphism) การสร้าง packageใช้งานการเขียนโปรแกรมเชื่อมโยงติดต่อฐานข้อมูล(MySQL)เบื้องต้น

เอกสารการเรียน รายชื่อหนังสือและเอกสารประกอบการบรรยาย ตำราหลัก Computing Concepts with Java Essentials 3rd,Cay Horstmann @John Wiley& Sons,Inc ISBN 0-471-24371-x

แผนการเรียน (ต่อ) ตำราประกอบตำราประกอบ 1.เขียนโปรแกรม JAVA เบื้องต้น พิมพ์ครั้งที่ 2 ผู้แต่ง/แปล : วรเศรษฐ สุวรรณิก และคณะ,2550 2 .เรียนรู้โครงสร้างข้อมูลและอัลกอริทึมด้วย JAVA (ฉบับปรับปรุง) ผู้แต่ง/แปล : เนรมิตร ชุมสาย ณ อยุธยา 3.Java GUI using NetBeans วรเศรษฐ สุวรรณิก และคณะ,2551 4.เอกสารประกอบการสอนรายวิชา การเขียนโปรแกรมเชิงวัตถุด้วยภาษาจาวา อ.ธวัฒน์ชัย ศิลังค์ประชา 2551

หนังสืออ่านนอกเวลา 1.อนรรนงค์ คุณมณี,คู่มือการเขียนโปรแกรมภาษาจาวา ฉบับผู้เริ่มต้น,Dev Book 2.พนิดา พานิชกุล,การเขียนโปรแกรมคอมพิวเตอร์เบื้องต้นด้วยภาษาจาวา,สำนักพิมพ์ เคทีพี 3.นิรุธ อำนวยศิลป์,Basic Java Programming,ไทยเดฟ.คอม

ครั้งที่ 1 แนะนำ Java ความเป็นมาของจาวา, แนวคิดของ "write once, run anywhere" คุณสมบัติของภาษา Java การรักษาความปลอดภัย Java กับ World Wide Web ขั้นของการศึกษาจาวา

Object Oriented Technology Concepts

Object การมองเห็นสิ่งต่างๆเป็นวัตถุเป็นการมองที่เป็นธรรมชาติของมนุษย์ ภาพที่เราเห็นจะถูกแยกออกเป็นวัตถุต่างๆโดยอัตโนมัติ ยกตัวอย่าง เช่น เมื่อเรามองไปที่โต๊ะทำงาน สมองของเราจะแยกส่วนต่างๆของภาพโต๊ะทำงานออกเป็น ปากกา, กระดาษ, แฟ้ม, ลิ้นชัก, โต๊ะ ฯลฯ

Object หรือเมื่อเราอยู่ในร้านอาหาร เราอาจจะเห็นบริกร, พนักงานเก็บสตางค์, พนักงานเข็นรถอาหาร เป็นต้น บริกรทำหน้าที่รับออเดอร์จากลูกค้า, พนักงานเก็บสตางค์มีหน้าที่เก็บเงินและทอนสตางค์

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

Object เช่น เมื่อเรานึกถึงปากกา เราก็รู้ว่ามันมีสีอะไรและมันสามารถใช้เขียนได้

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

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

Object & Class Object Object:Real-world Object-Program

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

Anatomy of an Object(2)

Object Concept Things Tangible Things =>Physical Things Intangible Things บทบาท(Tole) (อาจารย์ พนักงาน ผู้ป่วย) สิ่งอุบัติขึ้น(Incident) หรือ Event ต่างๆ เที่ยวบินฯ การโต้ตอบ(Interaction) (ตั้งแต่ 2 Object(ผู้ซื้อ-ขาย))

1.สิ่งที่เป็นรูปธรรม(จับต้องได้) Object Tangible Things สิ่งที่จับต้องได้ เช่น สินค้า,ลูกค้า

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

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.) Class Objects Person (Person) John Chan Person Mary Lee Person Nelson Sze Class Objects

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 (Cont.) Class with attributes Objects Person (Person) John Chan 30 Person Mary Lee 24 Person Nelson Sze 60 Name: String Age: int Class with attributes Objects

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 (Cont.) Method - The implementation of an operation in a class Query - An operation which merely computes a value without modifying any object

Object & Class (Cont.) Person Name Age Attributes Change Job Change Address Get Address Get Job Operations

Class and Object Class Employee Objects instantiated from name:String name=‘Smith’ name=‘Sharp’ age:Integer age=24 age=52 Class Employee Objects instantiated from the class Employee

Representing Objects An object is represented as rectangles with underlined names : Professor Professor Clark a + b = 10 a + b = 10 ProfessorClark Class Name Only ProfessorClark : Professor Object Name Only Class and Object Name (stay tuned for classes)

OO Principle: Abstraction What is a Class? A class has been called a “cookie cutter” for objects. 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 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 A class is represented using a compartmented rectangle a + b = 10 Professor Professor Clark

Representing Classes in the UML Demonstrate how a class is modeled in UML. Note that the class graphics used throughout this course were created in Rational Rose. Tell them that the UML represents public visibility with a plus (+) symbol and private visibility with a minus (-) symbol. Do not discuss protected visibility. A class is represented using a rectangle with compartments. The UML notation for a class permits you to see an abstraction apart from any specific programming language, which lets you emphasize the most important parts about an abstraction – its name, attributes, and operations. Graphically, a class is represented by a rectangle. Note that the class graphics used throughout this course were created in Rational Rose. The attribute and operation-visibility symbols are Rose specific. The UML represents public visibility with a plus (+) symbol and private visibility with a minus (-) symbol. Professor J Clark

The Relationship Between Classes and Objects This may seem repetitive with earlier slides, but it has been noted that the repetition of the discrimination between objects and classes is beneficial to “newbies”. If this does not apply to your class, you can cover this slide briefly. 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 Smith Professor Mellon Professor Professor Jones

Basic Principles of Object Technology Introduce the four basic principles of OO. Be sure the students understand objects before you begin this next section. You’ve introduced objects first to help students better apply each of these principles. Object Technology Encapsulation Abstraction Hierarchy Modularity There are four basic principles of object orientation: Abstraction Encapsulation Modularity Hierarchy จะกล่าวในรายละเอียดอีกครั้งเมื่อศึกษาถึงเรื่องต่างๆ เหล่านี้ภายหลัง

About the Java Technology .?

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. About the Java Technology .? Java technology is both a programming language and a platform. Java Platforms A platform is the hardware or software environment in which a program runs.

A Virtual Machine ภาษาจาวาเป็นทั้ง Compiler และ Interpreter Compiler : ต้อง Compile ก่อนการใช้งาน แต่ Compile เป็น ByteCode Interpreter : การรันโปรแกรมจาวา ByteCode ของจาวาจะถูก Load เมื่อมีการเรียกใช้เท่านั้น คำสั่งใน ByteCode จะถูกแปลอีกครั้งในขั้นตอนการรัน

Byte Code and Java Virtual Machine Existing Development Environment Source Code Compiler(Pentium) Compiler(PowerPC) Compiler(SPARC) Binary File Pentium PowerPC SPARC %cc Hello.c –o Hello % Hello Binary Code Run

Bytecodes and the Java Virtual Machine Java Development Environment Java Compiler (Pentium) (PowerPC) (SPARC) Java Interpreter Pentium PowerPC SPARC Code ByteCode (Independent on Platform) %javac Hello.java Hello.class created % java Hello JVM Byte Code Run

Java is Cross-Platform?

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) Java Source Code Java Bytecode Compiler (javac) Execution JIT Compiler or Interpreter Compile Time Run Time

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

องค์ประกอบเทคโนโลยีจาวา(Java Technology?) 1. Java Virtual Machine (JVM) 2. Java Runtime Environment (JRE) 3. Java 2 Software Developer Kit (J2SDK)

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

2.Java Runtime Environment (JRE) เป็นส่วนที่ใช้ในการรันโปรแกรม โดยจะทำงาน 3 ขั้นตอน ดังนี้ – โหลดไบต์โค้ดโดยใช้ Class loader – ตรวจสอบไบต์โค้ดโดยใช้ Bytecode Verifier – รันไบต์โค้ดโดยใช้ Runtime Interpreter

3. Java 2 Software Developer Kit (J2SDK) เป็นชุดพัฒนาโปรแกรมภาษาจาวา ประกอบไปด้วยโปรแกรมต่างๆ แต่ไม่มีโปรแกรม Editor รวมอยู่ด้วย อย่างเช่น โปรแกรมคอมไพเลอร์ (javac.exe) โปรแกรมอินเตอร์พรีเตอร์ (java.exe)

แพลตฟอร์มของจาวา 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 Application (โปรแกรมใช้งานทั่วไป) และ Java Applet (โปรแกรมจาวาที่รันบนบราวเซอร์ เช่น IE)

Java Application (การประมวลผล) Class … { … } Byte code Java.exe Javac.exe compile โหลด Byte code file (.class) Source code (.java) Windows Unix Linux JVM JVM JVM

Java Applete(การประมวลผล ) applets Browser JVM JVM application Operating System Hardware

Java 2 Platform, Enterprise Edition (J2EE) เป็นแพลตฟอร์มที่มุ่งเน้นในการพัฒนา โปรแกรมเครือข่าย สำหรับใช้งานในองค์กร โดยใช้โปรแกรม Application Server หรือ Web Server ถูกออกแบบมาเพื่อให้สามารถใช้ งานบนระบบเครื่องเซิร์ฟเวอร์รองรับการทำงานร่วมกับ Servlets, JSPและ XML

Java 2 Platform, Micro Edition (J2ME) กับอุปกรณ์อิเล็กทรอนิกส์ ที่มีทรัพยากรจำกัด เช่น มือถือหรือพีดีเอ (PDA : Personal Digital Asistance)

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

ขั้นของการศึกษาจาวา เริ่มจาก 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 Jbuilder By Borland Microsoft Visual J++ Semantec Cafe Jfactory by Rouge Wave IBM Visual Age for Java NetBean IDE 6.1

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

แนะนำภาษาจาวา

หัวข้อ ประวัติของภาษาจาวา ข้อดีของภาษาจาวา จาวาแพลตฟอร์ม การคอมไพล์และรันโปรแกรมภาษาจาวา โปรแกรม HelloWorld ในแบบตัวอักษรและแบบกราฟิกส์

ประวัติของภาษาจาวา

แพททริก นอทัน (Pattrick Naughton) จะลาออกจากซัน เริ่มต้นขึ้นในปีค.ศ. 1990 แพททริก นอทัน (Pattrick Naughton) จะลาออกจากซัน เจมส์ กอสลิ่ง (James Gosling) ผู้ให้กำเนิดภาษาจาวา กรีนทีม ยุคถัดจากคอมพิวเตอร์ส่วนบุคคล (personal computer) ก็คือคอมพิวเตอร์ในอุปกรณ์อีเล็กโทรนิกส์ (consumer electronics)

ภาษาจาวา บิล จอย (Bill Joy) แจกจ่ายตัวพัฒนาภาษา นอทันพัฒนาเว็บเบราเซอร์ที่สนับสนุนภาษาจาวา โปรแกรมดังกล่าวมีชื่อว่า HotJava Netscape Navigator 23 มกราคม ค.ศ. 1996 ซันได้ออก JDK 1.0

ข้อดีของภาษาจาวา

ข้อดีของภาษาจาวา ทำงานบนเว็บเบราเซอร์ได้ ความปลอดภัยสูง สนับสนุนงานหลายระดับ

ข้อดีของภาษาจาวา สามารถทำงานบนเครื่องคอมพิวเตอร์ต่างระบบได้ ภาษาจาวาเป็นภาษาเชิงวัตถุ ความทันสมัย ความเรียบง่าย

ข้อดีของภาษาจาวา กลไกในการคืนพื้นที่ในหน่วยความจำอัตโนมัติ (garbage collection) มีคลาสและอินเตอร์เฟซให้ใช้เยอะมาก 794 interfaces 2485 classes ฟรี

จาวาแพลตฟอร์ม

แพลตฟอร์ม (platform) ระบบที่โปรแกรมอาศัยทำงาน Hardware Software

จาวาแพลตฟอร์ม 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

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

ชุดพัฒนาภาษาจาวา (JDK) ชุดพัฒนาภาษาจาวา (Java Development Kit - JDK) จาวาคอมไพเลอร์ (javac.exe) สภาพแวดล้อมการรันโปรแกรมจาวา (Java Runtime Environment - JRE) (java.exe) Download http://java.sun.com

โปรแกรมที่ใช้เขียนต้นฉบับโปรแกรม Notepad มาพร้อมกับ Windows J-Lab http://www.cp.eng.chula.ac.th/~somchai/JLab/ Netbeans http://www.netbeans.org/ Eclipse http://www.eclipse.org/

Notepad

J-Lab

Netbeans

Eclipse

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

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

การเปิดโปรแกรม cmd 2 1 3

คอมไพล์โปรแกรม

โปรแกรม HelloWorld public class HelloWorld { }

โปรแกรม HelloWorld public class HelloWorld { public static void main(String[] args) }

โปรแกรม HelloWorld public class HelloWorld { public static void main(String[] args) System.out.println("Hello, World!"); }

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

โปรแกรม 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);

คำอธิบายในโปรแกรม คอมเมนต์บรรทัดเดียว คอมเมนต์ที่เป็นย่อหน้า // print the word hello คอมเมนต์ที่เป็นย่อหน้า /* This program will print the word hello */

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

สรุป

สรุป โปรแกรมในจาวาแพลตฟอร์มมาตรฐานมีอยู่สองประเภทคือ แอพพลิเคชัน และ แอพเพลท จาวาแอพพลิเคชันสามารถทำงานได้เหมือนกับโปรแกรมทั่วไป มันสามารถทำงานบนคอมพิวเตอร์ต่างรุ่นต่างระบบปฏิบัติการได้ เพราะว่ามันทำงานอยู่บนโปรแกรมเครื่องจักรเสมือน จาวาแอพเพลตสามารถทำงานบนเว็บเพจได้ มันสามารถทำงานบนคอมพิวเตอร์ต่างรุ่นต่างระบบปฏิบัติการได้ ขอเพียงแค่มีโปรแกรมเว็บเบราเซอร์ที่สนับสนุนภาษาจาวาติดตั้งอยู่บนระบบปฏิบัติการนั้น

สรุป ซอร์สโค้ดโปรแกรมจาวาอยู่ในแฟ้มที่มีนามสกุล java โปรแกรมที่ใช้คอมไพล์ภาษาจาวาชื่อ javac ผลการคอมไพล์จะได้แฟ้มที่มีนามสกุล class ไฟล์นามสกุล class สามารถทำงานใน JRE ได้ ใช้โปรแกรม java รันไฟล์ .class ที่มีเมธอด main() การพิมพ์ข้อความใช้คำสั่ง System.out.println("ข้อความที่ต้องการพิมพ์")

แบบฝึกหัด Ex1. เขียนโปรแกรม HelloWorld ขึ้นมาอีกครั้งหนึ่ง

เฉลย Ex1. public class Ex1 { public static void main(String[] args) System.out.println("Hello, World!"); }

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

เฉลย Ex2. public class Ex2 { public static void main(String[] args) { System.out.println("Hello"); System.out.println("World"); }

แบบฝึกหัด บทที่ 1 { public void main(string[] args) Ex3. โปรแกรมต่อไปนี้ควรที่จะพิมพ์คำว่า “Hello,World” แต่ว่าคอมไพล์ไม่ผ่าน มีจุดที่เขียนผิดพลาดอยู่ลองแก้ไขให้ถูกต้อง public class Ex3 { public void main(string[] args) system.out.print(“Hello”); system.out.print(“,World”); }

เฉลย Ex3. public class Ex3 { public static void main(String[] args) System.out.print("Hello"); System.out.print(", World!"); }

พัก