บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์...
TRANSCRIPT
![Page 1: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/1.jpg)
1บทท 1
โปรแกรมภาษาจาวาเบองตน
(Basic of Java Programming Language)
![Page 2: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/2.jpg)
วตถประสงค
แนะนาภาษาจาวาและเทคโนโลยจาวา
อธบายขนตอนการทางานของโปรแกรมภาษาจาวาอธบายขนตอนการทางานของโปรแกรมภาษาจาวา
อธบายจดเดนของภาษาจาวา
อธบายหลกการเขยนโปรแกรมเชงออปเจค โดยอธบายความหมายของ• ออปเจค (object)คลาส (class)• คลาส (class)
• คณลกษณะ (attribute)• เมธอด (method)
อธบายการประกาศคลาสทมคณลกษณะและเมธอดอยในคลาส
![Page 3: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/3.jpg)
วตถประสงค
อธบายการประกาศและสรางออปเจค
อธบายการเรยกใชคณลกษณะและเมธอดของออปเจคอธบายการเรยกใชคณลกษณะและเมธอดของออปเจค
แนะนาไวยากรณภาษาจาวาสญลกษณและคาตางๆทใชในภาษาจาวา• สญลกษณและคาตางๆทใชในภาษาจาวา
แนะนาขอมลคาคงท (literals) และชนดขอมลแบบพนฐาน (primitive data t ) types)
อธบายการประกาศตวแปร (variables) และคาสงกาหนดคา (assignment statement)
อธบายการแปลงชนดขอมล
![Page 4: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/4.jpg)
วตถประสงค
อธบายคณลกษณะเดนของโปรแกรมเชงออปเจคสามประการคอ• การหอหม (Encapsulation)
• การสบทอด (Inheritance) • การมไดหลายรปแบบ (Polymorphism)
ป ไป อธบายหลกการของการหอหมทประกอบไปดวย• การซอนเรนขอมล (Information Hiding) • ความเปนโมดล (Modularity) ( y)
แนะนาเมธอดแบบ accessor
อธบายความหมายและการประกาศ Constructor
![Page 5: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/5.jpg)
วตถประสงค
อธบายขนตอนการทางานของคาสง new
อธบายการใชคยเวรด thisอธบายการใชคยเวรด this
แนะนาโครงสรางโปรแกรมภาษาจาวาทมการใชคาสง package และimportimport
อธบายหลกการใชคมอ API (Application Programming Interface) ของภาษาจาวาภาษาจาวา
![Page 6: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/6.jpg)
ภาษาจาวา
พฒนาขนโดยทมวจยของบรษทซนไมโครซสเตมส
เปนภาษาคอมพวเตอรเชงออปเจค (Object Oriented Programming)เปนภาษาคอมพวเตอรเชงออปเจค (Object Oriented Programming)
สามารถทางานไดกบระบบคอมพวเตอรหลายแพลตฟอรม
เรมเปนทนยมแพรหลายในชวงปลายป ค.ศ. 1995
ชดพฒนาโปรแกรมภาษาจาวาเวอรชนแรก (JDK 1.0) ( )
JDK 1.2 (Java 2) ออกมาในป ค.ศ. 1998
![Page 7: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/7.jpg)
องคประกอบของเทคโนโลยจาวา
JVM (Java Virtual Machine)• ทาหนาทเปนอนเตอรพรตเตอร
JRE (Java Runtime Environment)ใ ใ โ• ใชในการรนโปรแกรม
J2SDK (Java 2 Software Development Kit)• เปนชดพฒนาโปรแกรมภาษาจาวา
![Page 8: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/8.jpg)
Java Virtual Machine (JVM)
โปรแกรมภาษาจาวาจะคอมไพลไดไบทโคด โดย JVM จะเปน อนเตอรพรตเตอรทแปลไบทโคดใหเปนคาสงทภาษาเครองเขาใจ
จาวาไบทโคดสามารถจะรนขามแพลตฟอรม (platform) ได ถาแพลตฟอรมนนมJVM อย
JVM เปนโปรแกรมทขนอยกบแพลตฟอรม (platform specific)
ป โป ฟ ไ JVM อาจพฒนาเปนโปรแกรมซอฟตแวรหรอฮารดแวรได
![Page 9: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/9.jpg)
โขนตอนการทางานของโปรแกรมภาษาจาวา
![Page 10: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/10.jpg)
Java Runtime Environment (JRE)
JRE จะรนโคดทแปลมาจาก JVM โดยจะทางาน 3 ขนตอน คอ• โหลดไบทโคดโดยใช Class Loader
ไ โ โ ใ • ตรวจสอบไบทโคดโดยใช Byte Code Verifier• รนไบทโคดโดยใช Runtime Interpreter
![Page 11: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/11.jpg)
ขนตอนการทางานของ JRE
![Page 12: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/12.jpg)
Java Development Kit (JDK)
คอชดพฒนาโปรแกรมภาษาจาวาของบรษทซนไมโครซสเตมส
ชอใหมของ JDK เวอรชน 1 2 คอ Java 2ชอใหมของ JDK เวอรชน 1.2 คอ Java 2
เวอรชนปจจบนคอเวอรช◌น 1.4
ประกอบไปดวยโปรแกรมตางๆ อาทเชน• โปรแกรมคอมไพเลอร (javac.exe)โปรแกรมอนเตอรพรตเตอร (j )• โปรแกรมอนเตอรพรตเตอร (java.exe)
• โปรแกรมดบกเกอร
แตจะไมมโปรแกรมอดเตอรแตจะไมมโปรแกรมอดเตอร
![Page 13: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/13.jpg)
แพลตฟอรมของเทคโนโลยจาวา
ประกอบไปดวย• Java Virtual Machine (JVM)• Java Application Programming Interface (Java API)
![Page 14: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/14.jpg)
แพลตฟอรมของ Java 2
![Page 15: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/15.jpg)
โหลกการของโปรแกรมเชงออปเจค
โปรแกรมเชงกระบวนการ (procedural) จะแบงการทางานของโปรแกรมออกเปนสวนๆตามฟงกชนของการทางาน
การปรบปรงหรอแกไขโปรแกรมเชงกระบวนการทาไดยาก
โปรแกรมเชงออปเจคจะแบงการทางานของโปรแกรมเปนออปเจคโปรแกรมเชงออปเจคจะแบงการทางานของโปรแกรมเปนออปเจค
การปรบปรงหรอแกไขโปรแกรมเชงออปเจคทาไดงายกวา จงเหมาะกบการ โป ใ ป ป ไ โป พฒนาโปรแกรมขนาดใหญทจะตองมการปรบปรงแกไขโปรแกรมอยตลอด
![Page 16: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/16.jpg)
ออปเจค
ออปเจค (object) แบงไดเปนสองประเภทคอ• สงทเปนรปธรรม (tangible) คอสงทเปนวตถและจบตองไดอาทเชน นกศกษา ใบ
ป ป ลงทะเบยน ปากกา และรถ เปนตน• สงทเปนนามธรรม (intangible) คอสงทไมสามารถจบตองไดอาทเชน คะแนนรายชอวชา บญชเงนฝาก และตารางเทยวบน เปนตนญ
ออปเจคประกอบไปดวย• คณลกษณะ (attribute) หรอขอมล (data) ( ) ( )• เมธอด (method) หรอพฤตกรรม (behavior)
![Page 17: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/17.jpg)
ตวอยางของออปเจค
นกศกษา อาจจะประกอบไปดวยคณลกษณะเชน รหส ชอ และเกรดเฉลย
และอาจจะมเมธอดเชน ลงทะเบยน สอบ และเดนและอาจจะมเมธอดเชน ลงทะเบยน สอบ และเดน
รถยนต อาจจะประกอบไปดวยคณลกษณะเชน ยหอ รน และส
และอาจจะมเมธอดเชน เคลอนท หยดและเลยว
สนข อาจจะประกอบไปดวยคณลกษณะเชน ชอ พนธ และส
และอาจจะมเมธอดเชน เหา คลาน และกระดกหาง
![Page 18: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/18.jpg)
คลาส
เปรยบเสมอนพมพเขยว (template) ของออปเจค
ออปเจคทถกสรางมาจากคลาส (class) บางครงเรยกวาเปน instance ของคลาสออปเจคทถกสรางมาจากคลาส (class) บางครงเรยกวาเปน instance ของคลาส
คลาสหนงคลาสสามารถสรางออปเจคไดหลายออปเจค อาทเชน คลาส Studentอาจสรางออปเจค 1 2 หรอ 3 ซงเปนออปเจคของคลาส St d tอาจสรางออปเจค s1,s2 หรอ s3 ซงเปนออปเจคของคลาส Student
![Page 19: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/19.jpg)
ตวอยางของออปเจคและคลาส
![Page 20: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/20.jpg)
การประกาศคลาส
รปแบบการประกาศ
[modifier] class ClassName {[modifier] class ClassName {[class member]
}
ตวอยาง
public class Student {
}}
![Page 21: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/21.jpg)
การประกาศคณลกษณะ
รปแบบการประกาศ
[modifier] dataType attributeName;[modifier] dataType attributeName;
ตวอยางการประกาศคณลกษณะทชอ id และ ในคลาสตวอยางการประกาศคณลกษณะทชอ id,name และ gpa ในคลาสStudent
public class Student {public class Student {
public String id;
public String name;public String name;
public double gpa;
}}
![Page 22: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/22.jpg)
การประกาศเมธอด
รปแบบการประกาศ
[modifier] return_type methodName([arguments]) {_
[method_body]
}
ตวอยาง
public void setName(String n) {
name = n;;
}
![Page 23: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/23.jpg)
การประกาศและสรางออปเจค
รปแบบการประกาศ
[modifier] ClassName objectName;[modifier] ClassName objectName;
ตวอยาง
Student s1;
รปแบบการสรางรปแบบการสราง
objectName = new ClassName([arguments]);
ตวอยาง
s1 = new Student();s1 = new Student();
![Page 24: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/24.jpg)
ใ การเรยกใชสมาชกของออปเจค
รปแบบการเรยกใชคณลกษณะของออปเจค
objectName attributeNameobjectName.attributeName
ตวอยาง
s1.name
รปแบบการเรยกใชเมธอดของออปเจครปแบบการเรยกใชเมธอดของออปเจค
objectName.methodName([arguments]);
ตวอยาง
s1 setName(“Thana”);s1.setName(“Thana”);
![Page 25: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/25.jpg)
ไวยากรณภาษาจาวา
สญลกษณและคาทใชในภาษาจาวาประกอบดวย• คอมเมนต (comment)
• การตงชอ (identifier)• คยเวรด (keywords)• สญลกษณแยกคา (separators)ญ ( )• ชองวาง (white space)• ขอมลคาคงท (literals)
![Page 26: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/26.jpg)
ชนดขอมลแบบพนฐาน
ชนดขอมลในภาษาจาวาแบงเปนสองประเภทใหญๆคอ• ชนดขอมลแบบพนฐาน (primitive data type)
• ชนดขอมลแบบอางอง (reference data type)
ป 4 ป ชนดขอมลแบบพนฐานแบงออกเปน 4 ประเภทดงน• ชนดขอมลตรรกะ (Logical) คอชนด boolean• ชนดขอมลอกขระ (Textual) คอชนด char ( )• ชนดขอมลตวเลขจานวนเตม (Integral) คอชนด byte,short,int และ long• ชนดขอมลตวเลขทศนยม (Floating point) คอชนด float และ double
![Page 27: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/27.jpg)
ขนาดและชวงคาของชนดขอมลแบบพนฐาน
ชนดขอมล ขนาด (บต) ชวงคา
boolean 1 true หรอ falseboolean 1 true หรอ false
char 16 '\u0000' ถง '\uFFFF'
byte 8 -128 ถง +127
short 16 -32,768 ถง +32,767
int 32 -231 ถง +231-1
long 64 263 ถง +263 1long 64 -2 ถง +2 -1
float 32 -3.40E+38 ถง +3.40E+38
double 64 -1.80E+308 ถง +1.80E+308
![Page 28: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/28.jpg)
ตวแปรและการกาหนดคา
ตวแปรในภาษาจาวาอาจเปนตวแปรทมชนดขอมลแบบพนฐานหรอชนดขอมลแบบอางอง
ตวแปรทมชนดขอมลแบบพนฐานจะเกบคาของตวแปรในหนวยความจา• เชน int x = 7;
ตวแปรทมชนดขอมลแบบอางองจะเกบตาแหนงอางองในหนวยความจา• เชน String s = new String(“Thana”);
![Page 29: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/29.jpg)
ตวแปรและการกาหนดคา
ภาษาจาวาจะกาหนดตาแหนงอางองเรมตนใหมคาเปน null โดยอตโนมตซงเนอทในหนวยความจาเพอเกบขอมลตางๆ ของตวแปรชนดขอมลแบบ ใ อางองจะถกสรางขน เมอมการเรยกใชคาสง new
ตวอยาง• คาสง Date d;• และคาสง d = new Date(16,8,2002);
![Page 30: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/30.jpg)
การสงตวแปรผาน argument
กรณทสงตวแปรชนดขอมลแบบพนฐานใหกบ argument การเปลยนแปลงคาของargument ในเมธอดจะไมมผลกระทบตอคาของตวแปรทสงมา
กรณทสงตวแปรชนดขอมลแบบอางองใหกบ argument จะเปนการสงตาแหนงอางองใหกบ argument จงทาใหคาของตวแปรทสงมาจะถกเปลยน แปลงตามargument ในเมธอด
![Page 31: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/31.jpg)
โตวอยางโปรแกรม
import java.util.*;
public class ArgumentPassing {p g g {public void method1(int x) {
x = 3;}bli id th d2(D t d) {public void method2(Date d) {
d.setDate(1);d.setMonth(1);d.setYear(2002);( )
}public int method3() {
return 0;}}
![Page 32: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/32.jpg)
โตวอยางโปรแกรม
public static void main(String args[]) {int x = 4;ArgumentPassing obj = new ArgumentPassing();g g j g g()Date d1 = new Date(16,12,1980);obj.method1(x);System.out.println("x = "+x);bj th d2(d1)obj.method2(d1);System.out.println("Date = "+d1);obj.method3();
}}}
![Page 33: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/33.jpg)
การแปลงชนดขอมล
การแปลงชนดขอมลมสองรปแบบคอ
• การแปลงขอมลทกวางขน (widening conversion) คอการแปลงจากชนดขอมลทม ขนาดเลกกวาไปเปนชนดขอมลทมขนาดใหญกวา
• การแปลงขอมลทแคบลง (narrowing conversion) คอการแปลงจากชนดขอมลทมใ ไป ป ใ ขนาดใหญกวาไปเปนชนดขอมลทมขนาดเลกลง ซงอาจมผลใหเสยความละเอยด
ของขอมลบางสวนไป
![Page 34: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/34.jpg)
ตวอยางของการแปลงชนดขอมล
ภาษาจาวาจะปรบชนดขอมลใหอตโนมต ในกรณตอไปน
กาหนดคาชนดขอมลทเลกกวาใหกบตวแปรชนดขอมลทใหญกวาอาทเชนกาหนดคาชนดขอมลทเลกกวาใหกบตวแปรชนดขอมลทใหญกวาอาทเชนint i = 4;long l = i;นพจน i จะถกปรบชนดขอมลจาก int ใหเปน long โดยอตโนมตนพจน i จะถกปรบชนดขอมลจาก int ใหเปน long โดยอตโนมต
กาหนดคาชนดขอมลจานวนเตมใหกบจานวนเลขทศนยมอาทเชนdouble x = 3;double x 3;นพจน 3 จะถกปรบชนดขอมลจาก int ใหเปน double โดยอตโนมต
![Page 35: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/35.jpg)
Typecasting
ภาษาจาวาจะสามารถทาการแปลงชนดขอมล ใหเปนชนดขอมลทมขนาดเลกลงได โดยใชวธการทเรยกวา typecasting
รปแบบ
(targetT pe) e pression(targetType) expression
ตวอยาง
int amount = (int)3.0;
![Page 36: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/36.jpg)
คณลกษณะเดนของโปรแกรมเชงออปเจค
การหอหม (Encapsulation)
การสบทอด (Inheritance) การสบทอด (Inheritance)
การมไดหลายรปแบบ (Polymorphism)
![Page 37: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/37.jpg)
การหอหม
คณลกษณะของออปเจคจะถกปองกนไวไมใหออปเจคอนทอยภายนอกเขาถงขอมลได
อยางอสระ
ออปเจคอนๆสามารถจะเรยกใชคณลกษณะของออปเจคไดโดยเรยกผานเมธอด
![Page 38: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/38.jpg)
ขอดของการหอหม
การซอนเรนขอมล (Information Hiding) • ออปเจคสามารถตดตอกบออปเจคภายนอกผานเมธอดทเปน public interface ดงนนเรา
ป ป ป โ ไ ใสามารถทจะเปลยนตวแปร หรอเมธอดอนๆของออปเจคโดยไมมผลกระทบใดๆ
ความเปนโมดล (Modularity) โป ป ป ป ป ใ ป• การพฒนาโปรแกรมของแตละออปเจคเปนอสระตอกน ถามการเปลยนแปลงเกดขนภายในออป
เจคหนงกจะไมมผลกระทบตอออปเจคอนๆ
![Page 39: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/39.jpg)
เมธอดแบบ accessor
คณลกษณะของคลาสจะถกซอนไวโดยการกาหนดให modifier เปนprivate
การกาหนดคาหรอเรยกดคณลกษณะของคลาสจะใชเมธอดทม modifier เปนการกาหนดคาหรอเรยกดคณลกษณะของคลาสจะใชเมธอดทม modifier เปนpublic
การกาหนดคาจะใชเมธอดแบบ setter การกาหนดคาจะใชเมธอดแบบ setter
การเรยกดคาคณลกษณะจะใชเมธอดแบบ getter
![Page 40: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/40.jpg)
เมธอดแบบ setter
รปแบบ
public void setAttributeName(dataType arg) {public void setAttributeName(dataType arg) {
attributeName = arg;
}}
ตวอยางตวอยาง
public void setGPA(double GPA) {
gpa = GPA;gpa = GPA;
}
![Page 41: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/41.jpg)
เมธอดแบบ getter
รปแบบ
public dataType getAttributeName() {public dataType getAttributeName() {
return attributeName;
}}
ตวอยาง
bli d bl tGPA() {public double getGPA() {
return gpa;
}}
![Page 42: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/42.jpg)
โตวอยางโปรแกรม
public class EncapStudent {private String id;private String name;private double gpa;private double gpa;public void setID(String ID) {
id = ID;}public void setName(String n) {
name = n;}public void setGPA(double GPA) {public void setGPA(double GPA) {
if ((GPA<0) || (GPA>4.00)) {System.out.println("Incorrect Format!");
} else {gpa = GPA;
}}
![Page 43: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/43.jpg)
โตวอยางโปรแกรม
public String getID() {return id;
}}public String getName() {
return name;}bli d bl tGPA() {public double getGPA() {
return gpa;}
}}
![Page 44: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/44.jpg)
Constructor
เปนเมธอดทมชอเดยวกบชอคลาส
จะถกเรยกใชงานเมอมการสรางออปเจคโดยใชคาสง newจะถกเรยกใชงานเมอมการสรางออปเจคโดยใชคาสง new
รปแบบ
[modifier] ClassName([arguments]) {
[statements]
}}
constructor จะเปนเมธอดทไมตองระบชนดขอมลของคาทสงกลบและไมตองใชคย idเวรด void
![Page 45: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/45.jpg)
Constructor แบบ default
โดยทวไปคลาสทกคลาสจะม constructor แบบ default
รปแบบรปแบบ
public ClassName() {
}}
constructor แบบ default จะเปน constructor ทไมมคาสงใดๆอยภายใน
ไ ใ ใ โคอมไพเลอรของภาษาจาวาจะใส constructor แบบ default ใหกบโปรแกรมโดยอตโนมต
ตวอยาง constructor แบบ default ของคลาส Student
public Student() {
}
![Page 46: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/46.jpg)
การเขยน constructor
เราสามารถทจะเขยน constructor ของคลาสใดๆกได
ตวอยางการเขยน constructor ของคลาส Studentตวอยางการเขยน constructor ของคลาส Student
public Student(String ID,String n,double GPA) {
id = ID;id ID;
name = n;
gpa = GPA;gp
}
constructor แบบ default จะหายไปเมอมการเขยน constructor ขนใหมconstructor แบบ default จะหายไปเมอมการเขยน constructor ขนใหม
![Page 47: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/47.jpg)
ขนตอนการทางานของคาสง new
กาหนดเนอทในหนวยความจาใหกบออปเจค
กาหนดคาเรมตนใหกบคณลกษณะของออปเจคกาหนดคาเรมตนใหกบคณลกษณะของออปเจค
กาหนดคาของคณลกษณะของออปเจคตามคาสงกาหนดคาทประกาศไว
เรยกใช constructor
![Page 48: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/48.jpg)
ตวอยางคลาส MyDate
public class MyDate {
private int day = 1;
private int month = 1;
private int year = 2000;
bli (i d i i ) {public MyDate(int d,int m,int y) {
day = d;
month = m;month = m;
year = y;
}}
}
![Page 49: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/49.jpg)
รปแสดงขนตอนการทางานของคาสง new
คาสง MyDate d1 = new MyDate(16,8,1972);
![Page 50: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/50.jpg)
คยเวรด this
คยเวรด this หมายถงออปเจคของตวเอง
คยเวรด this ใชอางองคณลกษณะและเมธอดของออปเจคภายในเมธอด ซงมคยเวรด this ใชอางองคณลกษณะและเมธอดของออปเจคภายในเมธอด ซงมรปแบบดงน
this attirb teNamethis.attirbuteName;
this.methodName();
![Page 51: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/51.jpg)
โตวอยางโปรแกรม
public class Student {private String id;private String name;private double gpa;public Student(String id,String name, double gpa) {
this.id = id;this name = name;this.name = name;this.gpa = gpa;
}public void showDetails() {
System.out.println("ID: "+id);System.out.println("Name: "+name);System.out.println("GPA: "+gpa);
}}}
![Page 52: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/52.jpg)
แพคเกจ
ซอฟตแวรแพคเกจชวยในการจดการการพฒนาโปรแกรมขนาดใหญ
ในโปรแกรมภาษาจาวา แพคเกจจะเปนทรวมของคลาสของภาษาจาวาหลายๆคลาสในโปรแกรมภาษาจาวา แพคเกจจะเปนทรวมของคลาสของภาษาจาวาหลายๆคลาส
โปรแกรมอาจแบงเปนแพคเกจและแพคเกจยอย (Subpackage)
แพคเกจจะเกบไวในไดเรกทอร (Directory) ซงจะเปนชอของแพคเกจ
![Page 53: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/53.jpg)
ตวอยาง
![Page 54: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/54.jpg)
โครงสรางโปรแกรมภาษาจาวา
รปแบบโปรแกรมภาษาจาวามดงน[<package_declaration>]
[<import_declaration>]
[<class_declaration>]
![Page 55: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/55.jpg)
คาสง package
คาสง package เปนการระบวาคลาสอยในแพคเกจใด
รปแบบของคาสง packageรปแบบของคาสง packagepackage <package_name>[<sub_package_name>];
ตวอยางตวอยางpackage faculty.domain;
โปรแกรมภาษาจาวาหนงโปรแกรมจะมคาสง package ไดเพยงคาสงเดยวโปรแกรมภาษาจาวาหนงโปรแกรมจะมคาสง package ไดเพยงคาสงเดยวโดยจะเปนคาสงแรกของโปรแกรม
ไ ไ ใ กรณทไมมคาสง package คลาสจะถกกาหนดไวในแพคเกจ default
![Page 56: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/56.jpg)
คาสง import
คาสง import เปนการเรยกใชคลาสในแพคเกจตางๆ
รปแบบของคาสง importรปแบบของคาสง importimport <package_name>[.<sub_package_name>].<Class_name>• หรอimport <package name>[ <sub package name>] *;import <package_name>[.<sub_package_name>].*;
ตวอยางimport faculty.reports.Report;import faculty.reports.Report; • หรอimport java.awt.*;
ปคาสง import จะอยกอนหนาการประกาศคลาส
โปรแกรมภาษาจาวาหนงโปรแกรมสามารถมคาสง import ไดหลายคาสง
![Page 57: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/57.jpg)
คมอ Java API
Java API เปนขอกาหนดทวาดวยคลาสและอนเตอรเฟสตางๆทกาหนดไวในแพคเกจมาตราฐานของภาษาจาวา
คมอ Java API จะแสดงรายละเอยดตางๆของคลาสหรออนเตอรเฟสดงน• ลาดบการสบทอดของคลาส
• คาอธบายเกยวกบคลาสและจดประสงคทวไป• รายชอคณลกษณะตางๆ ของคลาส• รายชอเมธอดตางๆ ของคลาส• รายชอเมธอดตางๆ ของคลาส• รายชอ Constructor ตางๆ ของคลาส• คาอธบายรายละเอยดของคณลกษณะแตละตวของคลาส
• คาอธบายรายละเอยดของเมธอดแตละตวของคลาส• คาอธบายรายละเอยดของConstructor แตละตวของคลาส
![Page 58: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/58.jpg)
![Page 59: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/59.jpg)
สรปเนอหาของบท
เทคโนโลยภาษาจาวาประกอบไปดวยองคประกอบหลกๆสามสวนคอ JVM, JRE และ J2SDK
คอมไพเลอรของภาษาจาวาจะทาหนาทแปลโปรแกรมภาษาจาวาใหเปนโปรแกรมไบทโคด และจะใชจาวาอนเตอรพรตเตอร (JVM) ในการแปลโปรแกรมไบทโคดใหเปนภาษาเครอง ทาใหโปรแกรมภาษาจาวาสามารถทางานขามแพลตฟอรมได ถาระบบคอมพวเตอรนนม JVM อย
JRE จะรนโปรแกรมไบทโคดทแปลมาจาก JVM
ชดพฒนาโปรแกรมภาษาจาวา Java 2 SDK ประกอบไปดวยโปรแกรมตางๆชดพฒนาโปรแกรมภาษาจาวา Java 2 SDK ประกอบไปดวยโปรแกรมตางๆทสาคญคอ โปรแกรมคอมไพเลอร (javac.exe) และโปรแกรมอนเตอรพรตเตอร (java.exe)พรตเตอร (java.exe)
![Page 60: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/60.jpg)
สรปเนอหาของบท
แพลตฟอรมของ Java ประกอบไปดวย JVM และ Java API ซง Java 2 มแพลตฟอรม 3 แบบคอ J2SE, J2EE และ J2ME
โปรแกรมจาวาทอยบนแพลตฟอรม J2SE สามารถพฒนาไดสองรปแบบคอโปรแกรมจาวาประยกตซงจะทางานภายใต JVM โดยตรง และโปรแกรมจาวาแอปเพลตซงจะทางานภายใตเวบบราวเซอรทม JVM
โปรแกรมเชงออปเจคจะมคานยามทสาคญสองคาคอ ออปเจคและคลาสโปรแกรมเชงออปเจคจะมคานยามทสาคญสองคาคอ ออปเจคและคลาส
ออปเจคคอสงตางๆทมอยในชวตประจาวน จะประกอบไปดวยคณลกษณะและ เมธอดและ เมธอด
คลาสเปรยบเสมอนพมพเขยวของออปเจค ออปเจคจะถกสรางมาจากคลาสป ป ไ ออปเจคหลายออปเจคสามารถถกสรางจากคลาสหนงคลาสได
![Page 61: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/61.jpg)
สรปเนอหาของบท
ภาษาจาวามนยามในการเขยนโปรแกรมเชงออปเจค เพอประกาศคลาสคณลกษณะ เมธอด และ ออปเจค
การตงชอในภาษาจาวา• สาหรบคลาส นยมขนตนดวยตวอกษรพมพใหญ
• สาหรบเมธอดและตวแปร นยมขนตนดวยตวอกษรพมพเลก• ถาชอทตงขนมมากกวา 1 คา นยมขนตนคาใหมดวยตวอกษรพมพใหญ• ตองไมตรงกบคยเวรด• ตองไมตรงกบคยเวรด
ชนดขอมลพนฐานทใชในภาษาจาวามทงหมด 8 ชนดคอ char, byte, short, int long float double และ boolean สวน String เปนชนดขอมลคลาสint, long, float, double และ boolean สวน String เปนชนดขอมลคลาส
![Page 62: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/62.jpg)
สรปเนอหาของบท
ขอมลทเกบในหนวยความจาของชนดขอมลแบบอางอง จะเปนตาแหนงอางองทเกบขอมลในหนวยความจา แตในกรณของชนดขอมลแบบพนฐาน ใ ขอมลทเกบในหนวยความจาจะเปนคาของขอมลจรงๆ
ความแตกตางระหวางการแปลงขอมลโดยอตโนมตและ Typecasting
การแปลงขอมลโดยอตโนมตคอ การทชนดขอมลทมขนาดเลกกวาถกแปลงใหเปนชนดขอมลทมขนาดใหญกวาโดยอตโนมตใหเปนชนดขอมลทมขนาดใหญกวาโดยอตโนมต
Typecasting คอการทจะตองระบชนดขอมลทมขนาดเลกกวาใหกบนพจนทมชนดขอมลขนาดใหญกวามชนดขอมลขนาดใหญกวา
โปรแกรมเชงออปเจคจะมคณลกษณะเดนอยสามประการคอ การหอหม ไ ปการสบทอด และการมไดหลายรปแบบ
![Page 63: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/63.jpg)
สรปเนอหาของบท
modifier แบบ private ใชเพอปองกนการถกเรยกใชจากออปเจคอน ซงจะแตกตางจาก modifier แบบ public
Constructor หมายถง เมธอดทมชอเดยวกนกบชอคลาส แตจะไมมการสงคากลบและจะไมมการใสคยเวรด void
คยเวรด this ใชอางองคณลกษณะและเมธอดของออปเจคภายในเมธอด
ป ใ ใคาสง package เปนการระบวาคลาสอยในแพคเกจใด
คาสง import เปนการเรยกใชคลาสในแพคเกจตางๆ
คมอ Java API จะชวยในการคนหารายละเอยดของแพคเกจและคลาสตางๆทมอยในชดพฒนาโปรแกรม Java 2 SDK
![Page 64: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/64.jpg)
แบบฝกหด
ขอท 1• ทดลองคนหาขอมลโดยใชคมอ API ภาษาจาวา
ขอท 2 โ โ ใ • ทดลองเขยนโปรแกรมโดยใชหลกการของการหอหมเพอซอนคณลกษณะของ
ออปเจค
![Page 65: บทท ่ี1 · 2016-02-17 · วัตถุประสงค ์ แนะนําภาษาจาวาและเทคโนโลยีจาวา อธอธบายขนตอนการทางานของโปรแกรมภาษาจาวาิบายขนตอนการทั้](https://reader031.vdocuments.site/reader031/viewer/2022041515/5e2aa29617822c1b656b383d/html5/thumbnails/65.jpg)
แบบฝกหด
ขอท 3• ทดลองเขยนโปรแกรมจาลองระบบธนาคาร โดยกาหนดใหมคลาสทชอ Account
ใ ใ ฝ ทมคณลกษณะเพอเกบยอดเงนในบญช และมเมธอดในการฝากเงน ถอนเงน และการแสดงยอดเงนคงเหลอในบญช และมคลาสทชอ Customer ทมคณลกษณะคอชอ นามสกล และบญชธนาคาร โดยมเมธอดในการกาหนดคา (set) ของคณลกษณะ ญ และดงคา(get) จากคณลกษณะเหลาน ทงนกาหนดใหเขยนโปรแกรมในแพคเกจทชอ Bank