รายวิชา 232302 การเขียนโปรแกรม 2 ·...
TRANSCRIPT
รายวชา 232302การเขยนโปรแกรม 2
อ .อ ตโรจน วงษว ชรศก ดคณะบรหารศาสตร สาขาวชาคอมพว เตอ ร ธร กจ
หนวยท 1 แนะน าภาษาจาวาhttp://jaydaymaster.wordpress.com
วตถประสงค1. เพอใหผเรยน มความร ทกษะ เกยวกบการเขยนโปรแกรมภาษาจาวา2. เรยนรโครงสรางของโปรแกรมจาวา วธก าหนดขอมลในรปแบบตางๆ การใชค าสงตาง ๆ
การรบและแสดงผลขอมล โครงสรางควบคมการท างาน (Control Structures)3. เพอศกษาขอมล คาคงท ตวแปร และการสรางฟงกชนในภาษาจาวา4. เพอใหนกศกษาสามารถน าความรทไดไปพฒนาและเขยนโปรแกรมเพอน าไปปฏบตจรง
ได
2
หนวยท 1 แนะน าภาษาจาวาประวตของภาษาจาวาขอดของภาษาจาวาจาวาแพลตฟอรมการคอมไพลและรนโปรแกรมภาษาจาวาโปรแกรม HelloWorld ในแบบตวอกษรและแบบกราฟกส
3
ประวตของภาษาจาวาภาษาโอค• เรมตนขนในปค.ศ. 1990• แพททรก นอทน (Pattrick Naughton) จะลาออกจากซน• เจมส กอสลง (James Gosling) ผใหก าเนดภาษาจาวา• กรนทม
- ยคถดจากคอมพวเตอรสวนบคคล (personal computer) กคอ คอมพวเตอรในอปกรณอเลกทรอนกส (consumer electronics)• ดค
4
ประวตของภาษาจาวาภาษาจาวา• มารค แอนดรสเซน กบ Mosaic และเวบ• บล จอย (Bill Joy) แจกจายตวพฒนาภาษา• นอทนพฒนาเวบเบราเซอรทสนบสนนภาษาจาวา โปรแกรมดงกลาวมชอวา HotJava• Netscape Navigator• 23 มกราคม ค.ศ. 1996 ซนไดออก JDK 1.0
5
ขอดของภาษาจาวา• ท างานบนเวบเบราเซอรได • ความปลอดภยสง • สนบสนนงานหลายระดบ • สามารถท างานบนเครองคอมพวเตอรตางระบบได • ภาษาจาวาเปนภาษาเชงวตถ• ความทนสมย • ความเรยบงาย
6
ขอดของภาษาจาวา• กลไกในการคนพนทในหนวยความจ าอตโนมต (garbage collection)• มคลาสและอนเตอรเฟซใหใชเยอะมาก
- 794 interfaces- 2485 classes
• ฟร
7
จาวาแพลตฟอรมแพลตฟอรม (platform) • ระบบทโปรแกรมอาศยท างาน• Hardware• Software
8
จาวาแพลตฟอรมจาวาแพลตฟอรม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
9
การคอมไพลและรนโปรแกรมภาษาจาวาชดพฒนาภาษาจาวา (Java Development Kit - JDK)
- จาวาคอมไพเลอร (javac.exe)
- สภาพแวดลอมการรนโปรแกรมจาวา (Java Runtime Environment - JRE) (java.exe)
Download http://java.sun.com
10
โปรแกรมทใชเขยนตนฉบบโปรแกรม
Notepadมาพรอมกบ Windows
J-Labhttp://www.cp.eng.chula.ac.th/~somchai/JLab/
Netbeanshttp://www.netbeans.org/
Eclipsehttp://www.eclipse.org/
11
Notepad
12
J-Lab
13
Netbeans
14
Eclipse
15
โปรแกรม HelloWorld ในแบบตวอกษรและแบบกราฟกส
โปรแกรม HellowWorldพมพค าวา Hello, World! ขนบนหนาจอคอมพวเตอร
16
การเปดโปรแกรม cmd
17
1
2
3
คอมไพลโปรแกรม
18
โปรแกรม HelloWorld
public class HelloWorld{
}
19
โปรแกรม HelloWorld
public class HelloWorld{
public static void main(String[] args) {
}}
20
โปรแกรม HelloWorld
public class HelloWorld{
public static void main(String[] args) {
System.out.println("Hello, World!"); }
}
21
โปรแกรม HelloWorld แบบกราฟก
22
โปรแกรม 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);
}}
23
ค าอธบายในโปรแกรม
คอมเมนตบรรทดเดยว// print the word hello คอมเมนตทเปนยอหนา/*
This program will print the word hello
*/ 24
ค าอธบายในโปรแกรม
คอมเมนตทเปนยอหนาส าหรบการสรางเอกสารดวยโปรแกรม javadoc/**
*/
25
สรป
• โปรแกรมในจาวาแพลตฟอรมมาตรฐานมอยสองประเภทคอ แอพพลเคชน และ แอพเพลท
• จาวาแอพพลเคชนสามารถท างานไดเหมอนกบโปรแกรมทวไป มนสามารถท างานบนคอมพวเตอรตางรนตางระบบปฏบตการได เพราะวามนท างานอยบนโปรแกรมเครองจกรเสมอน
• จาวาแอพเพลตสามารถท างานบนเวบเพจได มนสามารถท างานบนคอมพวเตอรตางรนตางระบบปฏบตการได ขอเพยงแคมโปรแกรมเวบเบราเซอรทสนบสนนภาษาจาวาตดตงอยบนระบบปฏบตการนน
26
สรป
• ซอรสโคดโปรแกรมจาวาอยในแฟมทมนามสกล java• โปรแกรมทใชคอมไพลภาษาจาวาชอ javac• ผลการคอมไพลจะไดแฟมทมนามสกล class• ไฟลนามสกล class สามารถท างานใน JRE ได• ใชโปรแกรม java รนไฟล .class ทมเมธอด main()• การพมพขอความใชค าสง System.out.println("ขอความทตองการพมพ")
27