Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore Computer Programming (Java)

Computer Programming (Java)

Published by SAM PURIWAT, 2022-08-22 10:33:33

Description: เอกสารประกอบการสอนรายวิชา การเขียนโปรแกรมคอมพิวเตอร์ ใช้สำหรับการเรียนการสอนในหลักสูตรการจัดการเทคโนโลยีสารสนเทศ คณะเทคโนโลยีการจัดการ มทร.ศรีวิชัย

Keywords: ่่java,programming,subject

Search

Read the Text Version

เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพิวเตอร (11-413-202) 31  DO-WHILE โครงสรางของคำสั่งจะทำกิจกรรมที่ตองการกอน แลวจึงตรวจสอบ เง่ือนไข ถาเงอ่ื นไขเปนจริง กจ็ ะทำกจิ กรรมน้นั ซ้ำไปเรือ่ ย ๆ แตเมอื่ เงอื่ นไขเปนเท็จ จะหยดุ ทำซ้ำแลวออกจากลปู ไป มีรูปแบบการเขียน เชน โปรแกรมแสดงตัวเลข 1- 10 ดังรูปท่ี 2.10 รปู ที่ 2.10 ตวั อยางผังงานคำส่ัง Do-While  REPEAT-UNTIL (Do-Until) เปนโครงสรางที่จะทำกิจกรรมท่ีตองการกอน แลวจงึ ตรวจสอบเงื่อนไข ถาเงื่อนไขเปนเท็จ กจ็ ะทำกิจกรรมนน้ั ซ้ำไปเรอื่ ย ๆ แตถ าเงอ่ื นไข เปนจริง จะหยุดทำซ้ำแลวออกจากลปู ไป มีรูปแบบการเขียน เชน โปรแกรมแสดง ตวั เลข 1-10 ดงั รูปท่ี 2.11 ____________________________________________________________________________________ เรยี บเรียงโดย: อาจารยภ รู วิ ัฒน เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจัดการ

32 เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพิวเตอร (11-413-202) รปู ที่ 2.11 ตัวอยางผังงานคำสั่ง Repeat-Until  FOR โครงสรา งคำสง่ั จะทำการวนซ้ำโดยรจู ำนวนแนน อน โดยมีการกำหนดคา เรม่ิ ตน และคา สน้ิ สดุ ใหกบั ตัวแปรนบั รอบ มรี ูปแบบการเขียน เชน โปรแกรมแสดงตัวเลข 1- 10 ดงั รูปท่ี 2.12 รูปที่ 2.12 ตวั อยา งผังงานคำสงั่ For ____________________________________________________________________________________ เรียบเรียงโดย: อาจารยภรู วิ ัฒน เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

เอกสารประกอบการสอน วิชาการเขียนโปรแกรมคอมพิวเตอร (11-413-202) 33 2.6 ตวั อยางการเขยี นผังงาน การทำงานหลายอยางในชีวิตประจำวัน จะมีลักษณะที่เปนลำดับขั้นตอนซึ่งสามารถใช สัญลกั ษณของผังงานมาชวยในการอธบิ ายใหไ ดเขา ใจไดงา ยมากข้ึน 2.6.1 จงเขียนผังงานแสดงคำแนะนำการรับประทานยาตามชวงอายขุ องผูปวย โดยมเี งื่อนไขดังนี้  อายุมากกวา 20 ป รับประทานครั้งละ 2 เมด็  อายมุ ากกวา 10-20 ป รบั ประทานครั้งละ 1 เมด็  อายมุ ากกวา 1-10 ป รับประทานครั้วละ ½ เม็ด  แรกเกดิ ถงึ 1 ป หา มรับประทาน จากโจทยตัวอยางเปนลักษะของการเขียนผังงานแบบหลายทางเลือก ซึ่งจะตองทำกา ตรวจสอบเงื่อนไขแตละครั้ง หากเงื่อนไขแรกเปนจริง เชน อายุมากกวา 20 ป จะแสดงผลการ รับประทานยา 2 เมด็ เงอื่ นไขอื่นจะไมถกู ตรวจสอบ ซึง่ หากเง่ือนไขแรกเปนเทจ็ จะทำการตรวจสอบ เงื่อนไขลำดบั ถดั ไป ดังรปู ท่ี 2.13 รปู ที่ 2.13 ผังงานรับประทานยา ____________________________________________________________________________________ เรียบเรียงโดย: อาจารยภ ูรวิ ัฒน เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจัดการ

34 เอกสารประกอบการสอน วชิ าการเขยี นโปรแกรมคอมพวิ เตอร (11-413-202) 2.6.2 จงเขยี นผังงานโปรแกรมการคำนวณคา ลว งเวลาใหก บั พนักงานบรษิ ทั 50 คน โดย กำหนดใหค าทำงานลวงเวลาคดิ เปน ชัว่ โมงละ 300 บาท จากโจทยแสดงใหเ หน็ วา จะตองมกี ารคดิ คาลวงเวลาใหก ับพนกั งานบรษิ ทั 50 คน ดังนั้นการ เขียนผังงานนี้จะเปนการใชผังงานแบบมีการทำงานวนซ้ำในรูปแบบโครงสรางของ FOR เนื่องจาก ทราบจำนวนรอบที่แนนอน คือ 50 รอบ และจะตองนำเขาขอมูลจำนวนชัว่ โมงการทำงานลวงเวลา โดยกำหนดใหต วั แปร name สำหรับเกบ็ ชื่อพนักงาน ตัวแปร hour สำหรับเก็บชัว่ โมงทำงานลว งเวลา ตัวแปร OT สำหรับเก็บคา ลวงเวลา และตัวแปร count สำหรับเปนตัวนำจำนวนรอบการทำงาน ดัง รปู ท่ี 2.14 รูปที่ 2.14 ผังงานคดิ วาลวงเวลาของพนังงาน 50 คน ____________________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภูรวิ ฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจดั การ

เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพิวเตอร (11-413-202) 35 2.6.3 จงเขียนผังงานโปรแกรมการคำนวณคา Commission ของพนักงานบริษัท MT โดย คำนวณจากคา Commission 30% จากยอดขายสินคา 4 ชนิด และแสดงยอดขายรวมกับคา Commission ทัง้ หมดของพนักงานขาย จากโจทยจะเห็นไดวาจะมีสินคาทั้งหมด 4 ชนิดที่จะใชคำนวณคา commission ใหกับ พนักงาน แตโ จทยไมไ ดระบุจำนวนของพนักงานทจี่ ะตองคิดคา commission ดังนนั้ การเขยี นผงั งานน้ี จะเปน ผังงานทม่ี กี ารทำงานวนซำ้ ในรปู แบบโครงสรา งแบบ REPEAT-UNTIL คือ ทำคำส่งั ซำ้ จนกระทง่ั เงื่อนไขเปนจริงจึงหยุดการทำงาน กำหนดใหตัวแปร p1-p4 สำหรับเก็บขอมูลยอดขายสินคาแตละ ประเภท ตวั แปร sum เก็บคา ผลรวมของยอดขายสนิ คา ตวั แปร comm สำหรับเก็บคา commission และตัวแปร total สำหรบั เก็บคา ยอดขายรวมรวมกับคา commission ดงั รปู ที่ 2.15 รปู ท่ี 2.15 ผังงานคิดคา commission ____________________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภ รู วิ ฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจัดการ

36 เอกสารประกอบการสอน วชิ าการเขยี นโปรแกรมคอมพวิ เตอร (11-413-202) จากตัวอยางการเขียนผังงานจะเห็นไดวาสัญลักษณที่ใชในการเขียนผังงานนั้นไมไดใชทุก สญั ลกั ษณท ี่มีในตารางท่ี 2.1 เนอื่ งจากบางสัญลักษณน้นั สามารถใชแทนกันได วัตถปุ ระสงคหลักของ การเขียนผังงาน คือ เปนเครือ่ งมือที่ใชว ิเคราะหขั้นตอนการทำงานของโปรแกรม มองเหน็ ภาพใหญ ของโปรแกรมทั้งหมด กอ นท่จี ะเริ่มการพฒั นาโปรแกรมนน้ั นอกจากน้กี ารเขยี นผงั งานยงั สามารถชว ย ใหสอื่ สารหรืออธบิ ายใหผทู ี่ไมมคี วามรูดานการเขียนโปรแกรมหรอื พัฒนาซอฟตแ วรสามารถเขา ใจการ ทำงานของโปรแกรมไดโ ดยการใชผ ังงาน ____________________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภรู ิวัฒน เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจดั การ

เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพิวเตอร (11-413-202) 37 แบบฝก หดั บทที่ 2 1. จงเขยี นผังงานเพอ่ื คำนวณหาเงินโบนสั ของพนกั งาน จำนวน 30 คน โดยมีเง่ือนไข ดงั น้ี  ถาพนกั งานมีเงินเดือนต้ังแต 50,000 บาท จะใหโ บนสั เทากับ 2 เทา ของเงินเดือน  ถาพนกั งานมีเงินเดอื นนอ ยกวา 50,000 บาท จะใหโบนสั เทา กบั 3 เทาของเงนิ เดือน ใหส ะสมเงินโบนัสรวมของพนกั งานทัง้ หมด 2. จงเขยี นผังงานเพ่ือคำนวณหาผลการเรยี นใหก บั นกั ศกึ ษา 10 คน โดยผลการเรยี นจะคิดจาก คะแนนงาน คะแนนสอบกลางภาค และคะแนนสอบปลายภาค กำหนดเง่ือนไขการคดิ ผลการ เรยี น ดงั นี้  ถา คะแนนรวมเปน 80 – 100 ใหเกรด A  ถาคะแนนรวมเปน 75 – 79 ใหเ กรด B+  ถาคะแนนรวมเปน 70 – 74 ใหเ กรด B  ถาคะแนนรวมเปน 65 – 69 ใหเ กรด C+  ถาคะแนนรวมเปน 60 – 64 ใหเกรด C  ถา คะแนนรวมเปน 55 – 59 ใหเ กรด D+  ถาคะแนนรวมเปน 50 – 54 ใหเ กรด D  ถา คะแนนรวมเปน 0 – 49 ใหเ กรด F 3. จงวิเคราะหและเขยี นผังงาน เพื่อคำนวณรายไดสุทธิของพนักงาน จากขอมูลจำนวนชั่วโมง และอตั ราคา จา งตอ ชั่วโมง โดยมีเงอื่ นไขดงั น้ี  ถาเงินรายไดน อ ยกวา 20,000 บาท ไมต อ งเสียภาษี  สว นที่เกนิ 20,000 บาท แตไมเกนิ 50,000 บาท เสยี ภาษีรอยละ 8  สว นท่ีเกิน 50,000 บาทเสยี ภาษีรอยละ 12 ____________________________________________________________________________________ เรยี บเรียงโดย: อาจารยภ รู วิ ฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจัดการ

38 เอกสารประกอบการสอน วิชาการเขยี นโปรแกรมคอมพิวเตอร (11-413-202) วิธีการสอนและกจิ กรรม 1. สอนแบบบรรยายโดยใชส อื่ ประกอบการสอน 2. ใหน ักศกึ ษามสี ว นรวมในกจิ กรรมระหวางการเรยี นการสอนโดยใชว ธิ กี ารถาม-ตอบ 3. ฝกปฏิบัติการเขยี นผงั งานสำหรบั โปรแกรมคอมพวิ เตอร เอกสารประกอบ เอกสารประกอบการสอน บทที่ 2 การเขยี นผงั งานสำหรบั การเขยี นโปรแกรมคอมพวิ เตอร สื่อการสอน สอ่ื ประกอบการสอน ไฟลนำเสนอ power point บทที่ 2 การเขียนผงั งาน สำหรับการเขียนโปรแกรมคอมพิวเตอร โสตทัศนวสั ดุ เครอ่ื งฉายโปรเจคเตอร งานทม่ี อบหมาย 1. ศึกษาการใชสัญลักษณต า ง ๆ ในการเขยี นผังงานสำหรบั การเขยี นโปรแกรมคอมพิวเตอร 2. แบบฝก หัดวิเคราะหและการเขยี นผงั งานสำหรับการเขยี นโปรแกรมคอมพิวเตอร การวัดผล 1. สังเกตพฤตกิ รรมการเรยี นในหอ งเรยี น 2. สังเกตพฤตกิ รรมการมสี ว นรว มในกจิ กรรมระหวางการเรียนการสอนในการถาม-ตอบ 3. ตรวจงานทม่ี อบหมาย 4. ทดสอบตามจดุ ประสงคก ารสอน บันทกึ การสอนและขอ สงั เกต …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… ____________________________________________________________________________________ เรียบเรียงโดย: อาจารยภูริวัฒน เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจัดการ

เอกสารประกอบการสอน วิชาการเขียนโปรแกรมคอมพวิ เตอร (11-413-202) 39 สปั ดาหท่ี 3 ใบเตรยี มการสอน เวลา 4 ชั่วโมง บทท่ี 3 ภาษา Java และเคร่ืองมอื ในการเขยี นโปรแกรม 3.1 ความเปน มาของภาษา Java 3.2 โครงสรา งภาษาจาวา 3.3 เครือ่ งมอื ในการเขียนโปรแกรม จุดประสงคการสอน 3.1 มีความรูเกย่ี วกบั ความเปนมาและโครงสรางของภาษา Java 3.2 สามารถตดิ ตง้ั เครือ่ งมือทใ่ี ชใ นการเขียนโปรแกรมภาษา Java 3.3 สามารถสรา งโปรเจค แพค็ เกจ และไฟล ทใ่ี ชในการเขียนภาษา Java ____________________________________________________________________________________ เรยี บเรียงโดย: อาจารยภรู วิ ัฒน เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

40 เอกสารประกอบการสอน วิชาการเขยี นโปรแกรมคอมพวิ เตอร (11-413-202) บทที่ 3 ภาษา Java และเครือ่ งมือในการเขยี นโปรแกรม ในปจจุบันภาษาคอมพิวเตอรและเครื่องมือที่ใชในการเขียนโปรแกรมมีอยูมากมาย ภาษาคอมพิวเตอรที่ไดรับความนิยมเปนอันดับตน ๆ คือ Java ในบทนี้จะกลา วถึงความเปนมาของ ภาษา Java และการตดิ ต้ังเคร่อื งมอื ทใ่ี ชในการเขียนโปรแกรมดว ยภาษา Java ดังน้ี 3.1 ความเปนมาของภาษา Java รปู ที่ 3.1 สัญลกั ษณภาษา Java แหลงท่ีมา: https://www.unixmen.com/install-oracle-java-jdk-8-centos-76-56-4/ Java เปนโปรแกรมภาษาที่ถูกพัฒนามาเพื่อรองรับการออกแบบซอฟแวรที่มีการเชื่อมโยง Internet อีกทั้งยังเปนภาษาโปรแกรมที่สนบั สนุนแนวคิดการเขียนโปรแกรมเชงิ วัตถุ (OOP : Object- Oriented Programming) และถูกออกแบบมาใหพรอมสำหรับการใชงานมากทีส่ ดุ ซึ่งมีเมธอดและ คลาสตา ง ๆ อำนวยความสะดวกใหใชม ากมาย โดยภาษา Java น้ันมีความตง้ั ใจวาจะทำใหนักพัฒนา ออกแบบและพัฒนาโปรแกรมนอยลง นั่นคือการเขียนเพียงคร้ังเดียว แตนำไปใชงานไดทุกท่ีหรือทกุ แพลตฟอรม แอพพลเิ คชั่นของภาษา Java นนั้ โดยปกตแิ ลว จะคอมไพลเ ปน bytecode ท่ีสามารถรัน ไดใน Java virtual machine (JVM) ข้ึนกับสถาปต ยกรรมของคอมพวิ เตอรน้นั ๆ ____________________________________________________________________________________ เรยี บเรียงโดย: อาจารยภ ูรวิ ัฒน เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

เอกสารประกอบการสอน วชิ าการเขยี นโปรแกรมคอมพิวเตอร (11-413-202) 41 รูปที่ 3.2 10 อนั ดบั ภาษาคอมพิวเตอร 2018 แหลง ท่ีมา: https://www.techtalkthai.com/ieee-reveals-top-10-popular-programming- languages-2018/ ภาษา Java นั้นพัฒนาโดย James Gosling ที่บริษัท Sun Microsystems (ปจจุบันถูกซื้อ กิจการเปน Oracle Corporation) และเปดตัวครั้งแรกเมื่อป 1995 โดยภาษานั้นไดรับรูปแบบจาก ภาษา C และ C++ แตภาษา Java ถือวาเปนภาษาระดบั สูงกวาภาษาทงั้ สอง ตน กำเนิดการอางอิงใน การพัฒนาของ Java compiler virtual machines และคลาสไลบรารีในตอนตนนั้นถูกเผยแพรโดย Sun ภายใตลิขสิทธใ์ิ นป 2007 ในการปฏบิ ตั ิตามกับขอ ระบุของ Java Community Process Sun ได จดทะเบยี นใหมใ นเทคโนโลยีของ Java เปน จำนวนมากภายใต GNU General Public License และ การพัฒนาเทคโนโลยอี น่ื ๆ เชน GNU Compiler for Java (bytecode compiler) GNU Classpath (ไลบรารี่มาตฐาน) และ IcedTea-Web เวอรช่ันลาสุดของ Java คือ เวอรชั่น 12 ที่สนับสนุนโดย Oracle ____________________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภูริวฒั น เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

42 เอกสารประกอบการสอน วิชาการเขียนโปรแกรมคอมพวิ เตอร (11-413-202) รูปท่ี 3.3 10 James Gosling แหลงที่มา: http://nighthacks.com/jag/bio/index.html วตั ถุประสงคในการออกแบบภาษา Java คือ โปรแกรมท่ีเขยี นในภาษา Java จะตอ งสามารถ ทำงานไดกับฮารดแวรแ ละระบบปฏบิ ตั ิการที่ไดรับการสนับสนุนจาก Java Runtime ซึ่งไดจากการ คอมไพลโ คด ของ Java ใหอ ยูในรูปแบบการแสดงผลระดับกลางทเ่ี รยี กวา Java bytecode แทนการ แปลงไปยังภาษาเครื่องโดยตรง คำสั่งของ Java bytecode นั้นคลายคลึงกับภาษาเครื่อง แตจะ ทำงานโดย Virtual Machine (VM) ท่เี ขยี นเฉพาะสำหรบั ฮารด แวรแตล ะประเภท โดยปกตผิ ูใ ชทั่วไป จ ะ ใ ช Java Runtime Environment (JRE) ท ี ่ ต ิ ด ต ั ้ ง ใ น เ คร ื ่ อ ง ส ำ ห ร ั บ Standalone Java applications หรอื ในเวบ็ เบราวเซอรสำหรบั Java applets นอกจากน้ี ภาษา Java ยังมีไลบราร่ีมา ตฐานในการพัฒนาแอพพลเิ คชั่นในเร่อื ง Graphics threading และ networking ____________________________________________________________________________________ เรยี บเรียงโดย: อาจารยภ ูรวิ ัฒน เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

เอกสารประกอบการสอน วิชาการเขียนโปรแกรมคอมพวิ เตอร (11-413-202) 43 3.2 โครงสรางของภาษา Java ในหวั ขอ นจ้ี ะกลา วถึงโครงสรา งพน้ื ฐานของภาษา Java และรูปแบบตา ง ๆ ในการใชง านของ ภาษา โดยจะเรมิ่ ตนจากโปรแกรม Hello World Program รูปท่ี 3.4 โปแกรม Hello World รปู ที่ 3.5 ผลการรนั โปแกรม Hello World ในการสรางคลาส ชื่อไฟลจะตองตรงกันกับคลาสในโปรแกรมเชน ตัวอยางคลาสมีชื่อวา HelloWorld ไฟลโปรแกรมจะตอ งมีชื่อวา HelloWorld.java เมื่อรนั โปรแกรมใน IDE จะไดผลลัพธ ดงั รปู ท่ี 3.5 จากตวั อยา งของโปรแกรมมีสวนประกอบทีส่ ำคัญดงั น้ี  Package เปน กลุม ของคลาสหรือไลบรารม่ี าตรฐานของภาษา Java ทม่ี ฟี ง กชันตาง ๆ ใหใช มากมาย เชน Scanner จะมฟี ง กช ันสำหรบั รับขอ มลู จากผูใช ซึ่งเนอื้ หาจะอยูในบทตอ ไป  Class ในสวนของการประกาศคลาส จะตองประกาศคลาสใหชื่อตรงกับไฟลเสมอ นอกจาก Inner คลาสท่อี ยูในคลาสเดยี วกัน โดยชอื่ คลาสน้นั ควรจะข้ึนตนดวยตัวใหญ และถามีหลาย คำใหใ ชต วั พิมพใ หญ เชน public class ClassName { ... } ____________________________________________________________________________________ เรียบเรยี งโดย: อาจารยภ ูริวฒั น เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจดั การ

44 เอกสารประกอบการสอน วชิ าการเขยี นโปรแกรมคอมพิวเตอร (11-413-202)  Method หลงั จากสรา งคลาสแลว จะเปนการประกาศเมธอดภายในคลาส โดยในการที่จะรัน โปรแกรมไดจ ะตอ งมเี มธอดทช่ี ือ่ วา Main ดังตัวอยางในโปรแกรม HelloWorld ซึ่งเปนทแ่ี รก ทโี่ ปรแกรมจะเรมิ่ ทำงาน public static void main (String [] args) { ... }  Statements เปนคำสั่งของโปรแกรมเพื่อใหโปรแกรมทำงานตามตองการ เชน System.out.println(\"Hello World!\"); เปนการแสดงผลขอความออกทางหนาจอ โดยปกติ โปรแกรมมกั จะมหี ลายคำส่งั  Comment คือ การระบุขอความสำหรับการอธิบายการทำงานของโปรแกรม หรือการ ทำงานของเมธอด การใสเครือ่ งหมายคอมเมนตนั้นจะเปนคำสั่งที่ไมมีผลตอการทำงานของ โปรแกรม และคอมไพเลอรจ ะเพกิ เฉยตอคอมเมนต การคอมเมน ตม สี องแบบคอื Single line และ Multiline โดยแบบ Single line ใชเครื่องหมาย // และตามสิ่งที่ตองการคอมเมนต และสำหรับการคอมเมนตแบบหลายบรรทัดใชเ ครอ่ื งหมาย /* ตามดว ยคอมเมน ต และส้นิ สดุ ที่ */ // Single line comment /* Multiline comment1 Multiline comment2 */  Semicolon ทุกคำสั่งการทำงานของโปรแกรมในภาษา Java จะจบดวยเครื่องหมาย Semicolon (;) น่นั หมายความวาคอมไพเลอรจ ะทราบอตั โนมัตวิ า สน้ิ สุดคำสั่งทไี่ หน เชน ____________________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภรู ิวฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจดั การ

เอกสารประกอบการสอน วิชาการเขยี นโปรแกรมคอมพวิ เตอร (11-413-202) 45 int a = 1; int b = 2; int c = 3; System.out.println( a+b+b );  White space ในภาษา Java สามารถใช White space ไดอยางอิสระ โดย White space จะประกอบไปดวย Space bar Tab และ Enter (return) เพราะวาคอมไพเลอรตรวจการ สิน้ สดุ ของคำส่ังดว ย Semicolon (;) การใช while space ทำใหโคด อานเขาใจงา ย และเปน ระเบยี บ เชน int x = 1; int y=2; int z = 3;  Literals คือคาของขอมูลใด ๆ ที่กำหนดใหกับตัวแปรได เรียกวา Constant Literals ทุก คาที่เปนไปได เชน \"Computer Programming\" เปน String Literals 10 เปน Integer Literals หรือ true เปน Boolean Literals โดย Literals เปนไดแค Primitive data type เทา น้นั int age = 18; String subject = \"Computer Programming\"; float pi = 3.14f; double money = 45.2;  Expressions เปนการกระทำระหวางตัวแปรกับตัวดำเนินการเพื่อใหไดผลลัพธใหม เชน 4 + 3 เปน expression ของการบวกเลขและไดผลลัพธเทากับ 7 หรือ 1 == 1 เปน expression ของการเปรียบเทียบระหวางคาสองคาหากเทากันจะไดผลลัพธเปน true สำหรบั เน้อื หาเกยี่ วกับตัวดำเนนิ การจะอยูในบทตอไป ____________________________________________________________________________________ เรียบเรยี งโดย: อาจารยภรู วิ ฒั น เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจัดการ

46 เอกสารประกอบการสอน วชิ าการเขยี นโปรแกรมคอมพวิ เตอร (11-413-202) 3.3 เครื่องมือในการเขียนโปรแกรม กอ นจะเร่มิ ตนเขยี นโปรแกรมภาษา Java จะตอ งทำการเตรียมเครอ่ื งคอมพิวเตอรใ หพ รอ มใน การเขยี นโปรแกรม นัน่ คอื การตดิ ตง้ั JDK หรอื Java Development Kit ซ่งึ กค็ อื ชดุ เคร่ืองมือท่ีใชใน การพัฒนาโปรแกรมดว ยภาษา Java เวอรชั่นลาสดุ ของ JDK เวอรชั่น 12 แตในเอกสารนี้จะใช JDK เวอรช ่ัน 8 ในการเขียนโปรแกรม สามารถดาวนโ หลดไดจ าก URL ดา นลา ง  https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads- 2133151.html เมอ่ื เขาเว็บไซตแ ลว เลอื่ นลงมาดา นลางเลือก Accept License Agreement จากน้ันใหเลือก ดาวนโ หลด JDK ท่ตี รงกบั ระบบปฏิบัตกิ ารท่ใี ชอยูตามรปู ที่ 3.6 หลังจากติดตง้ั โปรแกรมแลวจะทำให เราสามารถพัฒนาโปรแกรมดวยภาษา Java ได สำหรับ Window 32 bit สำหรบั Window 64 bit รูปท่ี 3.6 JDK 8 สำหรบั Window OS หลงั จากติดตง้ั โปรแกรมแลว สามารถตรวจสอบไดตามรปู ที่ 3.7 จะแสดง JDK เวอรช่ันทตี่ ิดต้ัง ไวซ่ึงแสดงวา สามารถพฒั นาโปรแกรมดว ยภาษา Java ได ____________________________________________________________________________________ เรียบเรียงโดย: อาจารยภูริวัฒน เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจดั การ

เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพิวเตอร (11-413-202) 47 รปู ท่ี 3.7 Path JDK ใน Window OS สำหรับขั้นตอนตอไปคือการติดตั้งเครื่องมือที่ชวยในการพัฒนาโปรแกรม (Integrated Development Environment: IDE) ที่ใชในการเขียนโปรแกรมซึ่งปจ จุบันมีหลากหลายมากมายให เลือกใช ในท่ีน้ีจะเลือก IDE ที่ชื่อ IntelliJ IDEA Community สามารถดาวนโหลดไดจาก URL ดา นลาง  https://www.jetbrains.com/idea/download/#section=windows รปู ท่ี 3.8 ดาวนโ หลด IntelliJ IDEA Community เมอ่ื ตดิ ตง้ั โปรแกรมเสรจ็ เรียบรอ ยแลวข้นั ตอนตอ ไปจะเปนการสรางโปรเจคสำหรับการเขียน โปรแกรมตามรปู ท่ี 3.9 ____________________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภูรวิ ัฒน เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจัดการ

48 เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพวิ เตอร (11-413-202) รปู ที่ 3.9 การสรางโปรเจคใหม รปู ท่ี 3.10 เลอื กประเภทโปรเจค และ Project SDK จากรูปที่ 3.10 เลอื กประเภทโปรเจคเปน Java และเลือก Project SDK เปน JDK 8 ท่ตี ดิ ต้ัง ไวกอนหนาน้ี จากนัน้ กดปุม Next ____________________________________________________________________________________ เรยี บเรียงโดย: อาจารยภ ูริวัฒน เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจัดการ

เอกสารประกอบการสอน วิชาการเขยี นโปรแกรมคอมพิวเตอร (11-413-202) 49 รปู ท่ี 3.11 โปรเจค Template จากรูปท่ี 3.11 เปน การสรา งโปรเจคจาก Template ในทีน่ ี้จะไมใ ช Template จากนั้นกด ปุม Next รปู ท่ี 3.12 การตงั้ ช่อื โปรเจคและตำแหนงจัดเกบ็ ไฟล ขั้นตอนตอไปเปนขั้นตอนทีส่ ำคญั คือ เปนการตั้งชื่อโปรเจคและตำแหนง ท่ีเก็บไฟลโปรเจค จากตัวอยา งในรปู ท่ี 3.12 ตั้งช่อื โปรเจคเปน myProject และเกบ็ ไฟลโ ปรเจคไวท ่ไี ดรฟ E: จากนั้นกด ____________________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภูรวิ ัฒน เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจดั การ

50 เอกสารประกอบการสอน วิชาการเขียนโปรแกรมคอมพิวเตอร (11-413-202) ปุม Finish เพื่อให IDE สรางโฟลเดอรที่มีชื่อเดียวกับชื่อโปรเจคแบบอัตโนมัติและสรางโปรเจค โฟลเดอร รูปที่ 3.13 โครงสรางโปรเจค เม่ือ IDE สรางไฟลตา ง ๆ ทใ่ี ชสำหรับโปรเจคเรยี บรอ ยแลวจะแสดงโครงสรางโปรเจคดงั รปู ท่ี 3.13 ซ่งึ ประกอบไปดว ย 2 สวนสำคญั คอื โฟลเดอร src ซึ่งเปน โฟลเดอรท ี่ใชใ นการเกบ็ ไฟลโปรแกรม ของโปรเจคทัง้ หมด และ External Libraries ก็คือไฟลไลบราร่ีที่ใชในการรันโปรเจคน้ี ในทีน่ ค้ี ือ Java JDK 8.0 รูปท่ี 3.14 การสรา ง Package ____________________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภ ูริวฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจัดการ

เอกสารประกอบการสอน วชิ าการเขยี นโปรแกรมคอมพวิ เตอร (11-413-202) 51 รปู ที่ 3.15 การต้ังช่อื Package ข้ันตอนตอ ไปคอื การสราง Package ซ่งึ เปรยี บเสมอื นเปนโฟลเดอรยอ ยในโฟลเดอร src โดย การจดั หมวดหมูห รือแบง แยกกลมุ ของคลาสใหเ ปนกลุมๆ ซึง่ เรยี กวา namespaces เพอ่ื ใหง ายตอ การ ใชงานในการเขียนโปรแกรม หรือการทำใหโ ครงสรางของโปรแกรมมีระเบยี บเชนในรูปท่ี 3.14-3.15 ซ่ึงต้ังช่อื Package เปน example อกี นัยหน่งึ Package เหมือนคลาสไลบรารที่ ่ีเกบ็ แยกไวเปนสวนๆ เพื่อใหงายตอการใชงานและในภาษา Java ก็มี Package ตาง ๆ ที่จำเปนใหใชมากมาย นอกจากนี้ package ยงั สามารถจัดเกบ็ ในรูปแบบของ compressed file ได ซึ่งจะไฟล extension เปน jar ไฟล รูปท่ี 3.16 การสรางไฟล Java Class รปู ที่ 3.17 การตงั้ ชอ่ื Java Class จากรปู ที่ 3.16-3.17 เปนขน้ั ตอนการสรา ง Java Class ขึ้นใน Package example ทีส่ รางไว กอ นหนา นี้ โดยต้งั ชอื่ คลาสเปน HelloWorld ซึ่งจะไดไ ฟลท่ีชือ่ วา HelloWorld.java ทีใ่ ชส ำหรบั การ ____________________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภ ูริวฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจัดการ

52 เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพิวเตอร (11-413-202) เขยี นโปรแกรมเน่ืองจากชอ่ื คลาสและช่ือไฟลจะเปน ช่อื เดยี วกนั เสมอตามท่กี ลา วไปแลวขางตน ดงั รปู ที่ 3.18 รูปท่ี 3.18 ไฟล HelloWorld.java เมื่อสรางคลาส HelloWorld เรียบรอยแลวในไฟล HelloWorld.java จะแสดงใหเห็นวา คลาสนี้อยูใน Package ใด ในตัวอยางนี้จะทำการเพ่ิมเมธอด main เขาไปในคลาสเพื่อใชในการรัน โปรแกรม และเพ่ิมคำสั่งการแสดงผลคอื System.out.println(“Hello Wrold”); เพื่อพิมพขอความ ออกทางหนาจอตามตัวอยางในรูปท่ี 3.19 รปู ท่ี 3.19 การเพ่ิมคำส่ังในไฟล HelloWorld.java โดยทั่วไป IDE จะมีวิธีการรันโปรเจคทัง้ โปรเจค หมายถึง ไฟลทุกไฟลทีอ่ ยูในโปรเจคจะเริ่ม ทำงานจากเมธอด main แตในที่นี้จะเปนการเลือกรันเฉพาะไฟลที่ตองการเทานั้น ในการรันไฟล สามารถทำได 2 วิธี คือ คลิกขวาไฟลที่ตองการรนั แลวเลือกเมนู Run “FileName.main()” หรือใช short key คือ Ctrl+Shift+F10 ตามตัวอยางในรปู ท่ี 3.20 ____________________________________________________________________________________ เรียบเรยี งโดย: อาจารยภรู วิ ัฒน เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจัดการ

เอกสารประกอบการสอน วชิ าการเขยี นโปรแกรมคอมพิวเตอร (11-413-202) 53 รูปท่ี 3.20 การรนั โปรแกรม เมื่อโปรแกรม IDE รันโปรแกรมแลวจะแสดงใหเ ห็นผลลัพธจากโปรแกรมที่เขียนไวดานลาง ของ IDE ดังรปู ท่ี 3.21 ____________________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภูรวิ ัฒน เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

54 เอกสารประกอบการสอน วิชาการเขียนโปรแกรมคอมพิวเตอร (11-413-202) รปู ท่ี 3.21 ผลลพั ธการรนั โปรแกรม นอกจากการแสดงผลลพั ธจ ากการรนั โปรแกรมแลว ในกรณีทโี่ ปรแกรมของเรามขี อ ผดิ พลาด IDE จะแสดงใหเห็นถงึ ขอ ผิดพลาดน้นั และบอกตำแหนง หรอื หมายเลขบรรทัดท่เี กดิ ขอ ผดิ พลาด ซง่ึ จะ ชวยใหผูพฒั นาสามารถแกไขโปรแกรมไดอ ยา งถกู ตอ งและรวดเรว็ ____________________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภูรวิ ฒั น เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

เอกสารประกอบการสอน วิชาการเขยี นโปรแกรมคอมพิวเตอร (11-413-202) 55 แบบฝกหดั บทท่ี 3 1. สรางแพค็ เกจ (package) โดยตั้งชอื่ เปน Test และสรา งคลาสชือ่ myProfile พรอมท้งั สรา งเมธอด main(); จากนั้นใหนักศึกษาทดลองเปลี่ยนชื่อคลาสจากเดิมเปน myPortfolio สักเกตขอผิดพลาด และอภปิ รายผล 2. ใหนกั ศกึ ษา ศึกษาวิธีการตั้งคาการใชงาน Intellij เชน การปรับเปลี่ยนตัวอกั ษร การปรับเปลย่ี นสี ของสวนแสดงผล พน้ื ทสี่ ำหรับเขียนโปรแกรม และธีมของโปรแกรม Intellij อธบิ ายวธิ กี ารตั้งคาและ อภปิ รายผล 4. ใหนักศึกษา ศึกษาการติดตั้งและการจัดการ plugin เพิ่มเติมในโปรแกรม Intellij จากนั้นให นักศึกษาเลอื ก plugin สำหรับติดตั้ง 2 plugin ติดตั้ง plugin ขางตน อธิบายคุณสมบัติของ plugin และการเปลี่ยนแปลงสำหรับการใชงานโปรแกรม plugin ____________________________________________________________________________________ เรียบเรียงโดย: อาจารยภ รู วิ ฒั น เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจดั การ

56 เอกสารประกอบการสอน วิชาการเขียนโปรแกรมคอมพิวเตอร (11-413-202) วธิ กี ารสอนและกิจกรรม 1. สอนแบบบรรยายโดยใชส ่อื ประกอบการสอน 2. ใหน ักศกึ ษามสี ว นรวมในกจิ กรรมระหวา งการเรียนการสอนโดยใชว ิธกี ารถาม-ตอบ 3. ปฏิบตั ิการตดิ ตง้ั เครื่องมือสำหรบั การเขียนโปรแกรมและทดลองเขยี นโปรแกรมเบอ้ื งตน เอกสารประกอบ เอกสารประกอบการสอน บทที่ 3 ภาษา Java และ เครอ่ื งมอื ในการเขยี นโปรแกรม สอื่ การสอน สอ่ื ประกอบการสอน ไฟลนำเสนอ power point บทท่ี 3 ภาษา Java และ เครอื่ งมอื ในการเขยี นโปรแกรม โสตทัศนวสั ดุ เคร่ืองฉายโปรเจคเตอร งานทม่ี อบหมาย 1. ศึกษาความเปน มาของภาษา Java 2. ศึกษาโครงสรา งของภาษา Java 3. ตดิ ต้ัง Java JDK 8 และ โปรแกรม Intellij Community Edition สำหรบั การเขียนโปรแกรม การวัดผล 1. สังเกตพฤตกิ รรมการเรยี นในหอ งเรียน 2. สังเกตพฤตกิ รรมการมสี วนรว มในกจิ กรรมระหวางการเรยี นการสอนในการถาม-ตอบ 3. ตรวจงานทม่ี อบหมาย 4. ทดสอบตามจดุ ประสงคก ารสอน บันทึกการสอนและขอสังเกต …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… ………………………………………………………………………………… ____________________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภรู ิวฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจดั การ

เอกสารประกอบการสอน วชิ าการเขยี นโปรแกรมคอมพวิ เตอร (11-413-202) 57 สปั ดาหท่ี 4 ใบเตรยี มการสอน เวลา 2 ชวั่ โมง บทที่ 4 การรับและการแสดงผลขอ มูล 4.1 การแสดงผลขอมูลดว ยภาษาจาวา 4.2 การรบั ขอมลู ดวยภาษาจาวา จดุ ประสงคการสอน 1.1 เขา ใจโครงสรางของคำส่ังแสดงผลและสามารถประยุกตใชค ำส่งั ไดอยา งถูกตอง 1.2 เขาใจโครงสรางของคำสัง่ รับขอ มลู และการใชง านคำส่ังไดอ ยา งถูกตอง ____________________________________________________________________________________ เรยี บเรียงโดย: อาจารยภ รู วิ ัฒน เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

58 เอกสารประกอบการสอน วิชาการเขียนโปรแกรมคอมพิวเตอร (11-413-202) บทที่ 4 การรับและการแสดงผลขอมลู สิ่งที่สำคัญที่สุดในการเขียนโปรแกรมนั้น คือ โปรแกรมจะตองสามารถติดตอสื่อสารกับ ผูใชงานได ซึ่งจะมี 2 ลักษณะ คือ Input เปนการรับขอมูลมาจากผูใชแลวนำมาประมวลผลใน โปรแกรม และ Output เปน การสง ขอ มลู กลับและแสดงผลใหก บั ผใู ช ในหัวขอตอไปนจ้ี ะเปนเนื้อหา เกย่ี วกับการรบั คาขอมลู จากคียบ อรดและการแสดงผลทางหนาจอของคอมพวิ เตอร ดงั ตอไปน้ี 4.1 การแสดงผลขอ มูล (Output) การแสดงผลขอ มูลท่งี า ยท่สี ดุ ในการเขียนโปรแกรมภาษา Java ก็คือสามารถใชเ มธอดตอ ไปนี้ // display a text on the console System.out.print() /* display a text on the console then add the line after get displayed */ System.out.pritnln() ทั้งสองเมอธอดนี้ใชเพือ่ แสดงผลขอความ ตัวเลข และคาอื่น ๆ ได สิ่งที่แตกตางกันของสอง คำสงั่ นี้คือ เมธอด System.out.pritnln() เมอ่ื แสดงขอ ความแลวจะมีการขึน้ บรรทดั ใหม ดังรปู ที่ 4.1 ____________________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภรู ิวัฒน เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจัดการ

เอกสารประกอบการสอน วิชาการเขยี นโปรแกรมคอมพิวเตอร (11-413-202) 59 รปู ที่ 4.1 ตัวอยางคำส่งั แสดงผล จากตวั อยางโปรแกรมเปน การแสดงผลโดยใชเ มธอดท้งั สองในการแสดงขอมลู ประเภทตา ง ๆ จะเห็นวา หลังจากแสดงคำวา “Computer Programming” โปรแกรมจะไมข ึน้ บรรทดั ใหมเ พราะการ ทำงานของเมธอด System.out.pritnt() ซ่ึงจะไดผ ลลัพธดังรปู ท่ี 4.2 รปู ท่ี 4.2 ผลการันโปรแกรมตัวอยางคำส่ังแสดงผล แตใ นภาษา Java นั้น ตัวอักษรบางตวั ไมส ามารถใชเ พื่อแสดงผลในรปู แบบทัว่ ไปได เนื่องจาก ตัวอักษรนั้นถูกนำไปใชสำหรับรูปแบบในภาษา หรือไมเหมาะสมที่จะนำมาใชโดยตรง จึงไดมีการ กำหนดสัญลักษณที่เรียกวา Escape Sequence ขึ้นมาทดแทนเพื่อใหสามารถนำไปใชไดแ สดงตาม ตารางท่ี 4.1 ____________________________________________________________________________________ เรยี บเรียงโดย: อาจารยภูรวิ ฒั น เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจดั การ

60 เอกสารประกอบการสอน วชิ าการเขยี นโปรแกรมคอมพวิ เตอร (11-413-202) ตารางท่ี 4.1 Escape Sequence Escape Sequence ชื่อเรยี ก คำอธิบาย \\t Tap [Tap] เลื่อนตำแหนงไปทางขวา 1 ชวงแท็บ \\b Backspace [Backspace] ลบไปทางซา ย \\n Newline [Newline] ขึ้นบรรทัดใหม \\r Carriage [Enter] ตรวจสอบการกด Enter (Return) และการ เล่ือนขนึ้ บรรทัดใหมของหนา ระดาษ \\f FormFeed [Formfeed] เลือ่ นกระดาษไปอกี 1 หนา \\’ Single Quote [‘] เติมเครอ่ื งหมาย ‘ \\” Double Quote [“] เตมิ เคร่ืองหมาย “ \\\\ Backslash [\\] เติมเคร่อื งหมาย \\ (Backslash) จากตาราง 4.1 สัญลักษณตา ง ๆ สามารถนำมาใชรว มกนั ไดก ับเมธอดในการแสดงผล เชน \\n ใชส ำหรบั ขึน้ บรรทัดใหม หรอื \\t สำหรับเลอื่ นไปทางขวา 1 แท็บ ตวั อยา งการใช Escape Sequence แสดงในรปู ที่ 4.3 รปู ที่ 4.3 ตัวอยางการใช Escape Sequence ในตัวอยางขางตนมีการใชสัญลักษณ “+” ซึ่งในคลาส String จะเรียกกวา String Concatenation หรือการตอ String จะมีอยู 2 วิธี คือใช “+” และเมธอด concat() เชน จาก ตวั อยา งเม่อื ทำการรันโปรแกรมจะไดผ ลลัพธดงั รูปท่ี 4.4 ____________________________________________________________________________________ เรียบเรียงโดย: อาจารยภ รู วิ ฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจัดการ

เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพิวเตอร (11-413-202) 61 รปู ท่ี 4.4 ผลการรนั โปรแกรมตัวอยางการใช Escape Sequence 4.2 การรับขอมลู (Input) การรับขอ มูลจากผใู ชผานทางคยี บอรด ของคอมพวิ เตอรโ ดยภาษา Java นัน้ มีอยูด ว ยกนั หลาย วิธี หนึ่งในวิธีที่ชวยอำนวยความสะดวกในการรับขอ มูล คือ การใชคลาส Scanner หนึ่งในไลบลาร่ี ของ JDK ทใ่ี ชสำหรับรับขอมูลจากคยี บ อรด ตวั อยางการใชง านดังรปู ท่ี 4.5 รูปที่ 4.5 ตัวอยา งการรบั ขอ มูลจากคียบอรด ____________________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภูริวฒั น เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจดั การ

62 เอกสารประกอบการสอน วชิ าการเขยี นโปรแกรมคอมพวิ เตอร (11-413-202) จากตัวอยา งผใู ชจ ะกรอกช่อื และเลขจำนวนเตม็ ที่ชอบ และโปรแกรมจะแสดงขอความ ทักทายดวยชื่อของผใู ชง านท่นี ำเขา ขอมลู ไปเกบ็ ไวใ นตวั แปร name และแสดงเลขทผี่ ใู ชง านชอบจาก ตวั แปร number การจะใชงานคลาส Scanner จะตอ งทำการ import package library ของภาษา Java เขา มายงั โปรแกรม โดยใชค ำสงั่ import java.util.Scanner; ทำการสรางออบเจ็คของคลาส Scanner เพื่อใชง านเมธอดที่อยใู นคลาสและโดยการกำหนด อากิวเมนต System.in สำหรบั การรบั คาจากคียบ อรด ดว ยคำสง่ั Scanner input = new Scanner(System.in); จากนั้นจึงใชเมธอด input.next(); ในการอานคาชื่อเขามายังตัวแปร name และอานคา ตัวเลขจำนวนเตม็ ดว ยเมธอด input.nectInt(); มาเกบ็ ไวในตัวแปร number ในการรับคา นน้ั เม่ือผูใช กดปุม Enter จะเปน สนิ้ สดุ การรบั คา ขอมูลของคำสงั่ นั้น และคาท่ีรับเขา มาจะถกู ตอ งตามรูปแบบของ เมธอดที่เรียกใช จากตัวอยางโปรแกรมในรูป 4.4 นั้นเปนลักษณะของโปรแกรมแบบออบเจ็ค จะมี รายละเอยี ดในบทตอ ไป และเม่ือนำโปรแกรมน้ไี ปรนั จะไดผ ลลัพธดังรูปที่ 4.6 รูปที่ 4.6 ผลการรนั โปรแกรมรบั คา ขอมูล ____________________________________________________________________________________ เรยี บเรียงโดย: อาจารยภรู ิวัฒน เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจัดการ

เอกสารประกอบการสอน วิชาการเขียนโปรแกรมคอมพิวเตอร (11-413-202) 63 นอกจากนี้ยงั มีเมธอดตา ง ๆ อกี ในคลาส Scanner ท่ีสามารถใชไ ด เชน แสดงในตารางที่ 4.2 ตารางท่ี 4.2 ตัวอยา งเมธอดในคลาส Scanner Methods คำอธิบาย nextLine(); สำหรบั รบั คาเปน Sting nextInt(); สำหรับรบั คา เปน integer nextFloat(); สำหรบั รับคา เปน float nextDouble(); สำหรบั รับคาเปน double nextLong(); สำหรับรบั คา เปน long ____________________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภ ูรวิ ฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจัดการ

64 เอกสารประกอบการสอน วชิ าการเขยี นโปรแกรมคอมพวิ เตอร (11-413-202) แบบฝก หัดบทที่ 4 1. ใหนักศึกษาเขียนโปรแกรมเพื่อรับคา ขอมูลชนิดจำนวนเต็มจากผูใช 10 จำนวนและแสดงผลทาง จอภาพ 2. ใหนกั ศึกษาเขียนโปรแกรมเพื่อรับคาขอ มลู ชนิดจำนวนเต็ม 5 จำนวนและจำนวนจริง 5 จำนวนจาก ผูใช โดยรบั คาขอ มลู สองชนิดสลับกนั แสดงผลทางจอภาพและสงั เกตผลการทำงาน 2. ใหนกั ศึกษาเขียนโปรแกรมเพอ่ื รบั คาขอมูลชนิดจำนวนเตม็ 5 จำนวน จำนวนจรงิ 5 จำนวน และ ขอ ความ 5 ขอ ความ โดยรับคาขอ มลู ทงั้ 3 ชนิดสลบั กัน แสดงผลทางจอภาพและสังเกตผลการทำงาน ____________________________________________________________________________________ เรียบเรยี งโดย: อาจารยภ รู วิ ฒั น เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจดั การ

เอกสารประกอบการสอน วชิ าการเขยี นโปรแกรมคอมพิวเตอร (11-413-202) 65 วิธกี ารสอนและกจิ กรรม 1. สอนแบบบรรยายโดยใชสือ่ ประกอบการสอน 2. ใหนกั ศึกษามสี ว นรว มในกจิ กรรมระหวางการเรยี นการสอนโดยใชว ธิ กี ารถาม-ตอบ เอกสารประกอบ เอกสารประกอบการสอน บทที่ 4 การรบั และการแสดงผล ขอมูล ส่อื การสอน สอื่ ประกอบการสอน ไฟลนำเสนอ power point บทท่ี 4 การรบั และการ แสดงผลขอมลู โสตทัศนวัสดุ เครือ่ งฉายโปรเจคเตอร งานท่มี อบหมาย 1. ศกึ ษาการใชค ำสั่งในการแสดงผลและการรบั ขอ มลู ในภาษา Java 2. แบบฝก หัดการใชคำสัง่ ในการแสดงผลและการรับขอ มูลในภาษา Java การวัดผล 1. สังเกตพฤตกิ รรมการเรยี นในหอ งเรยี น 2. สังเกตพฤตกิ รรมการมสี วนรวมในกจิ กรรมระหวางการเรยี นการสอนในการถาม-ตอบ 3. ตรวจงานทม่ี อบหมาย 4. ทดสอบตามจุดประสงคก ารสอน บันทกึ การสอนและขอ สงั เกต …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… ____________________________________________________________________________________ เรียบเรียงโดย: อาจารยภ ูริวฒั น เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจัดการ

66 เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพิวเตอร (11-413-202) ____________________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภ รู วิ ัฒน เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจัดการ

เอกสารประกอบการสอน วิชาการเขียนโปรแกรมคอมพิวเตอร (11-413-202) 67 สัปดาหที่ 4 ใบเตรยี มการสอน เวลา 2 ชว่ั โมง บทที่ 5 ตัวแปรและชนดิ ขอมลู พ้นื ฐาน 5.1 ตวั แปร 5.2 ชนดิ ของขอมูลพนื้ ฐาน 5.3 คาคงที่ 5.4 การแปลงขอมลู จดุ ประสงคการสอน 5.1 มีความเขา ใจวิธีการประกาศตัวแปร กฎการต้งั ชือ่ ตวั แปร ชนิดขอมลู พื้นฐาน และคา คงท่ี 5.2 มีความเขา ใจกฎของการแปลงประเภทขอ มลู ในภาษา Java ______________________________________________________________________________ เรยี บเรียงโดย: อาจารยภูรวิ ัฒน เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจัดการ

68 เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพวิ เตอร (11-413-202) บทที่ 5 ชนิดขอ มูลพนื้ ฐานและสตริง พื้นฐานสำคญั สำหรบั การเขียนโปรแกรมคอมพวิ เตอร คอื ความรูเก่ียวกบั ชนิดของตวั แปรตา ง ๆ ที่ใชในการเขียนโปรแกรม ภาษา Java มีชนิดขอมูลที่ใชในการเก็บขอมูล พรอมทัง้ กฎการใชงาน ดงั ตอไปนี้ 5.1 ตวั แปร (Variable) ตวั แปร คือ ขอมลู ทใ่ี นการเก็บคา ตา ง ๆ ในการเขียนโปรแกรม Java ตอ งไดร บั การประกาศตวั แปรขึน้ มากอนเพ่ือจองพน้ื ที่ในหนวยความจำสำหรบั เก็บขอ มลู ซึ่งตวั แปรสามารถเปลย่ี นแปลงขอมูล และกำหนดคาไดตลอดเวลาเมื่อตองการ โดยตองระบชุ ื่อของตวั แปรและชนดิ ขอมลู มีรูปแบบคำสง่ั ประกาศตวั แปร ดังน้ี DataType variableName; โดยท่ี datatype หมายถงึ ชนิดของตัวแปร variableName หมายถึง ช่อื ตวั แปร ตวั แปลในภาษา Java น้ันอาจเปน Input หรือ Output กไ็ ด ตวั แปรทีใ่ ชใ น Java แบง เปน 4 ชนิดหลัก ไดแก Integer, Floating, Character และ Boolean นอกจากนั้นยังสามารถใช String Class มาเปนตัวแปรไดอ กี ดวย 5.1.1 กฎเกณฑใ นการต้งั ช่ือตัวแปร โดยทวั่ ไปกฎในการต้ังชื่อตัวแปรในภาษา Java มคี วามคลา ยคลงึ กบั ภาษา C คอ นขางมาก โดยมี ขอกำหนดดังตอ ไปนี้  ประกอบดวยตัวเลข ตัวอักษร(letter), เครื่องหมาย _ (Underscore) หรือ เครื่องหมาย $ (Dollar sign)  ตอ งขนึ้ ตน ดวยตวั อักษรและหามเวน วรรค ______________________________________________________________________________ เรียบเรียงโดย: อาจารยภูรวิ ัฒน เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจัดการ

เอกสารประกอบการสอน วชิ าการเขยี นโปรแกรมคอมพวิ เตอร (11-413-202) 69  ไมสามารถใชสญั ลกั ษณพ เิ ศษอ่นื เชน +, -, *, &, %, # ฯลฯ เปน สวนประกอบอยูภายในช่ือ ได  สามารถตั้งชื่อใหม ีความยาวเทาใดกไ็ ด  ไมสามารถใช คำสงวน (Reserved word)  ตัวอักษรตวั ใหญแ ละตัวเลก็ ถือวา มีความแตกตางกนั 5.1.2 คำสงวน คำสงวน (Reserved Word) คอื คำที่ภาษา Java น้นั ใชง านไปแลวจึงไมสามารถนำมาตั้งเปน ชอ่ื ตวั แปรไดอกี เชน abstract, assert, boolean, break, byte, case, catch, char, class, const, continue, default, do, double, else, enum, extends, final, finally, float, for, goto, if, implements, import, instanceof, int, interface, long, native, new, package, private, protected, public, return, short, static, strictfp, super, switch, synchronized, this, throw, throws, transient, try, void, volatile, while 5.2 ชนิดขอมูล (Data Types) ชนดิ ขอ มูล (Data Types) ในภาษา Java นน้ั แบง ออกเปน 2 ประเภทคอื  ขอมูลพื้นฐาน (Primitive Data Type) หมายถึงชนิดขอมูลที่สามารถเก็บขอมลู ท่ีเปนขอมลู ทั่วไปหรือขอมลู พื้นฐาน มีทั้งหมด 8 ชนิด ไดแก Boolean, char, byte, short, int, long, float, double  ขอมูลแบบอางอิง (Reference Data Type) มีความแตกตางกับชนิดขอมูลพื้นฐาน คือ การ เขา ถงึ ขอมูลเปน การอางอิงดวยตัวแปรมากกวาการเขาถึงขอมูลโดยตรง เชน String ซึ่งมกี าร เก็บขอ มลู ไว 2 สว น คอื o Execution Stack เกบ็ คา อางองิ ท่ชี ไ้ี ปยัง Heap memory o Heap Memory เกบ็ ขอ มูลทเ่ี รยี กวาออปเจค ที่สรางขนึ้ มาจากคลาส ______________________________________________________________________________ เรียบเรยี งโดย: อาจารยภูริวัฒน เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจัดการ

70 เอกสารประกอบการสอน วชิ าการเขยี นโปรแกรมคอมพวิ เตอร (11-413-202) 5.2.1 ชนดิ ขอ มูลท่ใี ชก ับตวั เลข ชนดิ ขอ มูลท่ใี ชกบั ตวั เลข (Number Type) แบง เปน 2 ชนดิ คอื Integer และ Floating  Integer ใชเก็บตัวเลขจำนวนเตม็ แบง เปน int, short, long และ byte  Floating ใชเก็บตวั เลขท่ีมจี ดุ ทศนยิ ม แบงเปน float และ double แตล ะชนิดจะมขี นาดและการเก็บคา ตัวเลขตางกนั ตามตารางท่ี 5.1 ตารางที่ 5.1 ชนดิ ขอ มลู ที่ใชก บั ตวั เลข คาทีเ่ กบ็ ได เน้ือท่ที ่ใี ชเกบ็ ขอมูล −2 ถงึ 2 − 1 4 bytes ชนิดตัวแปร −2 ถงึ 2 − 1 2 bytes int −2 ถงึ 2 − 1 8 bytes short −2 ถึง 2 − 1 1 byte long -3.4E38 ถงึ 3.4E38 4 bytes byte -1.7E308 ถงึ 1.7E308 8 bytes float double ตวั อยางการประกาศตวั แปรและการกำหนดคาเริ่มตน int myNumber; myNumber = 5 หรอื จะเขยี นรวมกนั int myNumber = 5; ตัวอยา งการประกาศเลขทศนิยม double d = 4.5; d = 5; ______________________________________________________________________________ เรียบเรยี งโดย: อาจารยภรู ิวฒั น เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

เอกสารประกอบการสอน วิชาการเขียนโปรแกรมคอมพิวเตอร (11-413-202) 71 ถา ตอ งการใช float สามารถเปล่ยี นไดโดยใชคำสัง่ float f = (float) 4.5; ตัวอยางการประกาศตัวแปรท่ีถกู ตอง // valid int a = 2; int myNumber = 4; float _money = 65.3f; double my_money1 = 54; ในการตัง้ ช่ือตวั แปรและเมธอดนนั้ ในภาษา Java เรามักจะข้นึ ตนดว ยตัวเลก็ ถาหากมีหลาย คำใหใ ชตวั ใหญค นั่ หนึง่ ตัว เชน myNumber ขอ ควรระวังอกี อยางหนงึ่ คือ การกำหนดคา Integer มาใชใ นการคำนวณโดยเฉพาะการหาร นน้ั จะเปน เร่อื งควรพจิ ารณาใหดี เนือ่ งจากผลลพั ธจ ากการหารอาจเปน ขอ มลู ตางชนิดกันได เชน int score1 = 5; int score2 = 6; int score3 = 3; double average = (score1 + score2 + score3) / 3; ______________________________________________________________________________ เรียบเรียงโดย: อาจารยภูริวฒั น เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจัดการ

72 เอกสารประกอบการสอน วิชาการเขียนโปรแกรมคอมพิวเตอร (11-413-202) ผลลัพธที่ไดจากการบวกของ score1, score2, score3 จะมีผลลัพธเปนจำนวนเต็ม (integer) แตเมื่อนำมาหารดวย 3 ซึ่งเปนชนิดจำนวนเต็ม (integer) เชนกัน เมื่อนำผลลพั ธที่ไดจ าก การหารเก็บไวท ี่ตวั แปร average ซ่ึงเปน ชนิดทศนิยม (double) จะไดค า เปน 4.0 ซึ่งทั้งท่จี ริงคาท่ีควร ไดค อื 4.66 ดงั น้นั ใหแกไ ขโดยใชค ำสั่ง เชน //method 1 double total = score1 + score2 + score3; double average = total / 3; //method 2 double average = (score1 + score2 + score3) / 3.0; 5.2.2 ชนิดขอ มลู ท่ใี ชก บั ตวั อักษรและขอ ความ 5.2.2.1 ขอมูลชนิดอักขระ (Character) ชนิดขอมูลอักขระจะตองประกาศตัวแปรดวยคำวา char คือการเกบ็ ขอ มูลเปนตัวอกั ษร หรืออักขระบนแปน พิมพไดเพียง 1 อักขระ ซึ่งในภาษา Java จะ เกบ็ ขอ มูลอกั ขระอยูใ นรปู แบบของรหสั แอสกี (ASCII Code) หรอื รปู แบบมาตรฐาน Unicode ขนาด 16 บิต กำหนดคาขอมูลอักขระจะอยูในเครื่องหมาย ‘-’ (Single quotation) โดยจะขึ้นตนดวย สัญลักษณ \\u และตามดวยเลขฐานสิบหก(Hexadecimal Number) โดยมีคาตั้งแต ‘\\u0000’ ถึง ‘\\uFFFF’ หรือกำหนดคาขอมลู อักขระดวยตัวอักขระบนแปนพิมพ ตัวอยางเชน ‘A’, ‘x’, ‘$’ หรอื ‘1’ เปน ตน char grade = ‘A’; char grade = ‘\\u0041’; 5.2.2.2 ขอมูลชนิดขอความ (String) เปนขอมูลประเภทออบเจ็ค (Object) และในการ ประกาศตัวแปรนั้นทำไดโ ดยคลาส String ในภาษา Java นั้นมีคลาส String เพื่อชวยในการจัดการกับ ขอมูลที่เปนขอความทีต่ อเน่อื งกนั String นน้ั แตกตา งจากตัวอักษรหรือขอมูลแบบ char ซง่ึ เก็บขอ มูล ไดเพียงตวั เดยี ว นอกจากน้ี String ยังมเี มธอดสำหรบั จัดการขอมูลเพื่ออำนวยสะดวกสำหรบั นักพฒั นา โปรแกรม (เน้ือหาท่ีเกี่ยวคลาส String จะอยใู นหนว ยเรียนตอ ไป) การประกาศตัวแปร String เชน ______________________________________________________________________________ เรียบเรยี งโดย: อาจารยภ ูริวฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจดั การ

เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพิวเตอร (11-413-202) 73 // method 1 String str = \"Declaring string in Java.\"; // method 2 String str2 = new String(\"Creating with String constructor.\"); // method 3 char [] chs = new char[] {'C', 'h', 'a', 'r', 'a', 'r', 'r', 'a', 'y'}; String str3 = new String(chs); จากตวั อยางจะเหน็ วาสามารถประกาศตัวแปร String ได 3 วิธี คือ  วิธีแรกกำหนดคา ของ String ใหกับตัวแปรโดย String literal นั้นจะอยูในเครือ่ งหมาย “-” (Double quote)  วิธที ีส่ องเปน การประกาศ String ผา น Constructor ของคลาส  วธิ สี ดุ ทา ยเปน การประกาศ String ดว ย Char array ผา น Constructor เชนกัน คณุ สามารถ ประกาศโดยวธิ ีใดกไ็ ด ซึง่ ไดผลลัพธท่ไี มแ ตกตา งกัน 5.2.3 ชนิดขอ มลู ท่ใี ชก ับตรรกะ การเปรยี บเทยี บในภาษา Java จะเปนการคนื คา เปน แบบ Boolean ซ่งึ ใชใ นการเก็บคา ทเ่ี ปน True หรอื False อยางใดอยางหน่งึ เทาน้นั สว นใหญจ ึงมกั ใชในการทดสอบเงื่อนไขวา จริงหรอื เทจ็ boolean b = false; b = true; 5.3 คาคงที่ (Constant) คาคงที่ (Constant) คือ ตัวแปรที่ใชอางอิงขอมูลของคาๆ หนึ่งที่ไมถูกเปลี่ยนแปลง และไม สามารถเปลีย่ นแปลงได การใชค า คงท่นี น้ั มีประโยชนในการเขียนโปรแกรม ซึ่งสามารถทำความเขาใจ ไดว า ตวั แปรหรอื คานน้ั หมายถงึ อะไร ยกตัวอยางเชน เมอ่ื พดู ถึงแรงโนมถว งของโลก มกั จะพูดวา คา g (gravity) จะไมพ ูดวาคา 9.8 ถึงแมว า คา แรงโนม ถวงมีคา เทากับ 9.8 ก็ตาม แนวคดิ น้ไี ดน ำมาใชสำหรับ ______________________________________________________________________________ เรยี บเรียงโดย: อาจารยภ ูรวิ ฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจดั การ

74 เอกสารประกอบการสอน วชิ าการเขยี นโปรแกรมคอมพวิ เตอร (11-413-202) การสรา งคา คงท่ีในการเขียนโปรแกรมภาษา Java เชนกนั รูปแบบในการประกาศคาคงทนี่ ั้นคลา ยคลงึ กับการประกาศตัวแปรทั่วไป แตจะขึ้นตนดวยคำสั่ง final เพื่อบอกคอมไพเลอรวามันเปนตัวแปร คาคงท่ี final dataType constantName = value; ตัวอยางการประกาศตัวแปรคาคงที่ และการใชงาน โดยโปรแกรมตัวอยางในการหา พื้นที่ เสน รอบวง ปรมิ าตร ของวงกลม โดยท่ีกำหนดใหร ัศมีของวงกลมทค่ี าเทากับ 8 และ 10 ตามรูปท่ี 5.1 รูปที่ 5.1 ตัวอยา งโปรแกรมการใชคาคงท่ี จากตัวอยางดานบนมีการประกาศตัวแปรคาคงที่ในคำสั่ง final float PI = 3.14f; โดยตัว แปรนี้เก็บคา floating-point ของคา PI เพื่อนำไปใชในการคำนวณหารายละเอียดของวงกลม เรา สามารถใช identifier PI แทนคา 3.14 ไดท้งั หมด และผลลพั ธของโปรแกรมดา นลา ง ______________________________________________________________________________ เรียบเรียงโดย: อาจารยภ รู ิวฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจัดการ

เอกสารประกอบการสอน วิชาการเขยี นโปรแกรมคอมพิวเตอร (11-413-202) 75 รปู ท่ี 5.2 ผลลัพธก ารทำงานโปรแกรม คำสั่ง final หรือ final modifier นั้น นอกจากจะใชกับตัวแปรแลว ยังใชเกี่ยวกับการเขยี น โปรแกรมแบบออบเจ็คดวย เชน  final กบั method จะทำให method ไมสามารถ override (การเขียนทบั ) ไดโดย sub class  final กับ class จะทำให class น้ันไมสามารถสบื ทอด (inherit) ได final class NoInherit { final void noOverride () { ... } } 5.4 การแปลงขอ มลู (Type Conversions) การแปลงขอ มูลในภาษา Java เพื่อที่จะแปลงขอมูลจากประเภทหนึง่ ไปยังอีกประเภทหนง่ึ เพื่อนำไปใชในสถานการณตาง ๆ ในการเขียนโปรแกรม เชน การแปลงขอมูลจากตัวเลขเปน String หรือแปลงขอมลู จาก String เปนตวั เลข ขอมูลแตละแบบนน้ั สำหรับภาษา Java ตอ งเก็บไวในตัวแปร ประเภทของมนั เทา น้นั เชน ตัวเลขจำนวนเตม็ จะเก็บในตวั แปรประเภท short int หรือ long ตวั เลข ______________________________________________________________________________ เรียบเรียงโดย: อาจารยภรู ิวัฒน เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจัดการ

76 เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพิวเตอร (11-413-202) ทศนิยมเก็บใน float หรือ double และขอความหรือ string เก็บในตัวแปรประเภท String ดังน้ัน หากตองการแปลงขอมลู ประเภทหน่ึงไปเปน อกี ประเภทหนึ่งสามารถทำไดโดยวธิ กี ารตอไปนี้ 5.4.1 Type Casting Type Casting เปนวิธีการแปลงประเภทของขอมลู วธิ หี นึ่งซ่งึ มีรปู แบบดังตอ ไปนี้ newType variableName = (newType) valueToCovert; โดยท่ี newType หมายถงึ ประเภทขอมูลใหมหลังจากการเปล่ยี นแปลง variableName หมายถงึ ชอ่ื ตัวแปร valueToConvert หมายถงึ ขอ มลู ทีต่ อ งการเปลีย่ นประเภท โดยจะตองเปน ประเภทขอ มลู แบบ primitive date type เทา น้ัน คอื char short int float double ยกเวน boolean valueToCovert เปน ขอ มูลประเภทเดมิ ท่ีตอ งการแปลงไปยังประเภทใหม โดยสามารถเปน ไดท้งั ตัวแปรและตัวอกั ษร ตัวอยา งการใชงาน Type Casting ดงั รปู ท่ี 5.3 ______________________________________________________________________________ เรยี บเรียงโดย: อาจารยภ รู วิ ฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจัดการ

เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพวิ เตอร (11-413-202) 77 รปู ที่ 5.3 การใช Type Casting จากรูปที่ 5.3 เปนการแปลงขอมูลประเภทตาง ๆ (โดยทั่วไปจะเรียกวา Casting) ไดแปลง ตัวเลขอีกประเภทหน่ึงไปเปนอีกประเภทหนึ่ง โดยวิธีการ Type Casting ซึ่งจะไดผลลัพธตามรูปท่ี 5.4 แตวธิ ีการนยี้ ังมขี อท่ีควรระวงั คือ การแปลงขอ มลู ทม่ี ีขนาดใหญกวาไปยงั ขอมูลท่ีมีขนาดเล็กกวา อาจจะทำใหเกดิ ขอ ผดิ พลาดซ่งึ เรยี กวา data lose หรอื precision loss เชน การแปลงจาก long ไป เปน int หรือจาก double ไปเปน float เปนตน รูปที่ 5.4 ผลลัพธจ ากการใช Type Casting ______________________________________________________________________________ เรียบเรยี งโดย: อาจารยภ ูริวัฒน เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

78 เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพวิ เตอร (11-413-202) 5.4.2 การแปลงโดยใชเ มธอดของคลาส วิธีการนเี้ ปน การแปลงขอมลู ดว ย Primitive data types ซง่ึ ในภาษา Java นนั้ จะมที ัง้ หมด 8 คลาสตามตารางที่ 5.2 ตารางที่ 5.2 Primitive Data Types Class Name Type Byte byte Short short Integer int Long long Float float Double double Character char Boolean boolean โดยแตละคลาสก็จะมีเมธอดในการทำงานแตกตา งกันไป สว นมากแลวเมธอดเหลา นี้จะใชกับ ขอ มลู ท่เี ปน String เปนสว นใหญ ตัวอยา งการใชง านเมธอดในคลาสตา ง ๆ ในการแปลงขอมลู ดงั รูปท่ี 5.5 รปู ท่ี 5.5 การใช Primitive Type เพอื่ แปลงประเภทขอมูล ______________________________________________________________________________ เรยี บเรียงโดย: อาจารยภ ูริวฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจัดการ

เอกสารประกอบการสอน วิชาการเขยี นโปรแกรมคอมพิวเตอร (11-413-202) 79 จากรูปท่ี 5.5 เปน การแปลงขอมูลโดยใชค ลาสจะแบงออกเปน สองแบบหลกั ๆ คือ การแปลง ตวั เลขเปน String และในทางกลบั กัน การแปลง String เปนตวั เลข ซึง่ จะเห็นวาบางอยางใชเมธอดที่ แตกตา งกัน เชน แปลงขอ มลู แบบ String ไปเปน Integer จะใชเ มธอด Interger.parseInt() ในขณะที่ แปลงไปเปน Short จะใช Short.parseShort() นอกจากนี้ยังสามารถแปลงเปนเลขฐานอืน่ ในรปู แบบ String เชน ฐาน 2 ฐาน 8 และ ฐาน 16 แตในการสง คา String ไปยงั เมธอด parseInt หรอื parse… รูปแบบของขอ มลู จะตองถกู ตองตาม Literals ของขอมลู แบบตัวเลข 5.4.3 การแปลงขอ มลู ดวยคลาส String คลาส String ใชสำหรบั แปลงขอ มลู ประเภทตา ง ๆ เปน String เชน ตัวอยางในรปู ที่ 5.6 รูปท่ี 5.6 การใช String Type เพือ่ แปลงประเภทขอมูล จากรูปที่ 5.6 นั้นเปนการใชเมธอด String.valueOf ซึ่งเปนเมธอดแบบ Overloading Method ที่สามารถรองรับขอมูลไดทุกประเภทเปนอากวิ เมนต ซึ่งในรปู ที่ 5.7 แสดงผลลัพธจากการ แปลงขอ มลู คา ของ Boolean และตวั เลขเปน String ในภาษา Java รูปท่ี 5.7 ผลลัพธจ ากการแปลงขอมูลเปน String ดวย String.valueOf ______________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภูรวิ ฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจัดการ

80 เอกสารประกอบการสอน วชิ าการเขยี นโปรแกรมคอมพิวเตอร (11-413-202) แบบฝกหัดบทที่ 5 1. จงเขียนโปรแกรมที่ประกาศตัวแปรชนิด integer 1 ตัว float 1 ตัว และ String 1 ตัว จากนั้น กำหนดคา 10, 12.5 และ “Computer Programming” ใหกบั ตัวแปรตามลำดบั แสดงคาตวั แปรทาง หนาจอภาพ 2. จงเขียนโปรแกรมเพือ่ คำนวณหาเสนรอบวง ปริมาณพ้ืนผวิ และความจุของทรงกลม โดยกำหนดให ทรงกลมมีรศั มีเปน r 3. จงเขยี นโปรแกรมเปลย่ี นเวลาวนิ าทีใหเ ปน วัน ชว่ั โมง นาที และวนิ าที ดังตวั อยา ง 345632434 วินาที = xx วัน yy ช่ัวโมง zz นาที aa วินาที ______________________________________________________________________________ เรยี บเรียงโดย: อาจารยภ ูรวิ ัฒน เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจัดการ


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook