Chap01

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Chap01 as PDF for free.

More details

  • Words: 2,007
  • Pages: 37
เริ่มตนกับภาษาจาวา

Modern Programming Languages

1

เริ่มตนกับภาษาจาวา โปรแกรมภาษาจาวาเบื้องตน เริ่มตนกับภาษาจาวา

การตั้งชื่อ, คียเวิรด และชนิดของตัวแปร

นิพจนและ โครงสรางของเงื่อนไข

สตริงและอะเรย

การเขียนโปรแกรมเชิงวัตถุ คลาสและวัตถุ

คุณสมบัติของ การเขียนโปรแกรมเชิงวัตถุ

(class andobject)

การดักจับขอผิดพลาด Exceptions

การสรางสวนติดตอกับผูใ ช ( Graphic User Interfaces ) สราง GUIs

การจัดการกับ เหตุการณ

สวนประกอบ ในแพ็คเกจ AWT

จาวาแอพเพลต จาวาแอพเพลตเบื้องตน

มัลติเทรดดิ้ง เทรด

การติอตอสื่อสาร การจัดการอินพุต/เอาตพุต และไฟล

[email protected]

เน็ตเวิรค

1/37

เริ่มตนกับภาษาจาวา

Modern Programming Languages

จุดเดนของภาษาจาวา •

Simple : ภาษาจาวางายในการเขียนโปรแกรม คือ ไมมีพอยนเตอร มีกลไกในการจัดการหนวยความจํา

ใหอัตโนมัติ • • • • •

ขอกําหนดของภาษาจาวาไมขึ้นกับระบบปฏิบัติการ สามารถนําไปทํางานไดบน ระบบปฏิบัติการอื่นๆได คุณสมบัตินี้เรียกวา “Write Once Run Anywhere” Object Oriented Programming : เปนภาษาที่ออกแบบมาเพื่อใชในการเขียนโปรแกรมเชิงวัตถุ เชน การสืบทอดคุณสมบัติ, การซอนรายละเอียด และการใชงานไดหลายรูปแบบ เปนตน Dynamic : ออกแบบมาเพื่อสามารถปรับเปลี่ยนหรือเพิ่มเติมไลบารี่ตางๆไดงาย Multithread : สามารถทํางานไดหลายๆงาน ไดพรอมกัน Code Security : ตรวจสอบจาวาไบตโคด วาโปรแกรมถูกตองตามขอกําหนดหรือไม โดยมีการ ตรวจสอบความผิดพลาดที่อาจเกิดขึ้นในกระบวนการตางๆ อาทิเชน การคอมไพล และการรันโปรแกรม Portable

:

องคประกอบเทคโนโลยีจาวา

องคประกอบหลัก แบงเปน 3 สวน ดังนี้ 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)

จาวาคอมไพลเลอร และ การรันโปรแกรมจาวา การสรางและรันโปรแกรมดวยภาษาจาวานั้นอาศัย J2SDK แตเนื่องจากโปรแกรมนี้ไมมีโปรแกรม Editor รวมอยูดวย ในการสรางไฟลตองเปน text file ที่มีนามสกุล “.java” ในระบบปฏิบัติการวินโดวสสามารถ สรางโปรแกรมภาษาจาวาโดยใช notepad สวนการคอมไพลและรันโปรแกรมจะตองเรียกใชงานผาน command line ซึ่งจะไมสะดวกในการใชงาน [email protected]

2/37

เริ่มตนกับภาษาจาวา

Modern Programming Languages

Runtime

Class Loader Compile

จาวาซอรสโคด javac.exe

จาวาไบตโคด

จาวา คอมไพลเลอร

จาวาไบตโคด ไฟลนามสกุล .class

java interpreter : JVM

ไฟลนามสกุล .java

Runtime Hardware

Mobile

PDA

Notebook

Unix system

Macintosh

แพลตฟอรมของเทคโนโลยีจาวา (Platform of Java Technology) Test.class Java API JVM

Java Platform

Hardware Platform

แพลตฟอรมคือฮารดแวรและซอฟตแวรที่โปรแกรมจะใชในการประมวลผล โดยทั่วไปการทํางานจะ พิจารณาจากองคประกอบของฮารดแวรและระบบปฏิบัติการที่ใชเชน Windows, Linux และ MacOs แต แพลตฟอรมของเทคโนโลยีของจาวาจะใชเพียงสวนของซอฟตแวรเทานั้น ประกอบไปดวย • Java Virtual Machine (JVM) เปนสวนที่ใชติดตอกับแพลตฟอรมสวนฮารดแวร

[email protected]

3/37

เริ่มตนกับภาษาจาวา •

Modern Programming Languages

เปนขอกําหนดที่วาดวยคลาสและ อินเตอรเฟสตางๆ ที่กําหนดไวในแพ็กเกจมาตรฐานของภาษาจาวาคูมือ Java API จะแสดง รายละเอียดตางๆ ของคลาสหรืออินเตอรเฟสดังนี้ o ลําดับการสืบทอดคลาส o คําอธิบายเกี่ยวกับคลาสและจุดประสงคทั่วไป o รายชื่อคุณสมบัติตางๆและอธิบายรายละเอียดของคลาส o รายชื่อเมธอดตางๆและอธิบายรายละเอียดของคลาส o รายชื่อ Constructor ตางๆและอธิบายรายละเอียดของคลาส

Java Application Programming Interface (Java API)

แพลตฟอรมของจาวา 2 (Platform of Java 2)

แพลตฟอรมของจาวา 2 มี 3 รูปแบบคือ [email protected]

4/37

เริ่มตนกับภาษาจาวา

Modern Programming Languages

1. Java 2 Platform, Standard Edition (J2SE) เปนแพลตฟอรมที่ใชในการพัฒนาโปรแกรม

ภาษาจาวากับเครื่องพีซีทั่วไป ประกอบดวย Java Java Applet (โปรแกรมจาวาที่รันบนบราวเซอร)

Application

(โปรแกรมใชงานทั่วไป) และ

เปนแพลตฟอรมที่มุงเนนในการพัฒนา โปรแกรมเครือขาย สําหรับใชงานในองคกร โดยใชโปรแกรม Application Server หรือ Web

2. Java 2 Platform, Enterprise Edition (J2EE)

Server 3. Java 2 Platform, Micro Edition (J2ME) เปนแพลตฟอรมที่ใชพัฒนาโปรแกรมเพื่อใชงาน

กับอุปกรณอิเล็กทรอนิกส ที่มีทรัพยากรจํากัด เชน มือถือหรือพีดีเอ (PDA : Digital Asistance)

Personal

การเขียนโปรแกรมคอมพิวเตอร การเขียนโปรแกรมคอมพิวเตอรมี 2 แบบ คือ 1. การเขียนโปรแกรมแบบโครงสราง (Structure Programming) C, Pascal, Basic, ... 2. การเขียนโปรแกรมเชิงวัตถุ (Object Oriented Programming : OOP) C++, Java, ...

การเขียนโปรแกรมแบบโครงสราง การเขียนโปรแกรมแบบโครงสราง คือ โปรแกรมจัดแบงออกเปนชุดคําสั่งยอยๆ หรือฟงกชันหลายๆ ฟงกชัน ซึ่งฟงกชันหนึ่งจะมีหนาที่เปนโปรแกรมหลัก (Main Function) และโปรแกรมหลักจะเรียกฟงกชันยอย (Sub Function) ใดๆ หรือฟงกชันยอยใดๆ จะเรียกฟงกชันยอยอื่นๆไดตามชนิดของโครงสราง

Global dada …. …. Sub Function 1 Main Function …. Call Sub Function 1

Sub Function 2

…. Sub Function 3

Call Sub Function 2 …. Call Sub Function 3 …. …. Call ………………

Sub Function 4

Sub Function N

จากรูปขางตน การทํางานในโปรแกรมหลักจะมีการเรียกใชงานฟงกชันยอยหลายๆฟงกชัน หาก โปรแกรมมีขนาดใหญ มีการทํางานที่ซับซอนมากขึ้น อาจเกิดปญหาจากการเรียกใชขอมูล (Global data) เดียวกัน ทําใหเกิดความยุงยากมากขึ้น ซึ่งทําใหยากตอการแกไขโปรแกรมในภายหลัง

[email protected]

5/37

เริ่มตนกับภาษาจาวา

Modern Programming Languages

การเขียนโปรแกรมเชิงวัตถุ การเขียนโปรแกรมเชิงวัตถุ คือ การมองสิ่งตางๆรอบตัวเปนวัตถุ(object) ทั้งที่เปน รูปธรรมและ นามธรรม เมื่อมองสิ่งตางๆ เปนวัตถุไดแลว เราจะมีตนแบบของสิ่งนั้นๆ ทําใหการเขียนโปรแกรมเปนเรื่องงาย สามารถทําไดรวดเร็ว และการปรับปรุงแกไขโปรแกรมขนาดใหญใชเวลานอยลง • รูปธรรม คือ สิ่งที่จับตองได เชน รถยนต, นักศึกษา, คอมพิวเตอร เปนตน • นามธรรม คือ สิ่งที่จับตองไมได เชน คะแนนรายวิชา, ตารางเที่ยวบิน, การวาดรูป เปนตน ออบเจกต ประกอบไปดวย 2 สวน คือ • คุณลักษณะ (attribute) คือ สิ่งที่บอกลักษณะทั่วไปของวัตถุ หรือขอมูลของวัตถุ (data) • พฤติกรรม (behavior) คือ สิ่งที่วัตถุสามารถกระทําได หรือการกระทําของวัตถุ (method) ตัวอยาง : ออบเจกตของรถยนต ออบเจกตของรถยนต

คุณลักษณะ สี : ดํา, แดง, บรอนซทอง ประเภท : กระบะ,สปอรต,เกง ยี่หอ : อีซูซุ, โตโยตา, บีเอ็มดับบิว รุน : vios,adventure,serie7

พฤติกรรม สตารตเครื่อง ดับเครื่อง เปลี่ยนเกียร การเบรค

แนวความคิดในการเขียนโปรแกรมเชิงวัตถุ •

• •



Abstract Data Type (ADT) การจัดรวมสิ่งตางๆ

รวมเปนกลุมหรือเปนการสรางคลาสนั่นเอง (Class) คือการสรางระบบที่มีความซับซอน นั้นจะตองมีการสรางองคประกอบยอยในแตละสวนดวย แนวความคิดของ ADT การซอนรายละเอียด (Encapsulation) คือการปองกันไมใหออบเจกตภายนอกเขาถึงขอมูลไดอยาง อิสระ ขอดีคือสรางความปลอดภัยใหกับขอมูลได เนื่องจากขอมูลจะถูกเขาถึงไดจากผูมีสิทธิ์เทานั้น การสืบทอด (Inheritance) การสืบทอดคุณสมบัติจากคลาสแมไปยังคลาสลูก คือคลาสลูกสามารถสืบ ทอดคุณสมบัติบางอยางมาจากคลาสแมไดเลย ขอดีคือสามารถนําออบเจกตกลับมาใชใหม (reuse) ประหยัดเวลาในการทํางาน การใชงานไดหลายรูปแบบ (Polymorphism) คือเมธอดหนึ่งๆ ที่ทํางานไดหลายๆรูปแบบ กลาวคือ เมธอดชื่อเดียวสามารถทํางานแตกตางกันได แบงเปน 2 แบบ คือ โอเวอรโหลดดิ้ง(Overloading) และ การโอเวอรไรดิ้ง (Overriding) จะกลาวในโดยละเอียดในบทที่ 5 ตอไป

[email protected]

6/37

เริ่มตนกับภาษาจาวา

Modern Programming Languages

คลาส (Class) คลาสเปรียบเสมือนพิมพเขียว (template) ซึ่งกําหนดรายละเอียดของขอมูล (variable/data member) และพฤติกรรม (method) เรียกวาเปนตนแบบใหกับออบเจกตนั่นเอง ดังนั้นการสรางออบเจกตจะตองสรางคลาส ขึ้นมากอน โดยองคประกอบของคลาส มีดังนี้ • ชื่อคลาส • ขอมูล (variable/data member) • การทํางาน (method/function) ตัวอยาง : คลาสรถ object2

object3 object1 Template Class Car Color Type Brand Serie startEngine stopEngine changeGear break

Attribute/Object variable/Data member

Behavior/Method/Function

object5

object4

object6

จากรูปขางตน จะเห็นไดวาจากคลาสตนแบบของรถ (Class Car) ซึ่งประกอบไปดวยคุณลักษณะและ พฤติกรรมที่แสดงโครงสรางหรือตนแบบของรถไวนั้น เราสามารถนําโครงสรางนี้มาสราง ออบเจกตของรถขึ้นมาใช งานไดอีกหลายคัน ดังนั้นสามารถกลาวไดวากอนสรางออบเจกตขึ้นมาใชงานนั้น จะตองสรางคลาสขึ้นมากอน เสมอ

[email protected]

7/37

เริ่มตนกับภาษาจาวา

Modern Programming Languages

Variable Method และ Message •

Variable : ชนิดของขอมูลในแตละออบเจกต



Method : การทํางานในแตละออบเจกต



Message : กลไกในการสื่อสารระหวางออบเจกต

ยกตัวอยางเชน แตละออบเจกตจะประกอบไปดวย Variable และ Method หาก Variables ถูกซอนรายละเอียด(private variable)ไมสามารถเรียกใช งานไดโดยตรง การขอใชขอมูลจากออบเจกตอื่นๆ สามารถทําไดโดยขอใชผาน Method ของออบเจกต



ออบเจกต A

ออบเจกต B message

method

method

variable

Return value

variable

จากรูปขางตน method จาก ออบเจกต A เรียกใช method จาก ออบเจกต B โดยสง message ไปยัง ออบเจกต B เมื่อ ออบเจกต B ไดรับก็จะประมวลผลตามคํารองขอเพื่อใหไดผลลัพธ จากนั้นจะสงผลลัพธ กลับไปยัง ออบเจกต A เรียกวาเปนการ Return value

การประกาศคลาส accessibility class ClassName { Attributes or Variables ……………… methodA() { ……………… } }

การประกาศตัวแปร รูปแบบ : accessibility dataType variableName;

ตัวอยาง : int count; private String name; public double gpa;

[email protected]

8/37

เริ่มตนกับภาษาจาวา

Modern Programming Languages

การประกาศเมธอด รูปแบบ : accessibility returnType methodName(parameter) { [Method Body] } ตัวอยาง : public void setName(String n) { name = n; }

การสรางออบเจกต สามารถทําได 2 วิธี คือ รูปแบบที่ 1 : ClassName objectName; objectName = new ClassName();

รูปแบบที่ 2 : ClassName objectName = new ClassName(); *** ในการสรางออบเจกต ใชคียเวิรด new เพื่อทําการสรางออบเจกต ซึ่งในการสรางออบเจกตจะมีสิ่งที่

เกิดขึ้น คือ • มีการจองพื้นที่หนวยความจํา เพื่อเก็บขอมูลของออบเจกต • มีการเรียกใชเมธอดพิเศษ(เมธอดที่มีชื่อเหมือนคลาส) ขึ้นเรียกวา constructor • กําหนดคาเริ่มตนใหกับตัวแปรของออบเจกต

ความแตกตางระหวางคลาสกับออบเจกต ชื่อ Class

Object

คําอธิบาย เปนพิมพเขียวหรือตนแบบในการ กําหนดคุณสมบัติและการทํางานไว เพื่อนําไปใช

ออบเจกตเกิดจากคลาส ประกอบดวย คุณสมบัติและการทํางานตามที่คลาส กําหนด

[email protected]

ตัวอยาง Class Student { String id,name; double gpa; void show() { System.out.println(“ID : ”+id); System.out.println(“Name : ”+name); System.out.println(“GPA : ”+gpa); } } Student s1 = new Student(); Student s2 = new Student();

9/37

เริ่มตนกับภาษาจาวา

Modern Programming Languages

ตัวอยางการเขียนโปรแกรมดวยภาษาซี

ตัวอยางการเขียนดวยภาษาจาวา

[email protected]

10/37

เริ่มตนกับภาษาจาวา

Modern Programming Languages

ตัวอยาง Command Line Arguments C Code void main(int argc, char* argv[]) { …… } o argc // จํานวนของ arguments ที่สงผาน command line o

argv // พอยเตอรอะเรยจัดเก็บสตริงของ arguments ที่รับเขามา

Java Code public static void main (String args[]) { …… } o args // อะเรยจัดเก็บสตริงของ arguments ที่รับเขามา

[email protected]

11/37

เริ่มตนกับภาษาจาวา

Modern Programming Languages

วิธีการดาวนโหลดและการติดตัง้ ตัวแปลภาษาจาวา การดาวนโหลดโปรแกรมที่เกี่ยวของในภาษาจาวา มีดังนี้ 1. J2SDK (Java 2 Software Developer Kit) เปนชุดพัฒนาจาวาแอพพลิเคชั่น

2. 3.

ประกอบไปดวย

โปรแกรมคอมไพเลอร(Compiler : javac.exe), โปรแกรมของตัวแปลภาษา(Interpreter : java.exe) และโปรแกรมอื่นๆ ซึ่งยังครอบคลุม J2RE ไวในตัวมันอีกดวย J2RE ใชในการรันโปรแกรมจาวา ประกอบไปดวยไลบรารี่ตางๆ ที่เขียนขึ้นดวยภาษาจาวา (สําหรับ เครื่องที่ไมมี J2SE SDK ได) J2SE Documentation คือเอกสารที่ใชประกอบการใชงานแพ็คเกจตางๆในภาษาจาวา

ขั้นตอนในการดาวนโหลด มีดังนี้ 1. เขาไปที่ http://java.sun.com แลวคลิกที่ลิงค J2SE 1.4.2 SDK ที่อยูในหัวขอ Popular Downloads ดังรูปดานลาง

2.

เมื่อเขาไปยังหนาดาวนโหลด ในหัวขอ J2SE SDK ดังรูปหนาตอไป

[email protected]

v1.4.2_06 SDK

และคลิกที่ลิงค

Download J2SE

12/37

เริ่มตนกับภาษาจาวา

Modern Programming Languages

3.

ในหนาจอนี้จะเปนขอตกลงในการดาวนโหลด ใหเลือก Accept แลวคลิก Continue ดังรูปดานลาง

4.

เขาสูหนาจอในการดาวนโหลด ในหัวขอ Windows Installation, Multi-language ดังรูปหนาตอไป

[email protected]

Platform

ใหเลือก Windows

Offline

13/37

เริ่มตนกับภาษาจาวา

5.

Modern Programming Languages

กลับไปที่หนาจอในขอ 2. เพื่อทําการดาวนโหลด เอกสารที่ใชประกอบในการใชงานภาษาจาวา ในหัวขอ J2SE v1.4.2 Documentation แลวคลิก Dowonload ดังรูปดานลาง

[email protected]

14/37

เริ่มตนกับภาษาจาวา

Modern Programming Languages

ขั้นตอนในการติดตั้งตัวแปลภาษาจาวา มีดังนี้ 1. ทําการดับเบิ้ลคลิกที่ไฟล j2sdk-1_4_2_08-windows-i586-p.exe ที่ดาวนโหลดมา 2. จะเขาสูหนาจอที่เปนขอตกลงในการติดตั้งโปรแกรม ใหเลือก I accept the terms agreement แลวคลิกปุม Next ดังรูปดานลาง

3.

in the license

จะมีองคประกอบใหเลือกในการติดตั้งอยู 4 สวน คือ Development Tools, Demos, Source Code และ Public Java Runtime Environment หากตองการติดตั้งทุกองคประกอบ ใหคลิกปุม Next แต หากไมตองการติดตั้งองคประกอบใดสามารถทําได ยกตัวอยางเชน ไมตองการติดตั้ง Demos ใหคลิกที่ หัวขอ Demos แลวเลือก “Don’t install this feature now.” ดังรูปดานลาง

[email protected]

15/37

เริ่มตนกับภาษาจาวา

Modern Programming Languages

4.

จากนั้นจะแสดงหนาจอใหทําการเลือกบราวเซอรที่ใชในการรันดวย Java Plug-in แลวคลิกปุม Next ดัง รูปดานลาง

5.

เมื่อการติดตั้งเสร็จใหคลิกปุม Finish

การติดตั้งเอกสารประกอบโปรแกรมภาษาจาวา ทําการขยายไฟล (extract) j2sdk-1_4_2-docs.zip ที่ดาวนโหลดมา โดยนําไปเก็บไวในโฟลเดอรใดก็ ไดที่ตองการ จะใหดีควรเก็บที่ที่อยูของโปรแกรมจาวาจะไดไมลืม หากติดตั้งโปรแกรมที่ C:\j2sdk1.4.2_08 ให สรางโฟลเดอร docs แลวนําไฟลที่ขยายเก็บในโฟลเดอรนี้ ดังรูปดานลางแสดงใหเห็นองคประกอบของไฟล j2sdk-1_4_2-docs.zip ที่ทําการขยายออกมา

[email protected]

16/37

เริ่มตนกับภาษาจาวา

Modern Programming Languages

หากตองการศึกษาการทํางานของ Java API ใหเขาไปที่โฟลเดอร api แลวดับเบิ้ลคลิกไฟล index.html แสดงดังรูปดานลาง

การสรางและรันโปรแกรมดวยภาษาจาวา การสรางไฟลตองเปน text file ที่มีนามสกุล “.java” ในระบบปฏิบัติการวินโดวสสามารถสรางโปรแกรม ภาษาจาวาโดยใช notepad สวนการคอมไพลและรันโปรแกรมจะตองเรียกใชงานผาน command line ซึ่งจะไม สะดวกในการใชงาน public class FirstProgram { public static void main(String args[]) { System.out.println("Hello, JAVA"); } }

เปด notepad แลวทําการพิมพโปรแกรมดังรูปดานบน โดยที่อักษรตัวพิมพเล็กและตัวพิมพใหญมีผลใน การทํางานของภาษาจาวา เพราะภาษาจาวาเปน case-sensitive บันทึกไฟลดวยชื่อ FirstProgram.java ใน สวนของการบันทึกไฟลโปรแกรมภาษาจาวามีกฎดังนี้ • หากประกาศชื่อคลาส โดยระบุหนาคลาสเปน public แลวจะตองทําการบันทึกชื่อไฟลใหเหมือนกับชื่อ คลาส อยาลืมวาภาษาจาวาเปน case-sensitive • ใน 1 ไฟลประกอบไปดวยกี่คลาสก็ได แตสามารถประกาศเปน public คลาสไดเพียงคลาสเดียว

[email protected]

17/37

เริ่มตนกับภาษาจาวา

Modern Programming Languages

ในกรณีที่คลาสไมไดประกาศถูกเปน public จะทําใหสามารถตั้งชื่อไฟลเปนอะไรก็ได แตการตั้งชื่อไฟล ใหตรงกับชื่อคลาสนั้นเปนที่นิยม เพราะเมื่อคอมไพลโปรแกรมผานจะไดไฟล “.class” ทําใหสามารถ อางอิงไดวาไฟล “.class” นี้คอมไพลมาจากไฟล “.java” ไฟลใด เปดหนาตาง DOS ไปยังไดเร็กทอรี่ ที่เก็บไฟล FirstProgram.java จากนั้นคอมไพลโปรแกรมดวย คําสั่งดังนี้ •

javac FirstProgram.java

ถ า คอมไพล เ สร็ จ สิ้ น ด ว ยดี และเมื่ อ ตรวจสอบในไดเร็ ก ทอรี่ ที่ ทํ า งานอยู จ ะพบไฟล ใ หม ถู ก สร า งขึ้ น ชื่ อ FirstProgram.class ดังรูปดานลาง

จากนั้นทําการรันโปรแกรมดวยคําสั่งดังนี้ java FirstProgram

ที่หนาจอจะแสดงขอความ Hello, JAVA ดังรูป ดานบน

[email protected]

18/37

เริ่มตนกับภาษาจาวา

Modern Programming Languages

จากโคดโปรแกรม FirstProgram.java ดังรูปดานบน ในการคอมไพลเกิดปญหา มีการแจงตําแหนง ขอผิดพลาดที่บรรทัดที่ 4 วาตองการเครื่องหมายเซมิโคลอน ดังรูปผลการคอมไพลดานบน

จากโคดโปรแกรม FirstProgram.java ดังรูปดานบน ในการคอมไพลเกิดปญหา มีการแจงตําแหนง ขอผิดพลาดที่บรรทัดที่ 1 ดังรูปผลการคอมไพลดานบน ซึ่งปญหานี้เกิดจากชื่อไฟลกับชื่อคลาสไมตรงกัน แตในปจจุบันมีการพัฒนาโปรแกรม IDE (Integrated Development Environment) ขึ้นมาเปน เครื่องมือชวยในการพัฒนาโปรแกรมภาษาจาวา เพื่อใหสามารถพัฒนาโปรแกรมไดเร็วขึ้น จึงเลือกโปรแกรม JCreator ที่ออกแบบมาเพื่อเขียนโคดภาษาจาวา โดยสามารถเรียกคําสั่งในการคอมไพลและรันโปรแกรมที่ พัฒนาขึ้นจากเมนูที่กําหนดไว โปรแกรม JCreator เปน Editor ซึ่งสามารถทําการคอมไพลและรันโปรแกรม ภาษาจาวาได แตไมสามารถทําการดีบักได

[email protected]

19/37

เริ่มตนกับภาษาจาวา

Modern Programming Languages

วิธีการดาวนโหลดและติดตั้งโปรแกรม JCreator กอนการติดตั้งโปรแกรม JCreator จะตองลงโปรแกรม J2SE SDK และ J2SE Documentation เขาไปที่ http://www.jcreator.com/download.htm มีขั้นตอนในการดาวนโหลด มีดังนี้ 1. ทําการเลือก Download JCreator LE v2.50 – Freeware แสดงดังรูปดานลาง

2.

ทําการ Submit โดยจะตองใสชื่อ, นามสกุล และ อีเมล โดยเฉพาะอยางยิ่ง ตองเปนอีเมลที่ใชไดถูกตอง เนื่องจากทาง Xinox Software จะสงลิงคที่ใชในการดาวนโหลดกลับมาทางอีเมล แสดงดังรูปดานลาง

[email protected]

20/37

เริ่มตนกับภาษาจาวา

Modern Programming Languages

3.

เมื่อ Submit เรียบรอยแลว จะไดดังรูปดานลาง

4.

เช็คเมลที่ได การดาวนโหลดทําไดโดยคลิกลิงค URL ที่ใหมา แสดงดังรูปดานลาง

[email protected]

21/37

เริ่มตนกับภาษาจาวา 5. 6.

Modern Programming Languages

เมื่อดาวนโหลดเสร็จ ใหทําการขยายไฟล (extract) jcrea250.zip กอน จากนั้นจะไดไฟล Setup.exe ทําการดับเบิ้ลคลิกไฟล Setup.exe เพื่อเริ่มการติดตั้งโปรแกรม JCreator เขาหนาจอการติดตั้งโปรแกรม ทําการคลิกปุม Next แสดงดังรูปดานลาง

7.

จะเขาสูหนาจอที่เปนขอตกลงในการติดตั้งโปรแกรม ใหเลือก I accept the agreement แลวคลิกปุม Next แสดงดังรูปดานลาง

8.

เลือกไดรฟและโฟลเดอรที่จะทําการติดตั้งโปรแกรม (ในที่นี้ไมจาํ เปนตองเปลี่ยนแปลง) คลิกปุม Next แสดงดังรูปดานลาง

[email protected]

22/37

เริ่มตนกับภาษาจาวา

Modern Programming Languages

9.

กําหนดชื่อโฟลเดอรใน Start Menu (ในที่นี้ไมจําเปนตองเปลี่ยนชื่อ) แสดงดังรูปดานลาง

10.

เลือก Create a desktop icon เพื่อสรางไอคอนที่เดสกท็อป อํานวยความสะดวกในการเลือกใชงาน ถา ไมตองการไอคอน ใหคลิกที่เลือกไวแลวออกไป จากนั้นคลิกปุม Next แสดงดังรูปดานลาง

11.

เขาสูหนาจอแสดงขอความแสดงรายละเอียดในการติดตั้ง ถาทุกอยางเปนไปตามความตองการ คลิกปุม Install หากตองการแกไขใหคลิกปุม Back กลับไปยังตําแหนงที่ตองการแกไข แสดงดังรูปดานลาง

[email protected]

23/37

เริ่มตนกับภาษาจาวา

Modern Programming Languages

12.

เมื่อติดตั้งโปรแกรมเสร็จใหเลือก Launch JCreator LE เพื่อทําการกําหนดคาเริ่มตนในการใชงาน จากนั้นคลิกปุม Finish แสดงดังรูปดานลาง

13.

ทําการกําหนดชนิดไฟลที่เกี่ยวของในการใชโปรแกรม JCreator ไฟลที่ปรากฏอยูเริ่มตนมี 3 ชนิด ไม ตองทําการเพิ่มหรือลบชนิดใดออกไป ใหคลิกปุม Next แสดงดังรูปดานลาง

14.

ใหทําการตั้งคา path ไปยังโปรแกรมจาวาที่ทําการติดตั้งไวกอนหนานี้ C:\j2sdk1.4.2_08 แสดงดังรูป ดานลาง

[email protected]

24/37

เริ่มตนกับภาษาจาวา 15.

Modern Programming Languages

ใหทําการตั้งคา path ไปยังเอกสารประกอบการใชงานภาษาจาวา ที่ไดทําการขยายไวกอนหนานี้ C:\j2sdk1.4.2_08\docs

การใชงานโปรแกรม JCreator ในการพัฒนาโปรแกรมดวยภาษาจาวา เปดโปรแกรม โดยเลือกที่ไอคอน

[email protected]

จะไดหนาตางแสดงดังรูปดานลาง

25/37

เริ่มตนกับภาษาจาวา 1.

Modern Programming Languages

การสรางไฟลเลือกไปที่เมนู FileÆNew เกิด Dialog ดังรูปดานลาง

เลือก Tab Files แลวเลือก icon Java File จากนั้นทําการพิมพชื่อไฟล เมื่อตั้งชื่อไฟลเสร็จใหคลิกปุม OK จะ ไดผลดังรูปดานลาง

*** เลือก Folder ที่ตองการเก็บไฟล (สําหรับใน Jcreator ตองทําการสรางไฟลใน subfolder มิฉะนั้น

จะ compile ไมผาน )

[email protected]

26/37

เริ่มตนกับภาษาจาวา 2.

Modern Programming Languages

การคอมไพลและรันโปรแกรม 1

2

ในสวนของปุมที่ 1 ทําการคอมไพล ในสวนของปุมที่ 2 ทําการรัน ทําการพิมพโปรแกรมดังรูปดานลาง เมื่อเสร็จแลวทําการคลิกปุมคอมไพล ถาการคอมไพลผานไปดวยดี จะแสดงขอความที่กรอบขางลาง วา Process completed.

อธิบายโปรแกรม บรรทัดที่ 1 กําหนดชื่อคลาสเปน FirstProgram.java เมื่อสั่งคอมไพลจะไดไฟล FirstProgram.class บรรทัดที่ 2 เมธอด main เปนเมธอดหลักที่เริ่มการทํางาน (ถาไมมีจะไมสามารถรันการทํางานได) บรรทัดที่ 3 เรียกใชเมธอด println เพื่อแสดงขอความ Hello, JAVA ออกทางหนาจอ *** เมธอด main ในภาษาจาวา public static void main(String args[]) { … } o public กําหนดให main สามารถเรียกใชไดทุกที่ คือให Java Interpreter สามารถเรียก o o

เมธอด main เริ่มทํางานได static เปนคียเวิรดในการกําหนดใหเมธอด main สามารถทํางานไดโดยไมตองสรางออบ เจกตดวยคําสั่ง new void เปนตัวบอกวาเมธอดนี้ไมมีการคืนคา

[email protected]

27/37

เริ่มตนกับภาษาจาวา o

Modern Programming Languages String args[] command line argument ที่ใชรับคาพารามิเตอรเขามาในเมธอด main

จะมีชนิดขอมูลเปนอะเรยสตริง จากนั้นคลิกปุมเพื่อรันโปรแกรม จะไดผลแสดงดังรูปดานลาง

รูปดานลาง ยกตัวอยางโคดที่คอมไพลไมผาน เกิดขอผิดพลาดแจงวา C:\Modern Programming\1_48\FirstProgram.java:1: class Firstprogram is public, should be declared in a file named Firstprogram.java public class Firstprogram { ^ 1 error

[email protected]

28/37

เริ่มตนกับภาษาจาวา

Modern Programming Languages

เนื่องจากสรางคลาสโดยระบุหนาคลาสเปน public แลวจะตองบันทึกชื่อไฟลใหเหมือนกับชื่อคลาส (ใน หนึ่งไฟลประกอบดวยกี่คลาสก็ได แตสามารถประกาศเปน public ไดเพียงคลาสเดียว) ถึงแมวาจะสามารถตั้งชื่อไฟลเปนชื่ออะไรก็ได ในกรณีที่คลาสนั้นไมถูกระบุเปน public แตก็ยังเปนที่ นิยมวาควรตั้งชื่อไฟลใหเหมือนกับชื่อคลาส เพราะเมื่อคอมไพลแลวไดไฟล .class ออกมาแลว จะสามารถอางอิง ไดงายวาไฟล .class นี่คอมไพลมาจากไฟล .java ใด ในโคดนี้แกใหคอมไพลผานอยางไร ?

รูปดานลาง เปนอีกตัวอยางหนึ่งที่คอมไพลไมผาน ซึ่งมีขอผิดพลาดแจงวา C:\Modern Programming\1_48\FirstProgram.java:4: ';' expected } ^ 1 error

[email protected]

29/37

เริ่มตนกับภาษาจาวา

Modern Programming Languages

ในโคดขางบนนี้แกใหคอมไพลผานอยางไร ?

รูปดานลาง เปนตัวอยางหนึ่งที่คอมไพลไมผาน ซึ่งมีขอผิดพลาดแจงวา C:\Modern Programming\1_48\FirstProgram.java:2: invalid method declaration; return type required public static main(String args[]) { ^ 1 error

ในโคดนี้แกใหคอมไพลผานอยางไร ?

[email protected]

30/37

เริ่มตนกับภาษาจาวา 3.

Modern Programming Languages

การรับคา command line arguments ใหทดลองพิมพโปรแกรมดังรูปขางลาง แลวทําการคอมไพลให ผานแลวรันเพื่อดูผลการทํางาน

ผลการรันที่ไดคือ Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 at ShowArguments.main(ShowArguments.java:3) Press any key to continue...

ไมสามารถแสดงผลการทํางานไดเนื่องจาก ยังไมไดกําหนดคา arguments ที่ตองการแสดงออกทางหนาจอ ในโคดโปรแกรมคา arguments เก็บอยูในตัวแปรอะเรยสตริงชื่อ args

[email protected]

31/37

เริ่มตนกับภาษาจาวา

Modern Programming Languages

การกําหนดคา arguments ดวยโปรแกรม JCreator ทําไดดังนี้ 1. เลือกเมนู ConfigureÆOptions 2. เลือก JDK Tools จากนั้น Select Tool Type เปน Run Application แลวเลือก default ดังรูป ดานลาง

3.

จากนั้นกดปุม Edit จะปรากฏไดอะล็อกดังรูปดานลาง

[email protected]

32/37

เริ่มตนกับภาษาจาวา

Modern Programming Languages

4.

จากนั้นเลือกแท็บ Parameters จะปรากฏดังรูปดานลาง

5.

ใหเลือกที่ชอง Prompt for main method arguments แลวทําการเลือกที่ชอง Use class-path ออก ดังรูปดานลาง

เมื่อทําการรันโปรแกรมจะแสดงไดอะล็อก ใหพิมพขอความที่ตองการแสดง 3 ขอความ ดังรูปดานลาง

[email protected]

33/37

เริ่มตนกับภาษาจาวา

Modern Programming Languages

จากรูปขางบน จะมีทั้งหมด 3 arguments โดยที่แตละตัวตองคั่นดวย space คือ 1. args[0] = Hello 2. args[1] = Java 3. args[2] = Programming

ผลการรันที่ไดคือ Line 1 Hello Line 2 Java Line 3 Programming Press any key to continue...

หากกําหนดคา arguments ไมครบ 3 ตัว เกิดผลอยางไร ? เพราะอะไรจึงเปนเชนนั้น

[email protected]

34/37

เริ่มตนกับภาษาจาวา

Modern Programming Languages

คําถามทายบท 1.

2. 3. 4.

มองสิ่งตางดังตอไปนี้ใหเปนวัตถุ โดยยกตัวอยางคุณลักษณะและพฤติกรรม อยางละ 5 ตัวอยาง 1.5. สุนัข 1.1. โทรทัศน 1.2. ตูเย็น 1.6. บาน 1.3. คอมพิวเตอร 1.7. รูปทรงตางๆ 1.4. นักเรียน อธิบายความแตกตางระหวางคลาสและออบเจกต การสรางออบเจกตทําได 2 วิธี แสดงวิธีสรางของทั้งสองวิธี อธิบายแนวความคิดในการเขียนโปรแกรมเชิงวัตถุ ทั้ง 4 แนวความคิด

แบบฝกหัดทายบท 1.

สรางคลาสตนแบบ Student.java ดังโปรแกรมตอไปนี้ จากนั้นคอมไพลและรันดูผลที่ได public class Student{ String id,name; double gpa; void show(){ System.out.println("ID : "+id); System.out.println("Name : "+name); System.out.println("GPA : "+gpa); } }

ผลที่ได

2.

จากนั้นทําการสรางโปรแกรม CreateStudent.java เพื่อนําคลาส Student มาใช public class CreateStudent{ public static void main(String[] args){ Student s = new Student(); s.id = "39111027"; s.name = "Manee"; s.gpa = 3.5; s.show(); } }

ผลที่ได

[email protected]

35/37

เริ่มตนกับภาษาจาวา 3.

Modern Programming Languages

จากขอ 2 ทําการแกไขที่เมธอด main ดังนี้ a. public static void main(String[] a)

ผลการคอมไพล

ผลรัน

b. static void main(String[] args)

ผลการคอมไพล

ผลรัน

c. public void main(String[] args)

ผลการคอมไพล

ผลรัน

d. public static void main(int[] args)

ผลการคอมไพล

[email protected]

36/37

เริ่มตนกับภาษาจาวา

Modern Programming Languages

ผลรัน

e. public static main(String[] args)

ผลการคอมไพล

[email protected]

37/37

Related Documents

Chap01
November 2019 9
Chap01 Printed
December 2019 8
Chap01.pdf
October 2019 16
Ufa#ed2#sol#chap01
November 2019 16
Ccna Sec Chap01
June 2020 6