Your SlideShare is downloading. ×
0
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Java Programming [2/12] : Overview of Java Programming Language

600

Published on

เอกสารแนะนำการเขียนโปรแกรมภาษาจาวา

เอกสารแนะนำการเขียนโปรแกรมภาษาจาวา

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
600
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. บทที่ 2พื้น ฐานโปรแกรมภาษาจาวา (Overview of JavaProgramming Language) อ.ธนิศ า เครือ ไวศยวรรณ คณะเทคโนโลยีส ารสนเทศสถาบัน เทคโนโลยีพ ระจอมเกล้า เจ้า
  • 2. วัต ถุป ระสงค์ แนะนำา สัญ ลัก ษณ์แ ละคำา ต่า งๆทีใ ช้ใ นภาษาจาวา ่ แนะนำา ข้อ มูล ค่า คงที่แ ละชนิด ข้อ มูล แบบพืน ฐานที่ ้ ใช้ใ นภาษาจาวา แนะนำา การประกาศและคำา สั่ง กำา หนดค่า ตัว แปร แนะนำา ตัว ดำา เนิน การประเภทต่า งๆ อธิบ ายการแปลงชนิด ข้อ มูล แนะนำา ชนิด ข้อ มูล แบบอ้า งอิง แนะนำา คำา สัง ทีใ ช้ใ นการรับ ข้อ มูล และคำา สั่ง ที่ใ ช้ ่ ่ ในการแสดงผล
  • 3. ไวยากรณ์ภ าษาจาวา (Java Syntax) คำา หรือ ข้อ ความทีส ามารถเขีย นในโปรแกรมภาษา ่ จาวาจะต้อ งเป็น คำา หรือ ข้อ ความในรูป แบบใดรูป แบบหนึง ของประเภทต่า งๆเหล่า นี้ ่ • คอมเม็น ต์ (Comment) • Identifier • คีย ์เ วิร ์ด (Keywords) • สัญ ลัก ษณ์แ ยกคำา (Separators) • ช่อ งว่า ง (Whitespace) • ข้อ มูล ค่า คงที่ (Literals)
  • 4. คอมเม็น ต์ คอมเม็น ต์ค ือ ข้อ ความทีแ ทรกอยูใ นโปรแกรม ่ ่ คอมเม็น ต์เ ขีย นไว้เ พือ ่ • อธิบ ายโปรแกรม • ให้ผ ู้อ ่า นเข้า ใจโปรแกรมง่า ยยิ่ง ขึ้น • ช่ว ยทำา ให้ก ารแก้ไ ขและปรับ ปรุง โปรแกรมเป็น ไปได้ ง่า ยขึ้น ภาษาจาวากำา หนดรูป แบบของการเขีย นคอมเม็น ต์ ไว้ส ามรูป แบบดัง นี้ • // This is a comment คอมเม็น ต์ส ำา หรับ ข้อ ความบรรทัด เดีย ว • /* This is also a comment */ คอมเม็น ต์ส ำา หรับ ข้อ ความตั้ง แต่ห นึ่ง บรรทัด ขึ้น ไป • /** This is a comment for documentation */
  • 5. ตัว อย่า งโปรแกรม/* This program is to show /* This program is to show how to write comments how to write comments */*/public class CommentDemo {{ public class CommentDemo // Main method // Main method public static void main(String args[]) {{ public static void main(String args[]) /** This is aa comment for documentation */ /** This is comment for documentation */ System.out.println("Document"); System.out.println("Document"); }}}}
  • 6. Identifier identifier คือ ชือ ทีต ั้ง ขึ้น ในภาษาจาวา ซึง อาจ ่ ่ ่ เป็น ชื่อ ของคลาส ชื่อ ของ ตัว แปร หรือ ชื่อ ของเมธอด identifier จะต้อ งเป็น ไปตามกฎการตั้ง ชือ ดัง นี้ ่ • identifier จะต้อ งขึ้น ต้น ด้ว ยอัก ขระ A-Z, a-z, _ หรือ $ เท่า นั้น • identifier ที่ป ระกอบไปด้ว ยตัว อัก ขระมากกว่า หนึ่ง ตัว ตัว อัก ขระหลัง จากตัว แรกนั้น จะต้อ งเป็น ตัว อัก ขระข้า ง ต้น หรือ เป็น ตัว เลข 0 ถึง 9 เท่า นั้น • identifier จะต้อ งไม่ต รงกับ คีย ์เ วิร ์ด identifier ในภาษาจาวาเป็น case sensitive ทำา ให้ myVariable แตกต่า งจาก MyVariable
  • 7. ตัว อย่า งของ Identifierถูก ต้อ ง ไม่ถ ูก ต้อ ง • MyVariable • My Variable • _MyVariable • 9pns • $x • a+c • This_is_also_a_variable • HelloWorld • public
  • 8. หลัก การตั้ง ชื่อ ที่ป ฏิบ ัต ิก ัน โดย ทั่ว ไป การตั้ง ชือ ของคลาส ่ • จะขึ้น ต้น ด้ว ยตัว อัก ษรพิม พ์ใ หญ่แ ล้ว ตามด้ว ยตัว อัก ษร พิม พ์เ ล็ก หรือ ตัว เลข โดยจะใช้ต ัว อัก ษรพิม พ์ใ หญ่ เฉพาะอัก ษรนำา ของแต่ล ะคำา ที่ต ามมาในชื่อ • ควรเป็น คำา นาม • ตัว อย่า งเช่น Sample, HelloWorld, Student หรือ GraduateStudent เป็น ต้น การตั้ง ชือ ของตัว แปร ่ • จะขึ้น ต้น ด้ว ยตัว อัก ษรพิม พ์เ ล็กโดยจะใช้ต ัว อัก ษรพิม พ์ ใหญ่เ ฉพาะอัก ษรนำา ของแต่ล ะคำา ที่ต ามมาในชื่อ • ควรเป็น คำา นามหรือ เป็น ชื่อ สั้น ๆ • ตัว อย่า งเช่น x, i, name, id หรือ gpa เป็น ต้น
  • 9. หลัก การตั้ง ชื่อ ที่ป ฏิบ ัต ิก ัน โดย ทั่ว ไป การตั้ง ชือ เมธอด ่ • จะใช้ห ลัก การเดีย วกับ การตั้ง ชื่อ ตัว แปร แต่ค วรเป็น คำา กริย า • ตัว อย่า งเช่น getName, setName หรือ showDetails เป็น ต้น การตั้ง ชือ ค่า คงที่ ่ • จะใช้ต ัว อัก ษรพิม พ์ใ หญ่ท ั้ง หมด และจะแยกคำา โดยใช้ เครื่อ งหมาย _ (underscore) • ควรเป็น คำา นาม • ตัว อย่า งเช่น MIN_GPA เป็น ต้น
  • 10. คีย ์เ วิร ์ด คีย เ วิร ์ด คือ ชื่อ ทีม ค วามหมายพิเ ศษในภาษาจาวา ์ ่ ี คีย เ วิร ์ด ทุก ตัว จะเป็น ตัว อัก ษรตัว พิม พ์เ ล็ก ์ คีย เ วิร ์ด goto ์ และ const • เป็น คีย ์เ วิร ์ด ที่ไ ม่ไ ด้ต รงกับ คำา สั่ง ใดในภาษาจาวา คำา ว่า true และ false • ไม่ไ ด้เ ป็น คีย ์เ วิร ์ด ในภาษาจาวา แต่จ ะเป็น ข้อ มูล ค่า คงที่ช นิด ตรรกะ คำา ว่า null • ไม่ไ ด้เ ป็น คีย ์เ วิร ์ด ในภาษาจาวา แต่จ ะเป็น ข้อ มูล ค่า คงที่ข องตัว แปรที่ม ีช นิด ข้อ มูล เป็น ประเภทอ้า งอิง
  • 11. คีย ์เ วิร ์ด ที่ใ ช้ใ นภาษาจาวาabstract continue for new switchassert default goto package synchronizedboolean do if private thisbreak double implements protected throwbyte else import public throwscase enum instanceof return transientcatch extends int short trychar final interface static voidclass finally long strictfp volatileconst float native super while
  • 12. สัญ ลัก ษณ์์แ ยกคำาสัญ ลัก ษณ์ หน้า ที่ แยกคำา เพื่อ ระบุก ารสิ้น สุด ของคำา สั่ง ; ต่า งๆ สำา หรับ ต่อ ท้า ยเมธอดหรือ คำา สั่ง () เช่น if,for , สำา หรับ แยกตัว แปรหรือ คำา สั่ง เพื่อ ใช้ใ นการระบุค ุณ ลัก ษณะ . หรือ เมธอดของ ออปเจ็ค หรือ ใช้ ในการระบุแ พคเก็จ {} เพื่อ ระบุบ ล็อ กคำา สั่ง
  • 13. ช่อ งว่า ง โปรแกรมภาษาจาวาสามารถทีจ ะมีช ่อ งว่า งเพือ ที่ ่ ่ แยกคำา ประโยค หรือ คำา สั่ง ต่า งๆภายในโปรแกรม ได้ รูป แบบของช่อ งว่า งประกอบด้ว ย • ช่อ งว่า ง (กดคีย ์ Space บนคีย ์บ อร์ด ) • แท็ป (กดคีย ์ Tab บนคีย ์บ อร์ด ) • การขึ้น บรรทัด ใหม่ (กดคีย ์ Enter บนคีย ์บ อร์ด )
  • 14. ข้อ มูล ค่า คงที่ ข้อ มูล ค่า คงที่ค ือ คำา ทีใ ช้แ สดงข้อ มูล ทีเ ป็น ตัว เลข ่ ่ ตัว อัก ขระ ข้อ ความ หรือ ค่า ทางตรรกะ ข้อ มูล ค่า คงที่แ บ่ง ออกเป็น 5 ประเภทดัง นี้ • ตรรกะ (boolean) • ตัว อัก ขระ (character) • ตัว เลขจำา นวนเต็ม (integral) • ตัว เลขทศนิย ม (floating point) • ข้อ ความ (string)
  • 15. ชนิด ข้อ มูล แบบพื้น ฐาน ชนิด ข้อ มูล ในภาษาจาวาแบ่ง เป็น สองประเภท ใหญ่ๆ คือ • ชนิด ข้อ มูล แบบพื้น ฐาน (primitive data type) • ชนิด ข้อ มูล แบบอ้า งอิง (reference data type) ชนิด ข้อ มูล แบบพืน ฐาน แบ่ง ออกเป็น ้ 4 ประเภท ดัง นี้ • ชนิด ข้อ มูล ตรรกะ (Logical) คือ ชนิด boolean • ชนิด ข้อ มูล อัก ขระ (Textual) คือ ชนิด char • ชนิด ข้อ มูล ตัว เลข จำา นวนเต็ม (Integral) คือ ชนิด byte,short,int และ long • ชนิด ข้อ มูล ตัว เลข ทศนิย ม (Floating point) คือ ชนิด float และ double
  • 16. ขนาดและช่ว งค่า ของชนิด ข้อ มูล แบบพื้น ฐานชนิด ข้อ มูล ขนาด (บิต ) ช่ว งค่า boolean 1 true หรือ false u0000 ถึง char 16 uFFFF byte 8 -128 ถึง +127 short 16 -32,768 ถึง +32,767 int 32 -231 ถึง +231-1 -263 ถึง long 64 +263-1 -3.40E+38 ถึง float 32 +3.40E+38 -1.80E+308 ถึง double 64 +1.80E+308
  • 17. ข้อ มูล ชนิด ตรรกะ ข้อ มูล ชนิด ตรรกะมีข ้อ มูล ค่า คงทีอ ยู่ ่ 2 ค่า คือ • true และ false ตัว อย่า ง เช่น คำา สั่ง • boolean flag = true; เป็น การกำา หนดตัว แปร ที่ช ื่อ ว่า flag ให้มีช นิด ข้อ มูล เป็น boolean โดยกำา หนดให้ม ีค ่า เป็น true
  • 18. ข้อ มูล ชนิด ตัว อัก ขระ ข้อ มูล ชนิด ตัว อัก ขระใช้เ พือ แสดงตัว อัก ขระหนึง ่ ่ ตัว ซึ่ง ถูก เก็บ อยู่ใ นรูป ของมาตรฐาน Unicode ขนาด 16 บิต โดยจะมีค ่า ตั้ง แต่ ‘u0000’ ถึง ‘uFFFF’ ตัว อย่า งเช่น คำา สั่ง • char letter = ‘u0041; เป็น การประกาศตัว แปรที่ช ื่อ ว่า letter ให้เ ป็น ข้อ มูล ชนิด char โดยมีค ่า เป็น u0041 ซึ่ง มีค ่า เท่า กับ ตัว อัก ษร A ตัว อย่า งเช่น คำา สั่ง • char letter = ‘A’; เป็น การประกาศตัว แปรที่ช ื่อ ว่า letter ให้เ ป็น ข้อ มูล ชนิด char
  • 19. อัก ขระพิเ ศษที่น ิย มใช้ท ว ไป ั่อัก ขระ Unicode ความหมาย b u000B Backspace t u0009 Tab n u000A New line r u000D Return u005C Backslash u0027 Single quote " u0022 Double quote
  • 20. ข้อ มูล ชนิด ตัว เลขจำา นวนเต็ม มีช นิด ข้อ มูล พืน ฐาน ้ 4 ชนิด คือ • byte, short, int, long โดยทัว ไปข้อ มูล ชนิด ตัว เลขจำา นวนเต็ม จะถูก ่ กำา หนดให้ม ช นิด ข้อ มูล เป็น ี int ข้อ มูล ค่า คงที่ส ามารถเขีย นได้ส ามแบบดัง นี้ • เลขฐานสิบ คือ การเขีย นเลขจำา นวนเต็ม ทั่ว ไป อาทิเ ช่น -121 และ 75362 เป็น ต้น • เลขฐานแปดคือ การเขีย นเลขจำา นวนเต็ม ที่ข ึ้น ต้น ด้ว ย เลข 0 แล้ว ตามด้ว ยตัว เลขตั้ง แต่ 0 ถึง 7 อาทิเ ช่น 016 (มีค ่า เท่า กับ 14 ในเลขฐานสิบ ) • เลขฐานสิบ หกคือ การเขีย นเลขจำา นวนเต็ม ที่ข ึ้น ต้น ด้ว ย 0x หรือ 0X แล้ว ตามด้ว ยตัว เลขตั้ง แต่ 0 ถึง 9 หรือ ตัว อัก ษร A ถึง F อาทิเ ช่น 0xA2 (มีค ่า เท่า กับ 162 ในเลขฐานสิบ )
  • 21. ข้อ มูล ชนิด ตัว เลข จำา นวนเต็ม ข้อ มูล ค่า คงที่ข องเลขจำา นวนเต็ม ทีเ ป็น ชนิด long ่ จะมีต ัว อัก ษร l หรือ L ต่อ ท้า ย อาทิเ ช่น • 2l หมายถึง เลขฐานสิบ ที่ม ีค ่า เป็น 2 ซึ่ง เป็น ข้อ มูล ชนิด long • 077L หมายถึง เลขฐานแปดที่เ ป็น ข้อ มูล ชนิด long • 0xBAACL หมายถึง เลขฐานสิบ หกที่เ ป็น ข้อ มูล ชนิด long
  • 22. ข้อ มูล ชนิด ตัว เลขทศนิย ม (floating point) ข้อ มูล ชนิด ตัว เลขทศนิย มจะเป็น เลขทีม ี ่ เครื่อ งหมายจุด ทศนิย ม อาทิเ ช่น • 3.14 หรือ 3.0 มีช นิด ข้อ มูล พืน ฐาน ้ 2 ชนิด คือ double และ float โดยทัว ไปข้อ มูล ชนิด ตัว เลขทศนิย มจะถูก กำา หนด ่ ให้ม ช นิด ข้อ มูล เป็น double ี สามารถเขีย นในรูป แบบของเลขยกกำา ลัง สิบ (exponential form) ได้โ ดยใช้ต ัว อัก ษร E หรือ e ระบุจ ำา นวนทีเ ป็น เลขยกกำา ลัง สิบ อาทิเ ช่น ่ • 6.02E23 หรือ 2e-7
  • 23. ข้อ มูล ชนิด ตัว เลขทศนิย ม ข้อ มูล ชนิด ตัว เลขทศนิย มที่ม ช นิด ข้อ มูล เป็น float ี จะมีต ัว อัก ษร F หรือ f ต่อ ท้า ย อาทิเ ช่น • 2.718F หรือ 3.14f ข้อ มูล ชนิด ตัว เลขทศนิย มที่ม ช นิด ข้อ มูล เป็น double ี จะมีต ัว อัก ษร D หรือ d ต่อ ท้า ย อาทิเ ช่น • 2.718D (โดยทั่ว ไปไม่จ ำา เป็น ต้อ งใส่ต ัว อัก ษร D เพราะ ข้อ มูล ชนิด ตัว เลขทศนิย มจะกำา หนดให้เ ป็น double อยู่ แล้ว )
  • 24. ตัว แปร (Variable) ตัว แปรคือ ข้อ มูล ทีส ามารถเปลี่ย นแปลงค่า ได้ใ น ่ โปรแกรมโดยใช้ค ำา สัง กำา หนดค่า ่ คำา สั่ง ในการประกาศตัว แปรของภาษาจาวามีร ูป แบบดัง นี้ dataType variableName[,variableName]; ตัว อย่า งเช่น คำา สั่ง int amount; double x,y; float price,wholeSalePrice;
  • 25. คำา สัง กำา หนดค่า (Assignment ่ Statement) คำา สั่ง กำา หนดค่า จะเป็น คำา สั่ง ทีใ ช้ใ นการ ่ เปลี่ย นแปลงค่า ของตัว แปร คำา สั่ง กำา หนดค่า (assignment statement) ซึ่ง มี รูป แบบดัง นี้ variableName = expression; ตัว อย่า งเช่น x = 1; radius = 3.14; c = ‘a’; y = x+4*3; amount = 121+14;
  • 26. คำา สั่ง ประกาศและกำา หนดค่า ตัว แปร เราสามารถทีจ ะประกาศและกำา หนดค่า เริ่ม ต้น ของ ่ ตัว แปรภายในคำา สัง เดีย วกัน โดยมีร ูป แบบคำา สั่ง ่ ดัง นี้ dataType variableName = expression [,variableName = expression]; ตัว อย่า งเช่น int amount = 123; float price = 12.0f; double x = 4.0, y = 2.5;
  • 27. ตัว อย่า งโปรแกรมpublic class VariableAssignDemo { public class VariableAssignDemo { public static void main(String args[]) { public static void main(String args[]) { int x,y; int x,y; boolean b1; boolean b1; float z = 3.414f; /* The program will not be float z = 3.414f; /* The program will not be compiled successfully if compiled successfully if a character f is missing */ a character f is missing */ double w; double w; x = 5; x = 5; y = 4; y = 4; b1 = (x > y); b1 = (x > y); w = x * 3.2; w = x * 3.2; System.out.println("x = " + x + " y = " + y); System.out.println("x = " + x + " y = " + y); System.out.println("b1 = " + b1); System.out.println("b1 = " + b1); System.out.println("z = " + z + " w = " + w); System.out.println("z = " + z + " w = " + w); }}}}
  • 28. ค่า คงที่ การประกาศค่า คงทีใ นภาษาจาวาทำา ได้โ ดยการ ่ ใส่ค ีย เ วิร ์ด final หน้า คำา สั่ง ประกาศช์ื์ ่อ โดยมี ์ รูป แบบดัง นี้ final dataType CONSTANT_NAME = expression; ตัว อย่า งเช่น คำา สั่ง final int MINIMUM = 4; final double MIN_GPA = 2.00;
  • 29. ตัว อย่า งโปรแกรมpublic class ConstantDemo { public class ConstantDemo { public static void main(String args[]) { public static void main(String args[]) { final int MAXIMUM = 10; final int MAXIMUM = 10; final double MIN_GPA; final double MIN_GPA; System.out.println("Maximum is " + MAXIMUM); System.out.println("Maximum is " + MAXIMUM); MIN_GPA = 2.00; MIN_GPA = 2.00; System.out.println("Minimum GPA is " + MIN_GPA); System.out.println("Minimum GPA is " + MIN_GPA);// // MIN_GPA = 3.00; MIN_GPA = 3.00; //illegal //illegal }}}}
  • 30. ขอบเขตของตัว แปรและค่า คงที่ ตัว แปรและค่า คงทีซ ึ่ง ประกาศขึ้น จะสามารถใช้ ่ งานภายในบล็อ กคำา สั่ง ({ }) ทีป ระกาศเท่า นัน ่ ้ ภาษาจาวาแบ่ง ตัว แปรและค่า คงทีเ ป็น สองประเภท ่ คือ • ตัว แปรหรือ ค่า คงที่ท ี่เ ป็น คุณ ลัก ษณะของออปเจ็ค หรือ คุณ ลัก ษณะของคลาส • ตัว แปรหรือ ค่า คงที่ท ี่อ ยู่ใ นบล็อ กของเมธอดที่เ รีย กว่า ค่า คงที่ภ ายใน (local constant) หรือ ตัว แปรภายใน (local variable)
  • 31. ค่า เริ่ม ต้น อัต โนมัต ิข องตัว แปร ตัว แปรทีเ ป็น คุณ ลัก ษณะของออปเจ็ค หรือ ่ คุณ ลัก ษณะของคลาสจะถูก กำา หนดค่า เริ่ม ต้น ให้ โดยอัต โนมัต ิ ชนิด ข้อ มูล ค่า เริ่ม ต้น boolean false byte 0 short 0 int 0 long 0L float 0.0f double 0.0 char u0000 คลาส null
  • 32. ตัว อย่า งโปรแกรมpublic class VariableScopeDemo { public class VariableScopeDemo { public int i; public int i; // object variable // object variable public void method1() { public void method1() { int j = 4; int j = 4; // local variable // local variable int k = 2; int k = 2; // another local variable // another local variable }} public void method2() { public void method2() { int j = 0; int j = 0; // local variable // local variable System.out.println(i); System.out.println(i); // calling an object variable i // calling an object variable i// // System.out.println(k); System.out.println(k); // illegal // illegal }}}}
  • 33. ตัว ดำา เนิน การ (Operator) นิพ จน์ภ าษาจาวาอาจจะประกอบด้ว ยข้อ มูล ค่า คงที่ ตัว แปร หรือ ค่า คงทีต ่า งๆ โดยจะมีต ัว ดำา เนิน ่ การต่า งๆไว้เ พือ คำา นวณหาผลลัพ ธ์ท เ ป็น ชนิด ่ ี่ ข้อ มูล ต่า งๆ ตัว ดำา เนิน การในภาษาจาวาแบ่ง ออกเป็น 4 ประเภทคือ • ตัว ดำา เนิน การทางคณิต ศาสตร์ (Arithmetic Operator) • ตัว ดำา เนิน การแบบสัม พัน ธ์ (Relational Operator) • ตัว ดำา เนิน การทางตรรกศาสตร์ (Logical Operator) • ตัว ดำา เนิน การแบบบิต (Bitwise Operator)
  • 34. ตัว ดำา เนิน การทางคณิต ศาสตร์ เครื่อ งหม ความ ตัว อย่า ง าย หมาย นิพ จน์ + บวก a+b - ลบ a-b * คูณ a*b / หาร a/b เศษจาก % a%b การหาร
  • 35. ตัว ดำา เนิน การทางคณิต ศาสตร์แ บบ ย่อ เครื่อ งหม ความ ตัว อย่า ง าย หมาย += x+=3 x = x+3 -= x-=3 x = x-3 *= x*=3 x = x*3 /= x/=3 x = x/3 %= x%=3 x = x%3
  • 36. ตัว ดำา เนิน การเพิม ค่า และลดค่า ่ ตัว ดำา เนิน การเพือ บวกค่า ทีล ะ ่ 1 หรือ ลดค่า ทีล ะ 1 เครื่อ งหมาย ++ หรือ -- ตัว อย่า ง • x++ คือ x = x+1 • ++x คือ x = x+1 • x-- คือ x = x-1 • --x คือ x = x-1 ถ้า วางเครื่อ งหมายไว้ข ้า งหน้า โปรแกรมจะ คำา นวณค่า ก่อ นแล้ว จึง ทำา คำา สั่ง ถ้า วางเครื่อ งหมายไว้ข ้า งหลัง โปรแกรมจะ คำา นวณค่า หลัง จากทำา คำา สัง ่
  • 37. ตัว อย่า งโปรแกรม public class IncrementDemo { public class IncrementDemo { public static void main(String args[]) { public static void main(String args[]) { int x; int x; int y; int y; x = 5; x = 5; y = x++; y = x++; System.out.println("x = "+x+" y = "+y); System.out.println("x = "+x+" y = "+y); y = ++x; y = ++x; System.out.println("x = "+x+" y = "+y); System.out.println("x = "+x+" y = "+y); }} }} x = 6 y = 5ผลลัพ ธ์ท ไ ด้จ ากการรัน โปรแกรม 7 ี่ x = y = 7
  • 38. ตัว ดำา เนิน การแบบสัม พัน ธ์เครื่อ งห ตัว อย่า ผลลัพ ความหมาย มาย ง ธ์ < น้อ ยกว่า 3<4 true น้อ ยกว่า หรือ 3<=4 true เท่า กับ > มากกว่า 3>4 false มากกว่า หรือ >= 3>=4 false เท่า กับ == เท่า กับ 3==4 false != ไม่เ ท่า กับ 3!=4 true
  • 39. ตัว อย่า งโปรแกรมpublic class BooleanDemo { public class BooleanDemo { public static void main(String args[]) { public static void main(String args[]) { int x = 5; int x = 5; int y = 4; int y = 4; boolean b1; boolean b1; b1 = (x!=y); b1 = (x!=y); System.out.println("x not equal to y is "+b1); System.out.println("x not equal to y is "+b1); System.out.println("y less than 0 is "+(y<0)); System.out.println("y less than 0 is "+(y<0)); }}}}
  • 40. ตัว ดำา เนิน การทางตรรกศาสตร์ เครื่อ งห ความหมาย มาย ! กลับ ค่า ทางตรรกะ && หรือ AND ค่า ทางตรรกะ & || หรือ | OR ค่า ทางตรรกะ Exclusive-OR ค่า ^ ทางตรรกะ
  • 41. ตัว อย่า งการใช้ต ัว ดำา เนิน การทาง ตรรกศาสตร์ นิพ จน์ ผลลัพ ธ์ (7>6) && (2<1) false (7>6) || (2<1) true !(7>6) false
  • 42. ผลลัพ ธ์ข องการกลับ ค่า ทางตรรกะ op !op true false false true
  • 43. ผลลัพ ธ์ข องการ AND ค่า ทาง ตรรกะ op1 && op1 op2 op2 true true true true false false false true false false false false
  • 44. ผลลัพ ธ์ข องการ OR ค่า ทางตรรกะ op1 || op1 op2 op2 true true true true false true false true true false false false
  • 45. ผลลัพ ธ์ข อง Exculsive ORค่า ทาง ตรรกะ op1 ^ op1 op2 op2 true true false true false true false true true false false false
  • 46. ตัว ดำา เนิน การแบบบิต ตัว ดำา เนิน การแบบบิต ของเลขจำา นวนเต็ม ตัว ดำา เนิน ความหมาย การ Compleme ~ nt & AND | OR ตัว ดำา เนิน การแบบ shift บิต ^ XOR ตัว ดำา เนิน ความหมาย การ signed right >> shift unsigned
  • 47. ลำา ดับ ความสำา คัญ ของตัว ดำา เนิน การ ลำา ดับ เรีย งจาก ตัว ดำา เนิน การ ที่ ขวาไปซ้า ย (R ++, --, +, -, ~, ! 1 to L) (data type) ซ้า ยไปขวา (L 2 *, /, % to R) ซ้า ยไปขวา (L 3 +, - to R) ซ้า ยไปขวา (L 4 <<, >>, >>> to R) ซ้า ยไปขวา (L <, >, <=, >=, 5 to R) instanceof ซ้า ยไปขวา (L
  • 48. ลำา ดับ ความสำา คัญ ของตัว ดำา เนิน การ ลำา ดับ เรีย งจาก ตัว ดำา เนิน การ ที่ ซ้า ยไปขวา (L 8 ^ to R) ซ้า ยไปขวา (L 9 | to R) ซ้า ยไปขวา (L 10 && to R) ซ้า ยไปขวา (L 11 || to R) ขวาไปซ้า ย (R 12 ?: to L) =, +=, -=,
  • 49. ตัว อย่า งคำา สัง ่ x = 2+3*4-(7+2); คำา นวณหาผลลัพ ธ์ ตามลำา ดับ ดัง นี้ คำา นวณหาผลลัพ ธ์ค ่า 7+2 ทำา ให้ไ ด้ x = 2+3*4-9 คำา นวณหาผลลัพ ธ์ค ่า 3*4 ทำา ให้ไ ด้ x = 2+12-9 คำา นวณหาผลลัพ ธ์ค ่า 2+12 ทำา ให้ไ ด้ x = 14-9 คำา นวณหาผลลัพ ธ์ค ่า 14-9 ทำา ให้ไ ด้ x=5
  • 50. การแปลงชนิด ข้อ มูล ในกรณีท ต ัว ถูก ดำา เนิน การทัง สองมีช นิด ข้อ มูล ที่ ี่ ้ ต่า งกัน ภาษาจาวาจะมีห ลัก การแปลงชนิด ข้อ มูล (type conversion) ดัง นี้ • ถ้า ตัว ถูก ดำา เนิน การตัว หนึ่ง มีช นิด ข้อ มูล เป็น double ตัว ถูก ดำา เนิน การอีก ตัว หนึ่ง จะถูก แปลงให้ม ีช นิด ข้อ มูล เป็น double โดยอัต โนมัต ิ • ถ้า ตัว ถูก ดำา เนิน การทั้ง สองไม่ไ ด้ม ีช นิด ข้อ มูล เป็น double แต่ม ีต ัว ถูก ดำา เนิน การตัว หนึ่ง ที่ม ีช นิด ข้อ มูล เป็น float ตัว ถูก ดำา เนิน การอีก ตัว หนึ่ง จะถูก แปลงให้ม ีช นิด ข้อ มูล เป็น float โดยอัต โนมัต ิ • ถ้า ตัว ถูก ดำา เนิน การทั้ง สองไม่ไ ด้ม ีช นิด ข้อ มูล เป็น double หรือ float แต่ม ีต ัว ถูก ดำา เนิน การตัว หนึ่ง ที่ม ีช นิด ข้อ มูล
  • 51. การแปลงชนิด ข้อ มูล กรณีอ ื่น ๆ ตัว ถูก ดำา เนิน การทัง สองจะแปลงให้ม ี ้ ชนิด ข้อ มูล เป็น int ตัว อย่า ง byte b1, b2, b3; b1 = 2; b2 = 4; b3 = b1+b2; //illegal • คำา สั่ง กำา หนดค่า b3 ไม่ถ ูก ต้อ งเนื่อ งจาก b1+b2 จะให้ค ่า ข้อ มูล ที่ม ีช นิด ข้อ มูล เป็น int
  • 52. การแปลงชนิด ข้อ มูล การแปลงชนิด ข้อ มูล มีส องรูป แบบคือ • การแปลงข้อ มูล ที่ก ว้า งขึ้น (widening conversion) คือ การแปลงจากชนิด ข้อ มูล ที่ม ีข นาดเล็ก กว่า ไปเป็น ชนิด ข้อ มูล ที่ม ีข นาดใหญ่ก ว่า • การแปลงข้อ มูล ที่แ คบลง (narrowing conversion) คือ การแปลงจากชนิด ข้อ มูล ที่ม ีข นาดใหญ่ก ว่า ไปเป็น ชนิด ข้อ มูล ที่ม ีข นาดเล็ก ลง ซึ่ง อาจมีผ ลให้เ สีย ความ ละเอีย ดของข้อ มูล บางส่ว นไป
  • 53. หลัก การการแปลงชนิด ข้อ มูล ชนิด ข้อ มูล ตัว เลขจำา นวนเต็ม สามารถแปลงให้เ ป็น ชนิด ข้อ มูล ตัว เลขทศนิย มได้ ชนิด ข้อ มูล float สามารถแปลงให้เ ป็น ชนิด ข้อ มูล double ได้ ชนิด ข้อ มูล ตัว เลขจำา นวนเต็ม มีข นาดเรีย งกัน จาก น้อ ยไปมากดัง นี้ byte → short → int → long ชนิด ข้อ มูล char สามารถแปลงให้เ ป็น ชนิด ข้อ มูล int ได้ ชนิด ข้อ มูล boolean จะไม่ม ค วามสัม พัน ธ์ก ับ ชนิด ี ข้อ มูล แบบพืน ฐานอื่น ๆ ้
  • 54. ตัว อย่า งของการแปลงชนิด ข้อ มูลภาษาจาวาจะปรับ ชนิด ข้อ มูล ให้อ ัต โนมัต ิ ในกรณี ต่อ ไปนี้ กำา หนดค่า ชนิด ข้อ มูล ทีเ ล็ก กว่า ให้ก ับ ตัว แปรชนิด ่ ข้อ มูล ทีใ หญ่ก ว่า อาทิเ ช่น ่ int i = 4; long l = i; นิพ จน์ i จะถูก ปรับ ชนิด ข้อ มูล จาก int ให้เ ป็น long โดย อัต โนมัต ิ กำา หนดค่า ชนิด ข้อ มูล จำา นวนเต็ม ให้ก บ จำา นวนเลข ั ทศนิย มอาทิเ ช่น • double x = 3; นิพ จน์ 3 จะถูก ปรับ ชนิด ข้อ มูล จาก int ให้เ ป็น double โดยอัต โนมัต ิ
  • 55. ตัว อย่า งโปรแกรมpublic class PromotionDemo { public class PromotionDemo { public static void main(String args[]) { public static void main(String args[]) { int i; int i; long l; long l; float fl = 4.2f; float fl = 4.2f; i = 4; i = 4; l = i; l = i; fl = i; fl = i; double x = fl; double x = fl; fl = 4.2; fl = 4.2; //illegal //illegal }}}}
  • 56. Typecasting เราสามารถแปลงชนิด ข้อ มูล ขนาดใหญ่ ให้เ ป็น ชนิด ข้อ มูล ทีเ ล็ก กว่า ได้โ ดยวิธ ีก ารทีเ รีย กว่า ่ ่ typecasting รูป แบบคำา สั่ง (target_type)expression; จะทำา ให้โ ปรแกรมสามารถคอมไพล์ผ ่า นได้ บางกรณีอ าจทำา ให้ข ้อ มูล บางส่ว น สูญ หายไป
  • 57. ตัว อย่า งของ Typecasting ตัว อย่า ง int amount = (int) 3.0; • แปลงนิพ จน์ท ี่ม ีค ่า 3.0 ข้อ มูล ชนิด double ให้เ ป็น ชนิด int ตัว อย่า งทีม ก ารตัด ข้อ มูล ออก ่ ี int x; double y = 1.25; x = (int) y;
  • 58. ตัว อย่า งโปรแกรมpublic class TypecastingDemo { public class TypecastingDemo { public static void main(String args[]) { public static void main(String args[]) { byte b1 = 4; byte b1 = 4; byte b2 = 3; byte b2 = 3; byte b3; byte b3; b3 = (byte)(b1+b2); b3 = (byte)(b1+b2); float fl; float fl; fl = (float)3.2; fl = (float)3.2; }}}}
  • 59. ชนิด ข้อ มูล แบบอ้า งอิง ชนิด ข้อ มูล แบบอ้า งอิง คือ ออปเจ็ค ในภาษาจาวา โดยแบ่ง ออกเป็น สองแบบคือ • ชนิด ข้อ มูล ที่เ ป็น คลาส • ชนิด ข้อ มูล ที่เ ป็น อะเรย์ ชนิด ข้อ มูล แบบอ้า งอิง จะมีว ิธ ีก ารเก็บ ข้อ มูล ใน หน่ว ยความจำา ทีแ ตกต่า งจากการเก็บ ข้อ มูล ของ ่ ชนิด ข้อ มูล แบบพืน ฐานอาทิเ ช่น คำา สั่ง ้ int x = 7; String s = new String("Thana");
  • 60. การประกาศตัว แปรและจองเนื้อ ทีใ น ่ หน่ว ยความจำา อาทิเ ช่น คำา สั่ง int x; Date d; d = new Date(16,8,2002);
  • 61. คลาส String String เป็น คลาสทีก ำา หนดไว้ใ น Java API ตัว แปร ่ ทีม ช นิด ข้อ มูล เป็น String ก็ค ือ ออปเจ็ค ชนิด หนึง ่ ี ่ ซึ่ง String มีข ้อ แตกต่า งจากออปเจ็ค ทัว ๆไปดัง นี้ ่ • String เป็น ออปเจ็ค ที่ม ีค ่า คงที่ข ้อ มูล ซึ่ง ก็ค ือ ข้อ ความ ใดๆ ที่อ ยู่ภ ายในเครื่อ งหมาย double quote (“ ”) ตัว อย่า งเช่น “This is a java course” • เป็น ออปเจ็ค ที่ส ามารถสร้า งหรือ กำา หนดค่า ได้ String โดยไม่จ ำา เป็น ต้อ งใช้ค ำา สั่ง new ตัว อย่า งเช่น เรา สามารถใช้ค ำา สั่ง String s = “Thana”; • โดยไม่จ ำา เป็น ที่จ ะต้อ งใช้ค ำา สั่ง String s = new String(“Thana”);
  • 62. ตัว อย่า งโปรแกรมpublic class StringDemo { public class StringDemo { public static void main(Stirng args[]){ public static void main(Stirng args[]){ String s1 = "Thana"; String s1 = "Thana"; String s2 = "Thana"; String s2 = "Thana"; String s3 = new String("Thana"); String s3 = new String("Thana"); }}}}
  • 63. คำา อธิบ ายโปรแกรม กรณีท ไ ม่ใ ช้ค ำา สั่ง new ี่ ภาษาจาวาจะพิจ ารณาจาก String Pool ว่า มีข ้อ ความเดิม อยู่ห รือ ไม่ กรณีท ใ ช้ค ำา สัง new ี่ ่ ภาษาจาวาจะสร้า งข้อ ความ ใหม่แ ละจองเนือ ทีใ นหน่ว ยความจำา เสมอ ้ ่
  • 64. String เป็น ออปเจ็ค ที่เ ปลี่ย นค่า ไม่ ได้ ตัว อย่า งเช่น คำา สั่ง String s1; s1 = “Thanachart"; s1 = “Somchai";
  • 65. ตัว ดำา เนิน การที่ใ ช้ก ับ ข้อ มูล ชนิด String String เป็น ออปเจ็ค ทีม ต ัว ดำา เนิน การทีใ ช้ใ นการ ่ ี ่ เชือ มข้อ ความสองข้อ ความเข้า ด้ว ยกัน โดยใช้ ่ เครื่อ งหมาย + อาทิเ ช่น String s1 = “Hello” + “ World”; ตัว ดำา เนิน การในการเชื่อ มข้อ ความสามารถใช้ เชือ มข้อ มูล ชนิด String กับ ตัว ถูก ดำา เนิน การที่เ ป็น ่ ชนิด ข้อ มูล อื่น ๆ ภาษาจาวาจะแปลงชนิด ข้อ มูล ดัง กล่า วให้เ ป็น ชนิด String โดยอัต โนมัต ิอ าทิเ ช่น คำา สั่ง String s1 = “This"; String s2 = s1 + “ is a test ”; String s3 = s1+4;
  • 66. คำา สั่ง อิน พุต และเอาท์พ ุต ออปเจ็ค System.in เป็น ออปเจ็ค ทีม เ มธอดสำา หรับ ่ ี การอ่า นข้อ มูล ทางอุป กรณ์อ ิน พุต มาตรฐาน ซึ่ง โดยทัว ไปก็ค ือ คีย บ อร์ด ่ ์ ออปเจ็ค System.outเป็น ออปเจ็ค ทีม เ มธอดสำา หรับ ่ ี การแสดงข้อ มูล ออกทางอุป กรณ์เ อาท์พ ต ุ มาตรฐานซึ่ง โดยทัว ไปคือ จอภาพ ่ ออปเจ็ค System.err เป็น ออปเจ็ค ที่ม เ มธอดสำา หรับ ี การแสดงข้อ ผิด พลาด (error) ออกทางอุป กรณ์ท ี่ ใช้ใ นการแสดงข้อ ผิด พลาด ซึง โดยทัว ไปจะ ่ ่ กำา หนดเป็น จอภาพ
  • 67. System.out.println ออปเจ็ค System.out หมายถึง ออปเจ็ค ทีช อ ่ ื่ out ซึ่ง เป็น คุณ ลัก ษณะของคลาสทีช ื่อ System ่ ออปเจ็ค ทีช ื่อ out เป็น ออปเจ็ค ของคลาส ่ PrintStream ทีม เ มธอดทีน ย มใช้ท ว ไปคือ ่ ี ่ ิ ั่ print(String s) และ println(String s)
  • 68. ตัว อย่า งโปรแกรม public class PrintDemo { public class PrintDemo { public static void main(String args[]) { public static void main(String args[]) { int x = 3, y = 4, z = 5; int x = 3, y = 4, z = 5; System.out.print("x = "+x); System.out.print("x = "+x); System.out.println(" y = "+y); System.out.println(" y = "+y); System.out.println("z = "+z); System.out.println("z = "+z); }} }} x = 3 y = 4ผลลัพ ธ์ท ไ ด้จ ากการรัน โปรแกรม 5 ี่ z =
  • 69. การ รับ ข้อ มูล เข้า มาทาง Command Line เมธอดทีช ื่อ main() จะมี argument เป็น String ่ args[] ซึง สามารถที่จ ะ รับ argument ทีส ง ผ่า นมา ่ ่ ่ จาก command line ได้ ตัว อย่า งเช่น public class Sample { public static void main(String args[]) { System.out.println(“My name is ” + args[0] + “ and I am a ” + args[1]); } } ถ้า ป้อ นอิน พุต ตรง command line เป็น java Sample Tommy boy จะได้ผ ลลัพ ธ์ค ือ My name is Tommy and I am a boy
  • 70. สรุป เนื้อ หาของบท คอมเม็น ต์ คือ ข้อ ความทีแ ทรกอยูภ ายในโปรแกรม ่ ่ ซึ่ง คอมไพเลอร์จ ะไม่แ ปลข้อ ความนี้ใ ห้เ ป็น ส่ว น หนึง ของโปรแกรม ่ identifier คือ ชือ ทีต ั้ง ขึ้น ในภาษาจาวา ซึ่ง อาจ ่ ่ เป็น ชื่อ ของคลาส ชื่อ ของ ตัว แปร ชื่อ ของ เมธอด หรือ ชื่อ ของค่า คงที่ ซึง จะต้อ งเป็น ไปตาม ่ กฎการตั้ง ชือ่ การตั้ง ชือ ในภาษาจาวา ่ • สำา หรับ คลาส นิย มขึ้น ต้น ด้ว ยตัว อัก ษรพิม พ์ใ หญ่ • สำา หรับ เมธอดและตัว แปร นิย มขึ้น ต้น ด้ว ยตัว อัก ษร พิม พ์เ ล็ก • ถ้า ชื่อ ที่ต ั้ง ขึ้น มีม ากกว่า 1 คำา นิย มขึ้น ต้น คำา ใหม่ด ้ว ยตัว อัก ษรพิม พ์ใ หญ่
  • 71. สรุป เนื้อ หาของบท คีย เ วิร ์ด คือ ชื่อ ทีม ค วามหมายพิเ ศษในภาษาจาวา ์ ่ ี คอมไพเลอร์ข องภาษา จาวาจะเข้า ใจความ หมายและคำา สัง ทีจ ะต้อ งดำา เนิน การสำา หรับ ่ ่ คีย เ วิร ์ด แต่ล ะตัว ์ ข้อ มูล ค่า คงที่ค ือ คำา ทีใ ช้แ สดงข้อ มูล ทีเ ป็น ตัว เลข ่ ่ ตัว อัก ขระ ข้อ ความ หรือ ค่า ทางตรรกะ ชนิด ข้อ มูล ในภาษาจาวาแบ่ง เป็น สองประเภทคือ ชนิด ข้อ มูล แบบพืน ฐานและชนิด ข้อ มูล แบบอ้า งอิง ้ ชนิด ข้อ มูล แบบพืน ฐานทีใ ช้ใ นภาษาจาวามี ้ ่ ทัง หมด 8 ชนิด คือ ้ char,byte, short,int,long,float,double และ boolean
  • 72. สรุป เนื้อ หาของบท ข้อ มูล ทีเ ก็บ อยูใ นโปรแกรมแบ่ง เป็น สองประเภท ่ ่ คือ ตัว แปรและค่า คงที่ ซึง ตัว แปรคือ ข้อ มูล ที่ ่ สามารถเปลี่ย นแปลงค่า ได้ใ นโปรแกรมโดยใช้ค ำา สั่ง กำา หนดค่า ส่ว นค่า คงทีค ือ ข้อ มูล ทีก ำา หนดค่า ได้ ่ ่ เพีย งครั้ง เดีย วและไม่ส ามารถเปลี่ย นแปลงค่า ได้ ในโปรแกรม ตัว แปรทีม ก ารประกาศชนิด ข้อ มูล แล้ว สามารถที่ ่ ี จะกำา หนดหรือ เปลี่ย นแปลงค่า ได้โ ดยใช้ค ำา สั่ง กำา หนดค่า การประกาศค่า คงทีใ นภาษาจาวาทำา ได้โ ดยการ ่ ใส่ค ีย เ วิร ์ด ์ final หน้า คำา สั่ง ประกาศชื่อ
  • 73. สรุป เนื้อ หาของบท ตัว ดำา เนิน การที่ใ ช้ใ นภาษาจาวามีท ง หมด ั้ 4 แบบ คือ • ตัว ดำา เนิน การทางคณิต ศาสตร์ : +, -, *, /, %, +=, -=, *=, /=, %=, ++ และ -- • ตัว ดำา เนิน การทางตรรกศาสตร์ : <, <=, >, >=, == และ != • ตัว ดำา เนิน การแบบสัม พัน ธ์ : !, &&, &, || และ | • ตัว ดำา เนิน การแบบบิต : ~, &, |, ^, >>, >>> และ << กรณีท น พ จน์ใ ดๆมีต ัว ดำา เนิน การมากกว่า หนึง ตัว ี่ ิ ่ ภาษาจาวาจะจัด ลำา ดับ ความสำา คัญ ของตัว ดำา เนิน การ เพือ คำา นวณหาผลลัพ ธ์ต ามลำา ดับ ความ สำา คัญ ่ ของตัว ดำา เนิน การ
  • 74. สรุป เนื้อ หาของบท ความแตกต่า งระหว่า งการแปลงข้อ มูล โดย อัต โนมัต ิแ ละ Typecasting • การแปลงข้อ มูล โดยอัต โนมัต ิค ือ การที่ช นิด ข้อ มูล ที่ม ี ขนาดเล็ก กว่า ถูก แปลงให้เ ป็น ชนิด ข้อ มูล ที่ม ีข นาดใหญ่ กว่า โดยอัต โนมัต ิ • Typecasting คือ การที่จ ะต้อ งระบุช นิด ข้อ มูล ที่ม ีข นาด ใหญ่ก ว่า ให้ก ับ นิพ จน์ท ี่ม ีช นิด ข้อ มูล ขนาดเล็ก กว่า ชนิด ข้อ มูล แบบอ้า งอิง ซึง ก็ค ือ ออปเจ็ค ในภาษา ่ จาวา โดยแบ่ง ออกเป็น สองแบบคือ ชนิด ข้อ มูล ที่ เป็น คลาส และชนิด ข้อ มูล ทีเ ป็น อะเรย์ ่ ข้อ มูล ทีเ ก็บ ในหน่ว ยความจำา ของชนิด ข้อ มูล แบบ ่ อ้า งอิง จะเป็น ตำา แหน่ง อ้า งอิง ทีเ ก็บ ข้อ มูล ในหน่ว ย ่ ความจำา แต่ใ นกรณีข องชนิด ข้อ มูล แบบพืน ฐาน ้
  • 75. สรุป เนื้อ หาของบท String เป็น ชนิด ข้อ มูล แบบคลาส ไม่ใ ช่ช นิด ข้อ มูล แบบพืน ฐาน ้ คำา สั่ง ทีใ ช้ใ นการแสดงผลลัพ ธ์ข องข้อ มูล ในภาษา ่ จาวาคือ คำา สั่ง System.out.println() เมธอดทีช ื่อ main() จะมี argument เป็น String ่ args[] ซึง สามารถที่จ ะ รับ argument ทีส ง ผ่า นมา ่ ่ ่ จาก command line ได้
  • 76. แบบฝึก หัด แบบฝึก หัด ที่ 1 การประกาศและกำา หนดค่า เริ่ม ต้น ของตัว แปรและค่า คงที่ แบบฝึก หัด ที่ 2 การใช้ค ำา สั่ง กำา หนดค่า และนิพ จน์ • จงเขีย นโปรแกรมภาษาจาวาเพื่อ คำา นวณหาค่า รากที่ สองของสมการ ax2 + bx + c = 0 แล้ว พิม พ์ผ ลลัพ ธ์อ อกทางจอภาพ แบบฝึก หัด ที่3 การเขีย นโปรแกรมเพือ รับ ค่า ่ อิน พุต ผ่า นทาง command line • จงเขีย นโปรแกรมภาษาจาวาเพื่อ คำา นวณหาค่า พื้น ที่ ของวงกลม โดยมีก ารรับ ค่า รัศ มี (radius) เข้า มา แล้ว พิม พ์ผ ลลัพ ธ์ท ี่ไ ด้อ อกทางจอภาพ

×