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