เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพิวเตอร (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 วินาที ______________________________________________________________________________ เรยี บเรียงโดย: อาจารยภ ูรวิ ัฒน เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจัดการ
Search
Read the Text Version
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228