แนะนำกำรเขียนภำษำจำวำ
โดย วิจักษณ์ ศรีสัจจะเลิศวาจา ดุษฎี ประเสริฐธิตพิ งษ์
1-1
1. ทาความรู้ จักภาษา Java จาวาเป็ น Programming Language พัฒนาขึน้ ที่ Sun Microsystems เมื่อปี ค.ศ. 1991 โดย Jame Gosling เป็ นหัวหน้ าทีม พัฒนาเป้าหมายการพัฒนาโปรแกรม “พัฒนาภาษาและระบบปฏิบัตกิ ารที่เป็ นอิสระจากแพลทฟอร์ ม (Platform-independent Language and Platform-Independent Operating System) เพือ่ ใช้ ในอุปกรณ์ ไฟฟ้า เช่ น เครื่องปิ้ งขนมปัง เตาไมโครเวฟ เป็ นต้ น” มีชื่อเรียกในยุคแรกว่ า OAK 1-2
1. ทาความรู้ จักภาษา Java (ต่ อ) ค.ศ. 1993 World Wide Web เริ่มแพร่ หลายทีมพัฒนาพบว่ าจาวา เป็ นภาษาทีม่ ีสถาปัตยกรรมทีเ่ หมาะสมกับการทางานบน Internet เนื่องจาก -> Small : Faster to download off a page -> Secure : Prevent hacker’s programs that wreak havoc on browser user’s system. -> Portable : It can run on Windows, Macintosh, and other platform without modification. ประกาศตัวครั้งแรกเมื่อเดือนพฤษภาคม ค.ศ. 1995 1-3
1. ทาความรู้ จักภาษา Java (ต่ อ) ภาษาคอมพิวเตอร์ สมัยก่อน -> แปล Source Code เป็ นภาษาเครื่อง -> เมื่อมีการเปลีย่ น Chip จะต้ อง Compile โปรแกรมใหม่ -> ทาให้ ความน่ าเชื่อถือของโปรแกรมลดลง ภาษาจาวา -> แปล Source Code เป็ นภาษาเครื่องที่ไม่ ขนึ้ กับ Platform -> คาสั่ งนั้นจะถูกแปลอีกครั้งในช่ วง Run-time โดย Java Virtual Machine (JVM) ทางานในลักษณะ Interpret -> เป็ นภาษาทีเ่ หมาะกับงานอินเตอร์ เน็ตและงานโปรแกรม ทั่วไป 1-4
แผนภาพแสดงการใช้ งานคอมไพเลอร์ อนื่ ๆ Source Code
Compiler (Pentium)
Binary File (Pentium)
Compiler (PowerPC)
Binary File (PowerPC)
Compiler (SPARC)
Binary File (SPARC)
1-5
แผนภาพแสดงการใช้ งานจาวา
Java Code
.java
Java Bytecode (PlatformJava Compiler Independent) (Pentium)
Java Interpreter (Pentium)
.class Java Compiler (PowerPC) Java Compiler (SPARC)
Java Interpreter (PowerPC) Java Interpreter (SPARC) 1-6
2. ทาความรู้ จักกับ Class คือการประกาศภาพรวมของกลุ่มวัตถุ (Object) ที่ มีคุณลักษณะ (Attribute) ทีเ่ หมือนกัน มีพฤติกรรมที่ เหมือนกัน ในการประกาศ Class สิ่ งทีต่ ้ องทาการประกาศ ประกอบด้ วย Data(ข้ อมูล) และ พฤติกรรม (Behavior) หรือ การกระทา (Operation) สาหรับ Class นั้น
1-7
ตัวอย่ างที่ 1
Class ของรถ สิ่ งที่เราต้ องประกาศภาพรวม ได้ แก่
Data
- ยีห่ ้ อ - รุ่น
- สี
Behavior - เดินหน้ า - ถอยหลัง - หยุด
- เลขทะเบียน
1-8
3. ทาความรู้ จักกับ Object (วัตถุ)
คือ สิ่ งที่เป็ นตัวแทนของ Class มีคุณลักษณะทีบ่ ่ ง บอกถึงความเป็ นตัวเอง และสามารถแสดงพฤติกรรมได้
1-9
ตัวอย่ าง
แสดงตัวอย่ างของ Object จาก Class ของรถ ตัวอย่ าง ทีผ่ ่ านมา
รถยนต์ ยหี่ ้ อ MIZUBISHI รุ่ น Lancer สี แดง ทะเบียน กท.7864
1-10
4. รู ปแบบของโปรแกรมในภาษา Java การโปรแกรมในภาษาจาวาทาได้ ใน 2 ลักษณะ 1. Application เป็ นโปรแกรมทัว่ ไปที่เขียนขึน้ ด้ วยภาษาจาวา สามารถทางาน ได้ ด้วยตัวเองโดยไม่ ต้องอาศัย Browser 2. Applet เป็ นจาวาโปรแกรมทีฝ่ ังตัวอยู่ในภาษาอืน่ ๆ การใช้ งาน Applet จะขึน้ อยู่กบั ความสามารถของ Java Browser 1-11
5. รู ปแบบของโปรแกรมภาษา Java แบบ Application คาอธิบายโปรแกรม (Comment) Import Statements class { public static void main (String args[ ] ) { }
}
ชื่อ Class Method Body
1-12
6. การ Edit-Compile-Run โปรแกรมภาษา Java แบบ Application javac FirstPrg.java FirstPrg.java
FirstPrg.class
java FirstPrg
1-13
7. โปรแกรมแรกสาหรับการรู้ จักการเขียน Java แบบ Application import javabook.*; class MyFirstApplication { public static void main(String args[ ]) { MainWindow mainWindow; mainWindow = new MainWindow( ); mainWindow.show( ); } }
1-14
ผลการ Run โปรแกรม
1-15
8. Comment /* This is a comment on one line */ /* comment number 1 */ /* สองอันนีเ้ ป็ น ส่ วนหนึ่งของ /* /* comment 2 /* comment number 2 */ 1-16
8. Comment (ต่ อ) // ใช้ สาหรับการเขียน Comment ในหนึ่งบรรทัด /** และ */ ใช้ ใน JavaDoc เพือ่ ให้ สร้ าง เอกสารประกอบโปรแกรมอัตโนมัติ
1-17
ตัวอย่ าง
แสดงตัวอย่ างของ Header Comment
/********************************************* ****** Program : TextEditor (Lab1.java) Author : Wijak Srisujjalertwaja Written : October 19, 2000 Course : 204217, 2nd Semester 2000. Assignment No. 1 Compile : javac Lab1.java Run : java Lab1 Description : This program is perform ………….
1-18
9. Import Statement เมื่อต้ องการเรียกใช้ งาน Class ต่ างๆ ทีถ่ ูกประกาศ ไว้ แล้ ว (Predefined Classes) โดยในภาษา Java จะจัดเก็บ Class ที่ทาการประกาศไว้ แล้ วรวมกันเรียกว่ า Packages
1-19
9. Import Statement (ต่ อ) import javabook.*; class MyFirstApplication { public static void main(String args[ ]) { MainWindow mainWindow; mainWindow = new MainWindow( ); mainWindow.show( ); } }
1-20
10. การประกาศ Class (Class import javabook.*; Declaration) class MyFirstApplication { public static void main(String args[ ]) { MainWindow mainWindow; mainWindow = new MainWindow( ); mainWindow.show( ); } }
1-21
10. การประกาศ Class (ต่ อ) ชื่อของคลาส
class MyFirstApplication Class Body { }
-> Data Members -> Method
1-22
11. การประกาศเมธอด (Method Declaration) import javabook.*; class MyFirstApplication { public static void main(String args[ ]) { MainWindow mainWindow; mainWindow = new MainWindow( ); mainWindow.show( ); } }
1-23
11. การประกาศเมธอด (ต่ อ) Modifier
Return Type
Method Name
public static void main(String args[ ]) {
}
Parameter 1-24
12. ลักษณะการใช้ งาน Object ในโปรแกรม ลักษณะการใช้ งาน Object ในโปรแกรม สามารถ แบ่ งออกเป็ น 3 ลักษณะ 1. การประกาศออปเจกต์ (Object Declaration) 2. การสร้ างออปเจกต์ (Object Creation) 3. การส่ งแมสแสจ (Message Sending) 1-25
12.1 การประกาศออปเจกต์ (Object Declaration) import javabook.*; class MyFirstApplication { public static void main(String args[ ]) { MainWindow mainWindow; mainWindow = new MainWindow( ); mainWindow.show( ); } }
1-26
12.1 การประกาศออปเจกต์ (ต่ อ) ชื่อของคลาส
ชื่อของออป เจกต์
MainWindow mainWindow;
1-27
12.2 การสร้ างออปเจกต์ (Object Creation) import javabook.*; class MyFirstApplication { public static void main(String args[ ]) { MainWindow mainWindow; mainWindow = new MainWindow( ); mainWindow.show( ); } }
1-28
12.2 การสร้ างออปเจกต์ (ต่ อ) ชื่อของออปเจกต์
ชื่อของคลาส
Argument
mainWindow = new MainWindow ( ); คาสั่ งสาหรับการสร้ างออปเจกต์ 1-29
ข้ อแตกต่ างระหว่ างการประกาศออปเจกต์ กับ การสร้ างออปเจกต์ Account account; account = new Account ( );
account Account
1-30
ข้ อแตกต่ างระหว่ างการประกาศออปเจกต์ กับ การสร้ างออปเจกต์ (ต่ อ) Account account; account = new Account ( ); account account = new Account ( ); Account
Account
1-31
ข้ อแตกต่ างระหว่ างการประกาศออปเจกต์ กับ การสร้ างออปเจกต์ (ต่ อ) Account account; account = new Account ( ); account account = new Account ( ); Account
Account
Deallocate 1-32
ข้ อแตกต่ างระหว่ างการประกาศออปเจกต์ กับ การสร้ างออปเจกต์ (ต่ อ) Account account; account = new Account ( ); account account = new Account ( ); Account
1-33
11.3 การส่ งแมสแสจ (Message Sending) import javabook.*; class MyFirstApplication { public static void main(String args[ ]) { MainWindow mainWindow; mainWindow = new MainWindow( ); mainWindow.show( ); } }
1-34
11.3 การส่ งแมสเสจ (ต่ อ) ชื่อของออปเจกต์
ชื่อเมธอด
Argument
mainWindow . show ( );
1-35
12. รู ปแบบของโปรแกรมภาษา Java แบบ Applet คาอธิบายโปรแกรม (Comment)
import java.applet.* ; import java.awt.*; public class {
}
Import Statements extends Applet
ชื่อ Applet
Data Member Method Member
1-36
12. การ Edit-Compile-Run โปรแกรมภาษา Java แบบ Applet Java Bytecode Java Code
.java
Java Compiler (Pentium)
.class
Webpage
+
.html
appletviewer
Java Compiler (SPARC)
1-37
12.1 แผนภาพแสดงการ Edit-Compile-Run แบบ Applet javac MyApplet.java MyApplet.java
+
MyApplet.class MyApplet.html
appletviewer MyApplet.html 1-38
13. โปรแกรมแรกสาหรับการรู้ จักการเขียน Java แบบ Applet import java.applet.*; import java.awt.*; public class MyFirstApplet extends Applet { public void paint(Graphics graphic) { graphic.drawString(“I Love Java”,70,70); graphic.drawRect(50,50,100,30); } }
1-39
14. การเขียน HTML file เพือ่ เรียกใช้ งาน Applet <HTML> <BODY> <APPLET CODE = “MyFirstApplet.class” WIDTH = 300 HEIGHT = 190> </APPLET> </BODY> </HTML> 1-40
ผลการ Run โปรแกรม
1-41
1-42