More Related Content
Similar to พื้นฐานการสร้าง Java
Similar to พื้นฐานการสร้าง Java (20)
พื้นฐานการสร้าง Java
- 4. คาอธิบาย
- method main( ) จะเป็น method หลักที่ใช้ในการ run
program ดังนั้นการกระทาต่าง ๆ ที่ต้องการให้เกิดขึ้น ในการ run
program จะต้องทาการเขียนคาสั่งไว้ใน method นี้
- การแสดงผลทางจอภาพ (Console Output) ใช้method ชื่อ
"println" ซึ่งอยู่ใน System.outคาสั่งนี้จะรับข้อมูลที่เป็น String
เพื่อนามาแสดงผลทางจอภาพ
- 6. โดย data เป็นข้อมูลที่ต้องการแสดงผล การใช้print หลังจาแสดงผลแล้วจะไม่ขึ้นบรรทัด
ใหม่ ส่วน println จะขึ้นบรรทัดใหม่ในการแสดงผลด้วยเมธอด print หรือ println นั้น
สามารถใช้escape sequence สาหรับควบคุมการแสดงผลได้ดังต่อไปนี้
escape sequence ชื่อ ความหมาย
n Newline ขึ้นบรรทัดใหม่
t Horizontal tab แท็บ
แนวนอน
b Backspace ถอยหลัง 1 ช่อง
ตัวอักษร
r Return เลื่อนเคอร์เซอร์ไป
ซ้ายสุด
Backslash ตัวอักษร
’ Single quote ตัวอักษร ’
” Double quote ตัวอักษร “
- 7. Method ต่างๆ ใน java.applet
drawString()
เมื่อเรำต้องกำรเขียนข้อควำมลงในพื้นที่ของ แอพเพลต จะใช้ method ของ
คลำส Graphics คือ
public void drawString(String msg, int x, int y);
โดย String msg จะเป็นข้อควำมที่ถูกพิมพ์ที่ตำแหน่งในแนวนอน int x
และในแนวตั้ง int y ที่นับจำกจุดบนซ้ำยสุดเป็นตำแหน่ง 0,0 ข้อควำมที่ถูก
พิมพ์ออกไปจะถูกแสดงเป็นแบบ Graphics ไม่สำมำรถใช้อักษรควบคุมเช่น
‘t’, ‘n’, หรือ‘r’
- 8. showStatus ()
บำงแอพเพลต มีข้อควำมที่ต้องแสดงตลอดเวลำ หำกเรำวำดข้อควำมนั้นลงไป
ในพื้นที่ของแอพเพลต ด้วย drawString() ข้อควำมนั้นก็จะไปทับกับ
รูปภำพหรือข้อควำมอื่น class Applet จึงมี
public void showStatus(String mgs);
สำหรับแสดงข้อควำม String mgs ลงบน status bar ที่อยู่ด้ำนล่ำง
พื้นที่แสดงผลของ แอพเพลต
- 9. paint()
ดังที่ทรำบแล้วว่ำ บรำวเซอร์ จะเรียก paint() ให้ทำงำน เมื่อพื้นที่ของ
แอพเพลต จะต้องถูกวำดใหม่ ผู้ที่จะโปรแกรมต้องเข้ำใจว่ำ กำรเขียน
โปรแกรมสำหรับ แอพเพลต เป็นควำมคิดในแบบ event driven
program -ming คือ จะต้องมีเหตุกำรณ์ มำกกระตุ้นให้ paint()
ทำงำนผู้โปรแกรมเพียงสร้ำงโปรแกรมของ paint() ที่จะถูกเรียกโดย
บรำวเซอร์ และไม่ควรเรียก paint() ให้ทำงำนโดยตรงถ้ำเรำต้องกำรให้
paint() ทำงำนจำกในโปรแกรมเรำสำมำรถเรียก repaint() หรือ
update() methodเหล่ำนี้จะมำเรียก paint() ให้ทำงำนอีกครั้ง ใน
กำรเขียน method paint()
- 10. มีข้อพิจำรณำดังนี้
- แม้เรำทรำบว่ำ paint() จะถูกเรียกอย่ำงอัตโนมัติหลังจำก start() แต่ก็
อำจถูกเรียกให้ทำงำนอีกโดยเรียก repaint() เรำไม่อำจระบุเวลำหรือเงื่อนไข
ว่ำ paint() จะทำงำนเมื่อใด รวมทั้งไม่อำจกำหนดว่ำ paint() จะถูกเรียกกี่
ครั้ง โปรแกรมของ paint() ควรพร้อมทำงำนหลังจำก start() ทำงำนแล้ว
เสมอ และถูกเรียกอีกเมื่อใด หรืออีกกี่ครั้งก็ได้
- กำรทำงำนทั้งหมดภำยใน paint() ใช้เวลำนำนเกินไป ที่สำคัญคือ ห้ำมมี
กำรทำซ้ำแบบไม่รู้จบ ไม่เช่นนั้นจะขำดกำรติดต่อกับ แอพเพลต นั้น
- ไม่ควรวำดภำพหลำยๆภำพต่อเนื่อง (animation) ในกำรเรียก paint()
หนึ่งครั้ง
- 11. repaint()
คลำส commponent มี repaint() ที่เมื่อมีกำรเรียกให้ทำงำน จะทำให้
paint() ถูกเรียกให้ทำงำนด้วย ดังนั้นปรกติเรำใช้ repaint() ในกำรวำดซ้ำ
โดยสำมำรถเรียกได้จำกในโปรแกรม เนื่องจำก repaint() ไม่มี Graphics g
เป็นพำรำมิเตอร์ ในกำรใช้งำน repaint() มีข้อควรระวังดังนี้
- แม้ว่ำ repaint() จะถูกเรียกใช้เมื่อใดก็ได้ แต่อำจเกิดควำมผิดพลำดขึ้นได้ถ้ำ
ยังไม่มีกำรกำหนดค่ำเริ่มต้นให้เรียบร้อย ปรกติ paint() จะถูกเรียกให้ทำงำนเป็น
ครั้งแรกหลังจำกกำรทำงำนของ init() และ start() เรำจึงควรออกแบบ
repaint() ให้ทำงำนหลังจำก init() , start() และ paint() ทำงำนไปแล้ว
และหลังจำกนั้นจะถูกเรียกเมื่อใด และกี่ครั้งก็ได้
- เนื่องจำก paint() จะถูกเรียกเป็นครั้งแรก หลังจำก init() และ start()
ดังนั้นเรำจึงไม่ควรเรียก repaint() ในส่วนของ init() หรือ start() มิเช่นนั้น
แล้ว แอพเพลต จะทำงำนผิดพลำด
- 12. update()
update() เป็น method ที่กำหนดอยู่ในคลำส Component และ
ถ่ำยทอดมำสู่คลำส แอพเพลต เช่นเดียวกับ paint() และ repaint() เมื่อเรียก
repaint() แล้ว update() จะถูกเรียกอัตโนมัติก่อนที่จะเรียก paint()
คลำส update() มี Graphics g เป็นพำรำมิเตอร์ เช่นเดียวกับ paint()
getDocumentBase() and getCodeBase()
บำง แอพเพลต จะต้องโหลดไฟล์ เช่นไฟล์เสียงไฟล์ภำพ จำก เว็บsite ที่ให้
Html page หรือแอพเพลต นั้นมำ คลำส แอพเพลต จึงมี
getDocumentBase() ที่จะให้ URL ของไฟล์ Html page นั้นและ
getCodeBase() จะให้ URL ของไดเรกทอรี ที่เก็บโปรแกรม .class ของ
แอพเพลต นั้น
- 14. กฎเกณฑ์ในกำรตั้งชื่อตัวแปร
1) ประกอบด้วยตัวเลข ตัวอักษร(letter), เครื่องหมำย _ (Underscore)
หรือ เครื่องหมำย $ (Dollar sign)
2) ต้องขึ้นต้นด้วยตัวอักษรและห้ำมเว้นวรรค
3) ไม่สำมำรถใช้สัญลักษณ์พิเศษอื่น เช่น +, -, *, &, %, # ฯลฯ เป็น
ส่วนประกอบอยู่ภำยในชื่อได้
4) สำมำรถตั้งชื่อให้มีควำมยำวเท่ำใดก็ได้
5) ไม่สำมำรถใช้ คำสงวน(Reserved word)
6) ตัวอักษรตัวใหญ่และตัวเล็ก ถือว่ำมีควำมแตกต่ำงกัน
- 15. ชนิดของข้อมูล (Data Type)
ชนิดข้อมูลในภำษำจำวำแบ่งเป็นสองประเภทใหญ่ๆ คือ
ชนิดข้อมูลแบบพื้นฐำน (primitive data type)หมำยถึงชนิดข้อมูลที่
สำมำรถเก็บข้อมูลที่เป็นข้อมูลทั่วไปหรือข้อมูลพื้นฐำน มีทั้งหมด 8 ตัว ได้แก่
boolean, char, byte, short, int, long, float,double
ชนิดข้อมูลแบบอ้ำงอิง (reference data type)มีควำมแตกต่ำงกับชนิด
ข้อมูลพื้นฐำน ที่ว่ำชนิดข้อมูลชนิดนี้อยู่ในรูปแบบหนึ่ง ซึ่งกำรเข้ำถึง(ใช้งำน)ข้อมูล
เป็นกำรอ้ำงถึง มำกกว่ำกำรเข้ำถึงข้อมูลโดยตรง เก็บข้อมูลไว้ 2 ส่วน คือ
- Execution Stack เก็บค่ำอ้ำงอิงที่ชี้ไปยัง Heap memory
- Heap Memory เก็บข้อมูลที่เรียกว่ำอ๊อปเจ็ค ที่สร้ำงขึ้นมำจำกคลำส
- 17. กำรเขียนคอมเมนต์ในภำษำจำวำ มี 3 ประเภทคือ
1. คอมเมนต์บรรทัดเดียว โดยใช้เครื่องหมำย //
2. คอมเมนต์หลำยบรรทัด เริ่มด้วย /* และจบด้วย */
3. คอมเมนต์แบบอกสำรประกอบโปรแกรมเริ่มด้วย /** จบด้วย */
- 20. กำรใช้ final ในกำรกำหนดค่ำให้กับตัวแปร
เป็นกำรประกำศตัวแปร ที่ตัวแปรนั้นๆ จะไม่สำมำรถมีค่ำอื่นๆได้อีก ไม่ว่ำจะเป็น
กำรเปลี่ยนค่ำภำยในโปรแกรม หรือกำรเปลี่ยนแปลงที่เกิดจำกกำรใส่ข้อมูลใหม่ผ่ำน
ทำง keyboard
กำรใช้ final จะทำให้โปรแกรมมีควำมแม่นยำและมั่นคงมำกยิ่งขึ้น กำรทำจะ
เปลี่ยนค่ำเหล่ำนี้ไม่สำมำรถทำได้ ทำให้กำรออกแบบและพัฒนำโปรแกรมมี
ประสิทธิภำพ ลดข้อผิดพลำดที่อำจจะเกิดจำกโปรแกรมเมอร์เอง
- 21. อำยุ และขอบเขตกำรใช้งำน (life-time- and scope)ของตัวแปร
หลังจำกที่มีกำรประกำศใช้ตัวแปรใดๆ ในโปรแกรม ตัวแปรเหล่ำนี้จะมีขอบเขต
หรืออำยุกำรใช้งำนตำมลักษณะ กำรประกำศตัวแปรของผู้เขียนโปรแกรมเอง
โดย ตัวแปรจะมีอำยุกำรใช้งำนตำมเนื้อที่ (block) ที่ตัวแปรเหล่ำนั้น ปรำกฏ
อยู่ ซึ่งจะอยู่ใน เครื่องหมำย { }
- 22. ตัวดาเนินการทางคณิตศาสตร์
กำรดำเนินกำรทำงคณิตศำสตร์
ในภำษำจำวำ ประโยค (statement) จะจบด้วยเครื่องหมำย ;
(semicolon) เสมอ ดังนั้นโปรแกรมสำมำรถเขียน statement ได้
มำกกว่ำหนึ่งสเตจเม็นต์ในหนึ่งบรรทัดของ source code หรือสำมำรถ
เขียน statement โดยมีควำมยำวมำกกว่ำหนึ่งบรรทัดก็สำมำรถทำได้
Expression หมำยถึง ประโยคในภำษำ Java ที่ได้รับกำรยอมรับว่ำอยู่ใน
รูปแบบที่ได้กำหนดไว้ กำรเขียน code ให้มีรูปแบบที่เหมำะสม อ่ำนได้ง่ำย จะ
ทำให้กำรพัฒนำโปรแกรมเป็นไปได้ด้วยควำมรวดเร็วและ เป็นที่ยอมรับตำม
ระบบสำกล รูปแบบที่เหมำะสมนั่นคือ กำรย่อหน้ำ (indentation) เพื่อให้
กำรอ่ำนทำได้ง่ำย และมอง ดูสวยงำม
- 24. - ถ้ำตัวแปรใดเป็น double ตัวแปรที่นำมำประมวลผลด้วยจะถูกเปลี่ยนให้
เป็น double ก่อนกำรประมวลผล
- ถ้ำตัวแปรใดเป็น float ตัวแปรที่นำมำประมวลผลด้วยจะถูกเปลี่ยนให้เป็น
float ก่อนกำรประมวลผล
- ถ้ำตัวแปรใดเป็น long ตัวแปรที่นำมำประมวลผลด้วยจะถูกเปลี่ยนให้เป็น
long ก่อนกำรประมวลผล
4) กำรประมวลผลตัวเลขที่มีขนำดใหญ่
Java จะมี class BigInteger ที่สำมำรถเรียกใช้เพื่อประมวลผลตัวเลขที่มี
ค่ำมำกกว่ำ int ที่จะเก็บค่ำได้
- 27. คลาสสตริง
กำรสร้ำง String
String เป็น Class หนึ่งใน Package ของภำษำจำวำชื่อ java.lang
ทำหน้ำที่ใน กำรเก็บข้อมูลที่เป็น “ชุดของตัวอักษร” ซึ่งปกติชนิดของข้อมูลของ
ภำษำจำวำก็มี ชนิดเป็น character แต่เก็บข้อมูลได้เพียง 1 ตัวอักษร
เท่ำนั้น ดังนั้นจึงลำบำกในกำร นำมำใช้กับข้อมูลที่มำกกว่ำ 1 ตัวอักษร หรือที่
เรียกว่ำ “String” ดังนั้น ภำษำจำวำ
จึงได้สร้ำง Class สำเร็จรูปมำให้สำมำรถเรียกใช้ได้ทันที เรียกว่ำ “String”
ทั้งหมดคือที่มำของคำว่ำ String Class
- 28. กำรสร้ำง Object เพื่อใช้กับ String ได้ 6 รูปแบบคือ
รูปแบบที่ 1
String ชื่อObject = new String(ข้อควำม);
ตัวอย่ำงกำรใช้งำน
String message = new String (“Welcome to Java”);
คำอธิบำย
message เป็น String Object
“Welcome to Java” เป็นข้อควำมที่เก็บใน String Object ชื่อ
“message”
- 31. รูปแบบที่ 4
String (char chars[], int startIndex, int numChars);
เป็นกำรเก็บข้อมูลเพียงบำงส่วนของ Array ไว้ใน String โดยที่
- startIndex คือกำหนดตำแหน่งเริ่มต้นใน array ที่ต้องกำรเก็บ
- numChars คือกำหนดจำนวนตัวอักษรที่ต้องกำรเก็บโดยนับจำก ตำแหน่งที่
ระบุใน startIndex