140-140 Object-Oriented Programming      การโปรแกรมเชิงวัตถุ     1. Introduction to Java                Faculty of Technol...
Objectives    วัตถุประสงค์       เข้าใจความแตกต่างของ Structure Programming กับ OOP       รู้จักเทคโนโลยีจาวา       เข...
Contents  Structure programming VS Object-oriented programming  Java programming language  Java platform  Java Develop...
Structure Programming VS OOP    Structure programming - การโปรแกรมเชิงโครงสร้าง       เขียนโปรแกรมโดยแตกระบบงานออกเป็นหน...
Structure Programming VS OOP ตัวอย่าง การแตกระบบลงทะเบียน  Structure Programming             ข้อมูลที่สนใจ               ...
Structure Programming VS OOP    OOP Benefits       การวิเคราะห์ปัญหาใกล้เคียงกับการคิดของคนทั่วไป       การแบ่งระบบเป็น...
Java Programming Language    Programming languages คือ ภาษาที่ใช้ในการเขียนโปรแกรม         โปรแกรมที่เขียนขึ้นสามารถนามา...
Java Platform    Platform - hardware or software environment in which a program     runs       เป็นสภาพแวดล้อมหรือระบบที...
Java Platform  Java platform เป็นแพลตฟอร์มที่เป็นซอฟต์แวร์ ซึ่งสามารถรันโปรแกรม   จาวา  Java Development Kit (JDK) คือ ช...
http://java.sun.com/javase/technologies/index.jsp#overviewObject-Oriented Programming 2/2551                              ...
Edition of Java Java platform แบ่งเป็น 3 ประเภทตามการใช้งาน ดังนี้  Java Standard Edition (Java SE) สาหรับเขียนโปรแกรมทั่...
From source code to running program                                                Class files                   RunningEd...
Java Compiler    Compiler เป็นโปรแกรมทีใช้แปลภาษาระดับสูงเป็นภาษาเครื่องซึ่งเป็น                             ่     ชุดคาส...
Write once, run anywhere (WORA)  ปกติโปรแกรมภาษาอื่น ๆ เช่น ภาษาซี เมื่อถูกแปลจากเครื่องหนึ่งไม่   สามารถนาไปใช้งานกับเคร...
Java Runtime Environment (JRE)    Java Runtime Environment เป็นโปรแกรมที่ใช้ประมวลผล bytecode ประกอบด้วย       Java Virt...
Java Runtime Environment (JRE)  เครื่องคอมพิวเตอร์ที่ติดตั้ง JRE ไว้จะสามารถรันโปรแกรมที่เขียนด้วย   ภาษาจาวาได้  byteco...
Java Version    Toolkit product version – Developer version                              JDK 1- Java 1.1 (1996)        ...
Basic Java Application  JDK ประกอบด้วย Java Compiler และ Java Runtime Enviroment  แต่ไม่มีโปรแกรมสาหรับเขียน java source ...
Basic Java Application    องค์ประกอบหลักของโปรแกรมจาวา       Class คือ ชิ้นส่วนของโปรแกรมที่เล็กที่สุดของภาษาจาวา      ...
Ex. 1 Java application HelloWorld                                  คาที่บอกว่าเป็นคลาส   ชื่อคลาส                         ...
Java Comment    บรรทัดที่ 1,2 – เรียกว่า comments         เป็นคาอธิบายโปรแกรม ไม่ถูกคอมไพล์เป็น bytecode ด้วย java compi...
Ex.1 Java application HelloWorld    บรรทัดที่ 4 - ประกาศคลาส       คาว่า class เป็นเหมือนตัวบอกถึงชิ้นส่วนของโปรแกรม    ...
Ex. 1 Java application HelloWorld    บรรทัดที่ 6 - method signature       main เป็นชื่อ method ในจาวา main() จะเป็นเมธอด...
Compile and Run program    การ compile โปรแกรม       เปิด command prompt และย้าย prompt ไปที่ folder ที่จัดเก็บโปรแกรม  ...
Class with a main method  ในจาวา ทางานด้วย class – การรันโปรแกรมคือ การรันคลาส  การรันโปรแกรม เป็นการบอกให้ JVM ให้โหลดค...
Syntax Errors    Syntax error หรือ Compile-time error       Syntax error คือข้อผิดพลาดจากการฝ่าฝืนกฏหรือไวยากรณ์ของภาษา ...
Syntax Errors                          Compile…..Object-Oriented Programming 2/2551     27
Syntax Errors                          Compile…..Object-Oriented Programming 2/2551     28
Syntax Errors                               Compile…..Object-Oriented Programming 2/2551          29
Syntax Errors                          Compile…..Object-Oriented Programming 2/2551     30
Logic Errors    Logic error หรือ Run-time error       Logic error คือข้อผิดพลาดจากการที่โปรแกรมทางานไม่ตรงกับที่เราต้องก...
Logic Errors                                 Compile…..Run…..    Exception คือ ข้อผิดพลาดObject-Oriented Programming 2/25...
Logic Errors                                 Compile…..Run…..                                     -5       ต้องการให้ทากา...
ข้อดีของภาษาจาวา       Write once, run anywhere       Code security มีกลไกการตรวจสอบไบต์โค้ด (ฺBytecode verifier) ว่าต้อ...
Summary    Structure programming เน้นการแตกระบบเป็นฟังก์ชั่นการทางาน OOP เน้นการแตก     ระบบเป็นวัตถุในระบบ    Java Comp...
Upcoming SlideShare
Loading in …5
×

1.Introduction to java

3,728 views

Published on

สื่อการเรียนการสอน เรื่อง การโปรแกรมเชิงวัตถุ โดยคุณ Kan

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,728
On SlideShare
0
From Embeds
0
Number of Embeds
96
Actions
Shares
0
Downloads
76
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

1.Introduction to java

  1. 1. 140-140 Object-Oriented Programming การโปรแกรมเชิงวัตถุ 1. Introduction to Java Faculty of Technology and Environment Prince of Songkla University, Phuket Campus 2/2551
  2. 2. Objectives  วัตถุประสงค์  เข้าใจความแตกต่างของ Structure Programming กับ OOP  รู้จักเทคโนโลยีจาวา  เข้าใจขั้นตอนการพัฒนาโปรแกรมด้วยภาษาจาวา  เข้าใจโครงสร้างโปรแกรมภาษาจาวา  เขียน คอมไพล์ และรันโปรแกรมจาวาง่าย ๆ ได้  รู้จักข้อผิดพลาดในการเขียนโปรแกรม  อธิบายข้อดีของภาษาจาวาได้Object-Oriented Programming 2/2551 2
  3. 3. Contents  Structure programming VS Object-oriented programming  Java programming language  Java platform  Java Development Kit  Basic Java application  How to compile and run program?  Type of errorObject-Oriented Programming 2/2551 3
  4. 4. Structure Programming VS OOP  Structure programming - การโปรแกรมเชิงโครงสร้าง  เขียนโปรแกรมโดยแตกระบบงานออกเป็นหน้าที่งานต่าง ๆ (function)  การแก้ไขหรือข้อผิดพลาดอาจส่งผลกระทบต่อส่วนอื่น เพราะมีการใช้ข้อมูล บางอย่างร่วมกัน  ตัวอย่างภาษาโปรแกรมเชิงโครงสร้าง ได้แก่ ภาษาซี ปาสคาล  Object-oriented programming - การโปรแกรมเชิงวัตถุ  เขียนโปรแกรมโดยแตกระบบออกเป็นวัตถุ โดยแทนวัตถุที่มีอยู่จริง  วัตถุจะถูกกาหนดให้มีคุณสมบัติและพฤติกรรมเพื่อดาเนินงานต่างๆ  ตัวอย่างภาษา OOP เช่น ภาษาจาวา C#Object-Oriented Programming 2/2551 4
  5. 5. Structure Programming VS OOP ตัวอย่าง การแตกระบบลงทะเบียน  Structure Programming ข้อมูลที่สนใจ -รหัสนักศึกษา  ลงทะเบียนเรียน - ชื่อ สกุล  ชาระเงิน -สาขาวิชา  เพิ่มรายวิชา  OOP พฤติกรรมในระบบ  นักศึกษา - ลงทะเบียน  ใบลงทะเบียน - เพิ่มวิชา -ชาระเงิน  รายวิชา  ใบเสร็จรับเงินObject-Oriented Programming 2/2551 5
  6. 6. Structure Programming VS OOP  OOP Benefits  การวิเคราะห์ปัญหาใกล้เคียงกับการคิดของคนทั่วไป  การแบ่งระบบเป็นวัตถุ ทาให้เป็นข้อมูลมีความเป็นอิสระ  การ reuse ทาได้ง่ายกว่า Structure Programming พัฒนาโปรแกรมได้เร็ว  แก้ไขและบารุงรักษาระบบได้ง่ายObject-Oriented Programming 2/2551 6
  7. 7. Java Programming Language  Programming languages คือ ภาษาที่ใช้ในการเขียนโปรแกรม  โปรแกรมที่เขียนขึ้นสามารถนามาใช้งานได้ในคอมพิวเตอร์  ภาษาจาวา เป็นภาษาการเขียนโปรแกรมระดับสูง  พัฒนาโดยบริษัท Sun Microsystems (www.sun.com)  เวอร์ชั่นแรกเริ่มใช้ในปี ค.ศ. 1996  ปัจจุบันเวอร์ชั่น 6 ต้องถูกแปลให้เป็นภาษาเครื่องก่อน จึงจะสามารถประมวลผลหรือทางานได้Object-Oriented Programming 2/2551 7
  8. 8. Java Platform  Platform - hardware or software environment in which a program runs  เป็นสภาพแวดล้อมหรือระบบที่โปรแกรมอาศัยทางาน  อาจรวมทั้งฮาร์ดแวร์และซอฟต์แวร์ เช่น • Wintel platform หมายถึง คอมพิวเตอร์ที่ใช้ CPU Intel และ OS Windows  อาจหมายถึงซอฟต์แวร์อย่างเดียว เช่น • ระบบปฏิบัติการ Windows, Linux, Unix, Mac OS • โปรแกรมที่เป็นสภาวะแวดล้อมในการพัฒนาซอฟต์แวร์อื่น ๆ (Integrated Development Environment : IDE) เช่น VB.Net, Eclipse, NetBeanObject-Oriented Programming 2/2551 8
  9. 9. Java Platform  Java platform เป็นแพลตฟอร์มที่เป็นซอฟต์แวร์ ซึ่งสามารถรันโปรแกรม จาวา  Java Development Kit (JDK) คือ ชุดพัฒนาโปรแกรมภาษาจาวา สามารถ download ได้ที่ http://java.sun.com  JDK ประกอบด้วย Java  ตัวแปลภาษาจาวา (Java compiler) Compiler JDK  สภาพแวดล้อมสาหรับรันโปรแกรมจาวา JRE (Java Runtime Environment หรือ JRE) API • JVM (Java Virtual Machine) JVM • Java API (Library)Object-Oriented Programming 2/2551 9
  10. 10. http://java.sun.com/javase/technologies/index.jsp#overviewObject-Oriented Programming 2/2551 10
  11. 11. Edition of Java Java platform แบ่งเป็น 3 ประเภทตามการใช้งาน ดังนี้  Java Standard Edition (Java SE) สาหรับเขียนโปรแกรมทั่วไปและโปรแกรม ที่ทางานบนเว็บบราวเซอร์ทเี่ รียกว่า applet  Java Enterprise Edition (Java EE) สาหรับเขียนโปรแกรมระดับองค์กร โดย เพิ่มความสามารถจาก Java SE เพื่อรองรับการทางานสาหรับการให้บริการใน ระบบขนาดใหญ่ได้  Java Micro Edition (Java ME) เป็น platform สาหรับเขียนโปรแกรมบน อุปกรณ์อิเล็กทรอนิกส์เช่น โทรศัพท์มือถือ PDAObject-Oriented Programming 2/2551 11
  12. 12. From source code to running program Class files RunningEditor Source file Compiler Interpretor Program Library filesObject-Oriented Programming 2/2551 12
  13. 13. Java Compiler  Compiler เป็นโปรแกรมทีใช้แปลภาษาระดับสูงเป็นภาษาเครื่องซึ่งเป็น ่ ชุดคาสั่งที่ CPU สามารถนาไปประมวลผลได้  Java Compiler คือ ตัวแปลภาษาจาวา ทาหน้าที่แปลรหัสคาสั่งภาษาจาวา (source code) ให้เป็นชุดคาสั่งที่เรียกว่า bytecode Source code  compiled by  Bytecode (file.java) Java compiler (file.class) (javac.exe)Object-Oriented Programming 2/2551 13
  14. 14. Write once, run anywhere (WORA)  ปกติโปรแกรมภาษาอื่น ๆ เช่น ภาษาซี เมื่อถูกแปลจากเครื่องหนึ่งไม่ สามารถนาไปใช้งานกับเครื่องที่ใช้ภาษาเครืองต่างกันได้ ่ (เครื่องที่มี CPU ต่างยี่ห้อกัน หรือใช้ระบบปฏิบติการต่างกัน) ั  bytecode ทาให้จาวาเป็นภาษาทีไม่ขึ้นกับระบบปฏิบติการ (platform- ่ ั independent)  โปรแกรมที่เขียนด้วยภาษาจาวาสามารถนาไปประมวลผลบนระบบปฏิบัติการที่ กันได้ เช่น Windows, Linux, Unix หรือใช้ CPU ต่างกัน เช่น Intel, AMDObject-Oriented Programming 2/2551 Bytecode (file.class) 14
  15. 15. Java Runtime Environment (JRE)  Java Runtime Environment เป็นโปรแกรมที่ใช้ประมวลผล bytecode ประกอบด้วย  Java Virtual Machine (JVM) หรือ โปรแกรมเครื่องจักรเสมือนจาวาสาหรับ ประมวลผล Bytecode ทาหน้าที่เป็น interpreter แปลไบต์โค้ดเป็นภาษาเครื่อง สาหรับระบบปฎิบัติการนั้น  Library files (Java API-Application Programming Interface) คือ คลาสหลัก ของภาษาจาวา Bytecode  interpreted by JRE  Program (file.class) (java.exe) Library FilesObject-Oriented Programming 2/2551 15
  16. 16. Java Runtime Environment (JRE)  เครื่องคอมพิวเตอร์ที่ติดตั้ง JRE ไว้จะสามารถรันโปรแกรมที่เขียนด้วย ภาษาจาวาได้  bytecode ทาหน้าที่เสมือนเป็นภาษาเครื่องสาหรับ JVM ทาให้สามารถนา bytecode ไปใช้งานในเครื่องที่มีการติดตั้ง JVMObject-Oriented Programming 2/2551 16
  17. 17. Java Version  Toolkit product version – Developer version  JDK 1- Java 1.1 (1996)  SDK 2 - Java 1.2-1.4 (2000)  SDK 5 - Java 1.5 (2004)  SDK 6 - Java 1.6 JDK = Java Development Kit เป็นชุดพัฒนาโปรแกรมจาวาObject-Oriented Programming 2/2551 17
  18. 18. Basic Java Application  JDK ประกอบด้วย Java Compiler และ Java Runtime Enviroment แต่ไม่มีโปรแกรมสาหรับเขียน java source code  สามารถเขียนโปรแกรมจาวาได้โดยใช้ Text editor เช่น Notepad, EditPlus  หรือใช้โปรแกรมที่มีเครื่องมืออานวยความสะดวกในการเขียนโปรแกรม ซึ่งเรียกว่า Integrated Development Environment(IDE) เช่น NetBeans และ Eclipse เป็นต้นObject-Oriented Programming 2/2551 18
  19. 19. Basic Java Application  องค์ประกอบหลักของโปรแกรมจาวา  Class คือ ชิ้นส่วนของโปรแกรมที่เล็กที่สุดของภาษาจาวา  แต่ละชิ้นส่วนสามารถนามาประกอบกันเพื่อสร้างเป็นโปรแกรมขนาดใหญ่ๆ ได้  แต่ละคลาสประกอบด้วย method ซึ่งเป็นชุดของการดาเนินงาน  แต่ละเมธอด ประกอบด้วยคาสั่งในการดาเนินงานต่าง ๆ (statement) Class Method1 Statement; Method2 Statement; Statement;Object-Oriented Programming 2/2551 19
  20. 20. Ex. 1 Java application HelloWorld คาที่บอกว่าเป็นคลาส ชื่อคลาส comments ไม่มี return type ชื่อเมธอดclassmethod คาสั่งให้แสดงผลไปยังจอภาพ ข้อความที่แสดง statement Object-Oriented Programming 2/2551 20
  21. 21. Java Comment  บรรทัดที่ 1,2 – เรียกว่า comments  เป็นคาอธิบายโปรแกรม ไม่ถูกคอมไพล์เป็น bytecode ด้วย java compiler  รูปแบบการเขียน comment  บรรทัดเดียว ให้ใช้เครื่องหมาย // นาหน้า //……your comment……..  หลายบรรทัด จะอยู่ภายในเครืองหมาย /*…………..*/ ่ /*…………your comment ……………………………………..….*/Object-Oriented Programming 2/2551 21
  22. 22. Ex.1 Java application HelloWorld  บรรทัดที่ 4 - ประกาศคลาส  คาว่า class เป็นเหมือนตัวบอกถึงชิ้นส่วนของโปรแกรม  รายละเอียดในแต่ละคลาสจะอยู่ภายในวงเล็บปีกกา class {………..}  ภายในคลาสประกอบด้วยเมธอดได้หลายเมธอด  คาว่า public ระบุให้คลาสอื่นทุกคลาสเรียกใช้งานคลาสนี้ได้  HelloWord เป็นชื่อคลาสObject-Oriented Programming 2/2551 22
  23. 23. Ex. 1 Java application HelloWorld  บรรทัดที่ 6 - method signature  main เป็นชื่อ method ในจาวา main() จะเป็นเมธอดแรกที่ถูกเรียกให้ทางาน  แต่ละเมธอด มีคาสั่งอยู่ภายในวงเล็บปีกกา {………..}  บรรทัดที่ 8 - statement  เป็นคาสั่งในการพิมพ์ข้อความออกทางจอภาพ  ในโปรแกรมมีได้หลายคาสั่ง แต่ละคาสั่งต้องจบด้วยเครื่องหมาย semicolon ;Object-Oriented Programming 2/2551 23
  24. 24. Compile and Run program  การ compile โปรแกรม  เปิด command prompt และย้าย prompt ไปที่ folder ที่จัดเก็บโปรแกรม  ทาการคอมไพล์โดยพิมพ์คาสั่ง javac HelloWorld.java  การรันโปรแกรม  พิมพ์คาสั่ง java HelloWorld ผลลัพธ์Object-Oriented Programming 2/2551 24
  25. 25. Class with a main method  ในจาวา ทางานด้วย class – การรันโปรแกรมคือ การรันคลาส  การรันโปรแกรม เป็นการบอกให้ JVM ให้โหลดคลาส Hello ขึ้นมา  จากนั้นทางานใน method main() ซึ่งจะทางานจนหมดคาสั่งใน main()Object-Oriented Programming 2/2551 25
  26. 26. Syntax Errors  Syntax error หรือ Compile-time error  Syntax error คือข้อผิดพลาดจากการฝ่าฝืนกฏหรือไวยากรณ์ของภาษา  การตรวจสอบไวยากรณ์ว่าถูกต้องหรือไม่ จะเกิดขึ้นขณะคอมไพล์โปรแกรมโดย คอมไพเลอร์  หากเราเขียนไม่ถูกต้อง คอมไพเลอร์จะแจ้งข้อผิดพลาดให้ทราบ และไม่สร้าง bytecode ให้  เช่น จบคาสั่งโดยไม่มีเครื่องหมาย ; หรือ ใส่วงเล็บปีกกาไม่ครบ เป็นต้น ระวัง ตัวอักษรตัวใหญ่และตัวเล็กในภาษาจาวา ถือว่าเป็นคนละตัวกันObject-Oriented Programming 2/2551 26
  27. 27. Syntax Errors Compile…..Object-Oriented Programming 2/2551 27
  28. 28. Syntax Errors Compile…..Object-Oriented Programming 2/2551 28
  29. 29. Syntax Errors Compile…..Object-Oriented Programming 2/2551 29
  30. 30. Syntax Errors Compile…..Object-Oriented Programming 2/2551 30
  31. 31. Logic Errors  Logic error หรือ Run-time error  Logic error คือข้อผิดพลาดจากการที่โปรแกรมทางานไม่ตรงกับที่เราต้องการ  โปรแกรมที่เขียนขึ้นถูกต้องตามหลักไวยากรณ์ของภาษาจาวา สามารถคอมไพล์ ได้  อาจสามารถรันโปรแกรมได้แต่ทางานได้ไม่ตรงกับที่เราคิดไว้ หรือทางานไม่ได้  Programmer ต้องตรวจสอบข้อผิดพลาดนี้เอง ตัวอย่างเช่น • ไม่ใส่วงเล็บในการคานวณ • ลาดับคาสั่งผิดObject-Oriented Programming 2/2551 31
  32. 32. Logic Errors Compile…..Run…..  Exception คือ ข้อผิดพลาดObject-Oriented Programming 2/2551 32
  33. 33. Logic Errors Compile…..Run….. -5  ต้องการให้ทาการคานวณตามลาดับคือ (10-3)*5 = 35  แต่โปรแกรมคานวณให้คือ 10-(3x5) = -5Object-Oriented Programming 2/2551 33
  34. 34. ข้อดีของภาษาจาวา  Write once, run anywhere  Code security มีกลไกการตรวจสอบไบต์โค้ด (ฺBytecode verifier) ว่าต้องเป็นโค้ดที่ ไม่ทาให้ระบบเสียหาย  Exception มีกลไกให้โปรแกรมเมอร์จัดการข้อผิดพลาดที่เกิดขึ้นในการรัน โปรแกรม  มี Garbage collection เป็นกลไกจัดการคืนพื้นที่ในหน่วยความจาอัตโนมัติ โปรแกรมเมอร์ไม่ต้องจัดการเอง  มี library ให้ใช้มากมาย – database storage, cryptography, networking, GUI  สนับสนุน OOP  Free !!!Object-Oriented Programming 2/2551 34
  35. 35. Summary  Structure programming เน้นการแตกระบบเป็นฟังก์ชั่นการทางาน OOP เน้นการแตก ระบบเป็นวัตถุในระบบ  Java Compiler แปลโปรแกรมที่เขียนด้วยภาษาระดับสูงเป็นภาษาเครื่องสาหรับ JVM เรียกว่า bytecode  โครงสร้างโปรแกรมจาวาประกอบด้วย คลาส ภายในคลาสมีเมธอด แต่ละเมธอดมีคาสั่ง  เมธอด main() เป็นเมธอดที่จะถูกเรียกให้ทางานตอนรันโปรแกรม  Syntax error เกิดในขณะคอมไพล์จากข้อผิดพลาดจากการเขียนโปรแกรมผิด syntax  Logic error เกิดขณะรันจากการที่โปรแกรมทางานได้ไม่ตรงกับที่ต้องการหรือรันไม่ได้Object-Oriented Programming 2/2551 35

×