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) 81 วิธกี ารสอนและกจิ กรรม 1. สอนแบบบรรยายโดยใชส่อื ประกอบการสอน 2. ใหน ักศกึ ษามสี วนรว มในกจิ กรรมระหวางการเรียนการสอนโดยใชว ิธกี ารถาม-ตอบ เอกสารประกอบ เอกสารประกอบการสอน บทที่ 5 ตวั แปรและชนิดขอ มลู พน้ื ฐาน สอ่ื การสอน สอื่ ประกอบการสอน ไฟลนำเสนอ power point บทท่ี 5 ตวั แปรและชนิดขอมูล พน้ื ฐาน โสตทศั นวัสดุ เครือ่ งฉายโปรเจคเตอร งานทีม่ อบหมาย 1. ศกึ ษาการประกาศตัวแปร ชนดิ ขอ มูล และการแปลงขอ มลู 2. แบบฝก หดั วเิ คราะหและการเขียนผงั งานสำหรบั การเขยี นโปรแกรมคอมพวิ เตอร การวดั ผล 1. สังเกตพฤติกรรมการเรยี นในหอ งเรียน 2. สงั เกตพฤตกิ รรมการมสี ว นรว มในกจิ กรรมระหวางการเรียนการสอนในการถาม-ตอบ 3. ตรวจงานทมี่ อบหมาย 4. ทดสอบตามจุดประสงคก ารสอน บันทึกการสอนและขอ สังเกต …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… ………………………………………………………………………………… ______________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภูรวิ ฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

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

เอกสารประกอบการสอน วิชาการเขยี นโปรแกรมคอมพวิ เตอร (11-413-202) 83 สัปดาหท ่ี 5 ใบเตรยี มการสอน เวลา 4 ชัว่ โมง บทท่ี 6 ตวั ดำเนินการ 6.1 เคร่ืองหมายในการเชอื่ มตอ String 6.2 ตวั ดำเนนิ การกำหนดคา 6.3 ตวั ดำเนินการทางคณติ ศาสตร 6.4 ตวั ดำเนินการกำหนดคาแบบผสม 6.5 ตัวดำเนินการเพิ่มและลดคา 6.6 ตัวดำเนินการเปรียบเทยี บ 6.7 ตัวดำเนินการตรรกศาสตร 6.8 ตัวดำเนนิ การแบบบติ 6.9 ตัวดำเนนิ การเปรียบเทียบเงอื นไขแบบสน้ั จดุ ประสงคการสอน 6.1 เขา ใจรปู แบบการใชงานตวั ดำเนินการรูปแบบตา ง ๆ รวมกับคำส่ังภาษา Java 6.2 สามารถประยุกตใชต วั ดำเนินการตาง ๆ ในการเขยี นโปรแกรมไดอยา งเหมาะสม _________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภ ูรวิ ัฒน เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจดั การ

84 เอกสารประกอบการสอน วิชาการเขยี นโปรแกรมคอมพิวเตอร (11-413-202) บทท่ี 6 ตัวดำเนินการ ภาษา Java เปน รูปแบบการเขยี นคำสงั่ ระหวา งตวั ดำเนนิ การ (Operator) และตวั ถูกกระทำ (Operand) เชน การกำหนดคาใหกับตัวแปร การคำนวณคลายกับตรรกะทางคณิตศาสตร และยังมี เครอ่ื งหมายทใี่ ชในการเปรยี บเทียบบางสัญลกั ษณยังมีความแตกตางจากตรรกะทางคณิตศาสตรท ั่วไป ดังนั้นนิพจนจะตองใชตัวดำเนินการตาง ๆ เพื่อคำนวณหาผลลัพธ และสรางเงื่อนไขตาง ๆ ในการ เขียนโปรแกรมโดยมตี วั ดำเนินการดังตอไปนี้ 6.1 เครื่องหมายในการเชื่อมตอ String เครื่องหมายที่ใชในการเชื่อมตอ String หรือเรียกวา String concatenation ใชสำหรับตอ String 2 String ใหเ ปน String เดียวกัน จากบททผี่ านมา String เปน คลาสในภาษา Java เพื่อใหเรา จัดการกับขอความไดงายขึ้น โดยเราสามารถใชเครื่องหมาย + ในการตอ String เขาดวยกันไดตาม ตัวอยาง ในรูปที่ 6.1 รปู ท่ี 6.1 ตวั อยา งโปรแกรมการใชเ ครอ่ื งหมาย (+) จากตัวอยา งเปนการนำ String มาตอ กัน นอกจากนี้ String ยงั สามารถตอกับคา อน่ื ได เชน ตวั เลข และ Boolean เมอ่ื รนั โปรแกรมจะไดผลลพั ธด ังรปู ท่ี 6.2 _________________________________________________________________________ เรยี บเรียงโดย: อาจารยภ ูรวิ ฒั น เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจัดการ

เอกสารประกอบการสอน วิชาการเขียนโปรแกรมคอมพวิ เตอร (11-413-202) 85 รูปที่ 6.2 ผลลพั ธก ารรันตวั อยางโปรแกรมการใชเคร่ืองหมาย (+) 6.2 ตัวดำเนินการกำหนดคา ตัวดำเนินการกำหนดคา หรือ assignment operator เปนตัวดำเนินการที่ใชสำหรับการ กำหนดคาใหก ับตวั แปรโดยใชเคร่อื งหมาย ( = ) เชน int num = 10; float f = 10.10f; String name = “Puriwat”; Scanner sc = new Scanner(System.in); myClass obj = new myClass(); การกำหนดคา ใหกับตัวแปรประเภทตาง ๆ มี 2 แบบคือ ตวั แปรทเี่ ปน primitive types เชน int และ float ในตวั อยา ง สว น String และ Scanner เปน คลาสไลบราร่ีที่มอี ยแู ลวในภาษา Java จึง สามารถใชงานไดทันที สำหรับ myClass เปนคลาสที่ผูเขียนโปรแกรมสรางขึ้นมาใชงานเองเปน ลักษณะของการเขยี นโปรแกรมเชงิ วัตถุ 6.3 ตวั ดำเนนิ การทางคณิตศาสตร ตัวดำเนินการทางคณิตศาสตร หรือ arithmetic operators เปนตัวดำเนินการที่ใชสำหรับ การคำนวณเพ่อื ใหไ ดผลลพั ธใหมจะทำงานรว มกบั ตวั ดำเนนิ การกำหนดคา (=) เสมอ ตามตารางที่ 6.1 _________________________________________________________________________ เรียบเรยี งโดย: อาจารยภ รู ิวฒั น เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

86 เอกสารประกอบการสอน วชิ าการเขยี นโปรแกรมคอมพิวเตอร (11-413-202) ตารางที่ 6.1 ตวั ดำเนนิ การทางคณิตศาสตร ช่อื เรยี ก ตัวอยาง Addition x=a+b ตัวดำเนินการ Subtraction x=a-b + Multiplication x=a*b - Division x=a/b * Modulo x=a%b / % ตัวดำเนินการทีใ่ ชสัญลักษณทัว่ ไปก็จะมีความหมายเชนเดียวกับสัญลักษณทางคณิตศาสตร แตจะมีตวั ดำเนนิ การทช่ี ื่อ modulo ท่อี าจจะไมคนุ เคย คอื เปน ตวั ดำเนินการที่ใชสำหรับการหารเอา เศษท่มี ีความจำเปน ในการเขียนโปรแกรม ดังรปู ที่ 6.3 รปู ที่ 6.3 ตวั อยางโปรแกรมการใชต ัวดำเนินการทางคณติ ศาสตร ในตัวอยา งโปรแกรมเปนการใชตวั ดำเนินการทางคณติ ศาสตรเ มอื่ รันโปรแกรมจะไดผ ลลัพธด งั รูปที่ 6.4 _________________________________________________________________________ เรียบเรยี งโดย: อาจารยภ ูริวฒั น เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจัดการ

เอกสารประกอบการสอน วิชาการเขียนโปรแกรมคอมพวิ เตอร (11-413-202) 87 รูปที่ 6.4 ผลลพั ธก ารรันโปรแกรมการใชตวั ดำเนินการทางคณติ ศาสตร 6.4 ตัวดำเนนิ การกำหนดคา แบบผสม ตวั ดำเนินการกำหนดคา แบบผสม หรอื compound assignment มกั ถูกใชเพอื่ เปลยี่ นแปลง คาตัวแปรเดิมที่มีอยูแ ลว เปนรูปแบบยอของ arithmetic operator และ bitwise operators ที่ทำ ใหเ ขยี นคำสั่งไดร วดเรว็ และลดขอ ผิดพลาดในการเขยี นโปรแกรม ตามตารางที่ 6.2 ตารางที่ 6.2 ตัวดำเนินการกำหนดคาแบบผสม ตวั ดำเนินการ ตัวอยาง การดำเนนิ การ a=a+2 += a += 2; a=a-2 a=a*2 -= a -= 2; a= a / 2 a=a%2 *= a *= 2; a = a >> 2 a = a << 2 /= a /= 2; a=a&2 a= a ^ 2 %= a %= 2; a=a|2 >>= a >>= 2; <<= a <<= 2 &= a & = 2; ^= a ^= 2; |= a |= 2; 6.5 ตวั ดำเนนิ การเพมิ่ และลดคา ตัวดำเนินการเพิ่มและลดคา หรือ increment and decrement operators เปนตัว ดำเนินการที่ใชบอยในการเขยี นโปรแกรม มี 2 รูปแบบ คือ prefix จะทำการเพิ่มหรือลดคาตัวแปร ทนั ทกี อนทจ่ี ะประมวลผลคำสั่งน้นั และ postfix จะเพ่ิมหรอื ลดคา ตวั แปรหลังจากทปี่ ระมวลผลคำสงั่ น้นั เสรจ็ เรยี บรอ ยแลว ตามตารางท่ี 6.3 _________________________________________________________________________ เรียบเรยี งโดย: อาจารยภูริวัฒน เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจัดการ

88 เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพิวเตอร (11-413-202) ตารางที่ 6.3 ตวั ดำเนนิ การเพ่ิมและลดคา ตวั ดำเนินการ ตัวอยาง การดำเนินการ a = a + 1; ++ (prefix) ++a; a = a + 1; a = a - 1; ++ (postfix) a++; a = a - 1; -- (prefix) --a; -- (postfix) a--; รูปที่ 6.5 ตวั อยา งโปรแกรมการใชต ัวดำเนินการเพ่ิมและลดคา ตวั แปร จากตัวอยา งแสดงใหเหน็ ความแตกตางระหวา งรปู แบบ prefix และ postfix ซง่ึ ไดกำหนดคา ใหกับตัวแปร x และ y มีคาเทากัน ผลที่ไดจากการรันโปรแกรม ++x ถูกเพิ่มคากอนที่จะแสดงผล สวน y++ จะเพิ่มคาหลังจากแสดงผลคาตัวแปรแลว จงึ ไดผ ลลพั ธดงั รูปที่ 6.6 รปู ที่ 6.6 ผลลพั ธก ารรันโปรแกรมการใชตัวดำเนินการเพิ่มและลดคาตัวแปร 6.6 ตัวดำเนนิ การเปรยี บเทียบ ตัวดำเนินการเปรียบเทียบ หรือ relational and comparison operators ใชสำหรับการ เปรียบเทียบขอมูลโดยการสราง expression คาที่ไดจากการใชตัวดำเนินการนี้จะเปนคา Boolean value (true หรือ false) และสวนใหญจะใชกับคำสั่งในการเปรียบเทียบเงื่อนไขในคำสั่ง if while do-while และ for ตามตารางท่ี 6.4 _________________________________________________________________________ เรยี บเรียงโดย: อาจารยภรู ิวัฒน เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจัดการ

เอกสารประกอบการสอน วิชาการเขยี นโปรแกรมคอมพวิ เตอร (11-413-202) 89 ตารางที่ 6.4 ตัวดำเนนิ การเปรยี บเทยี บ ตวั ดำเนินการ ตวั อยาง ผลลัพธ == a == b เปน true ถา คา a เทากับ b นอกจากนั้นเปน false != a != b เปน true ถา คา a ไมเ ทา กบั b นอกจากน้ันเปน false < a < b เปน true ถา คา a นอยกวา b นอกจากนั้นเปน false > a > b เปน true ถา คา a มากกวา b นอกจากนั้นเปน false <= a <= b เปน true ถาคา a นอยกวา หรือเทากับ b นอกจากนั้นเปน false >= a >= b เปน true ถาคา a มากกวาหรือเทากับ b นอกจากนน้ั เปน false รูปที่ 6.7 ตวั อยางโปรแกรมการใชต ัวดำเนินการเปรยี บเทยี บ จากรูปที่ 6.7 เปนตัวอยางการกำหนดคาใหกับตัวแปร a = 5 และ b = 10 แลวนำมา เปรยี บเทยี บดว ยตวั ดำเนนิ การเปรยี บเทยี บตา ง ๆ จะไดผลลัพธดังรูปท่ี 6.8 รปู ท่ี 6.8 ผลลพั ธการรนั ตวั อยา งโปรแกรมการใชตัวดำเนินการเปรียบเทียบ _________________________________________________________________________ เรียบเรียงโดย: อาจารยภ รู วิ ฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจดั การ

90 เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพวิ เตอร (11-413-202) 6.7 ตวั ดำเนินการทางตรรกศาสตร ตัวดำเนินการทางตรรกศาสตร หรือ logical operators เปนตัวดำเนินการที่ใชสำหรับ expression ในภาษา Java มีตัวดำเนินการทางตรรกศาสตรตามตารางที่ 6.5 และตัวอยา งตารางคา ความจรงิ ในตารางที่ 6.6 ตารางท่ี 6.5 ตวั ดำเนนิ การทางตรรกศาสตร ตวั ดำเนินการ ช่ือเรยี ก ตวั อยาง ! Not ! true true && true && And true || false || Or ตารางที่ 6.6 ตัวอยา งตารางคาความจริง A && B A || B False False A B !A False True False False True False True True False False True True False True True True True False ตัวดำเนินการทางตรรกศาสตรที่ใชในการเขียนโปรแกรมจะใชคำสั่งตรวจสอบเงื่อนไข เชน คำสั่ง if รูปท่ี 6.9 ตวั อยา งโปรแกรมการใชต ัวดำเนินการทางตรรกศาสตร _________________________________________________________________________ เรียบเรยี งโดย: อาจารยภ รู วิ ฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจัดการ

เอกสารประกอบการสอน วิชาการเขียนโปรแกรมคอมพวิ เตอร (11-413-202) 91 จากตัวอยางเปนการทดสอบเงื่อนไขคำสั่ง if ซึ่งคำสั่ง if อันแรกจะเปนจริงไดก็ตอเมื่อ expression ทั้ง 2 เปน True หากอนั ใดอันหนึง่ เปน false คำส่งั ในบล็อก if จะไมทำงานเน่อื งจากใช ตัวดำเนินการ And สำหรับคำสงั่ if อันทสี่ องคำสั่งในบล็อคจะทำงานเมอ่ื expression อันใดอันหน่ึง เปน จริงเน่อื งจากใชต ัวดำเนินการ Or 6.8 ตวั ดำเนินการแบบบิต ตัวดำเนินการแบบบิต หรือ bitwise operators จะทำงานกับรูปแบบหนึ่งบิตหรอื มากกวา หรือในตัวเลขฐานสอง โดยการนำคูของบิตแตละตัวมาคำนวณโดยใชหลักการของตัวดำเนินการทาง คณติ ศาสตร ตามตารางท่ี 6.7 ตารางท่ี 6.7 ตัวดำเนนิ การระดับบิต คำอธบิ าย Bitwise AND ตัวดำเนินการ Bitwise inclusive OR & Bitwise exclusive OR | bit inversion ^ Shift bits left ~ Shift bits right << >> รูปที่ 6.10 ตวั อยา งโปรแกรมการใชต ัวดำเนินการแบบบติ _________________________________________________________________________ เรยี บเรียงโดย: อาจารยภรู ิวฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจัดการ

92 เอกสารประกอบการสอน วิชาการเขยี นโปรแกรมคอมพิวเตอร (11-413-202) จากรูปท่ี 6.10 แสดงตวั อยา งการใชตวั ดำเนนิ การแบบบติ 4 ชนดิ โดยทำกับตวั แปร Integer ซง่ึ มขี นาด 8 บติ ดังนั้นการทำงานของโปรแกรมแสดงไดต ามตารางท่ี 6.8 ตารางที่ 6.8 การดำเนนิ การจากตัวอยางโปรแกรม เลขฐาน 10 เลขฐาน 2 ผลลัพธเ ลขฐาน 2 ผลลพั ธเ ลขฐาน 10 5&3 00000101 & 00000011 00000001 1 00000001 7 5 | 3 00000101 | 00000011 11111010 -6 00001010 10 ~5 ~00000101 5 << 1 00000101 << 1 และเมอ่ื รนั โปรแกรมตัวอยาง จะไดผ ลลพั ธตามรปู ที่ 6.11 โดยผเู ขียนโปรแกรมจะตองมคี วาม เขา ใจเก่ียวกบั เลขฐานเพ่อื ทจี่ ะใชง านตัวดำเนนิ การแบบบิตไดอ ยางถกู ตอ ง รูปที่ 6.11 ผลลพั ธการรนั ตัวอยางโปรแกรมการใชตัวดำเนินการแบบบติ 6.9 ตวั ดำเนินการเปรียบเทียบเง่ือนไขแบบสนั้ ตัวดำเนินการเปรียบเทียบเงื่อนไขแบบสั้น หรือ conditional ternary operator จะใช สำหรับประเมิน expression ถา expression เปน true จะใหผลลัพธคาหนึ่ง และอีกคาหนึ่งถา expression เปน false มรี ปู แบบการใชงานดงั น้ี expression? valueForTrue: valueForFalse; _________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภ ูรวิ ฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจัดการ

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

94 เอกสารประกอบการสอน วิชาการเขียนโปรแกรมคอมพวิ เตอร (11-413-202) แบบฝก หดั บทท่ี 6 1. จงเขยี นโปรแกรมทีท่ ำการเปลยี่ นองศา Celsius degree เปน องศา Fahrenheit 2. จงเขียนโปรแกรมสำหรับอานคาความยาวหนวยเปนนิ้ว (inches) จากผูใช และแปลงหนวยเปน เมตร (meter) แสดงผลทางจอภาพ 3. จงเขยี นโปรแกรมเพอ่ื คำนวณดัชนมี วลกาย (Body mass index: BMI) จากสมการ weight/(hight * hight) _________________________________________________________________________ เรียบเรียงโดย: อาจารยภูริวัฒน เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจดั การ

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

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

เอกสารประกอบการสอน วชิ าการเขยี นโปรแกรมคอมพวิ เตอร (11-413-202) 97 สัปดาหท ่ี 6-7 ใบเตรยี มการสอน เวลา 8 ชั่วโมง บทท่ี 7 คำสงั่ เลือกเงอื่ นไขและวนซ้ำ 7.1 คำสัง่ เลือกเง่ือนไข 7.1.1 คำสั่ง if 7.1.2 คำสง่ั if-else 7.1.3 คำสัง่ if-else-if 7.1.4 คำสง่ั nested if-else 7.1.5 คำสั่ง switch-case 7.2 คำสัง่ วนซ้ำ 7.2.1 คำส่งั while 7.2.2 คำสง่ั Do-while 7.2.3 คำสั่ง for 7.2.4 คำส่งั nested loop 7.2.5 คำสง่ั continue 7.2.6 คำสง่ั break จดุ ประสงคก ารสอน 7.1 เขา ใจหลักการและใชงานคำสง่ั เลือกเงอ่ื นไขแบบตาง ๆ ได 7.2 เขา ใจหลกั การทำงานของคำสั่งวนซำ้ และสามารถนำไปประยุกตใชอยา งถูกตอง 7.3 สามารถเขียนโปรแกรมคำสง่ั เลือกเง่ือนไขและคำส่งั วนซำ้ ได _________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภ ูรวิ ัฒน เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจัดการ

98 เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพิวเตอร (11-413-202) บทที่ 7 คำส่ังเลือกเง่ือนไขและวนซ้ำ คำสั่งเลือกเงื่อนไขและวนซ้ำเปนสิ่งที่จำเปนเสมอสำหรับภาษาเขียนโปรแกรมทุก ๆ ภาษา เพียงแตในแตละภาษาจะมีการเขียนคำสั่งการใชงานที่แตกตางกันบางเล็กนอย ดังนั้นหากมีความ เขาใจในรูปแบบคำสัง่ หรือการใชงาน ก็จะทำใหก ารเขยี นโปรแกรมนัน้ ดูงายขึน้ และลดขอผิดพลาด ของการเขยี นโปรแกรมได ในบทนีจ้ ะแบง ออกเปน 2 สวนหลัก ๆ คือ คำส่งั เลอื กเงือ่ นไข และคำสัง่ วน ซำ้ ดงั นี้ 7.1 คำส่ังเลือกเง่อื นไข คำสั่งเลือกเงื่อนไขเปนวิธีการควบคุมการทำงานของโปรแกรมคำสั่งเงื่อนไขในภาษา Java เพอื่ ควบคุมโปรแกรมใหทำงานตามตองการ โดยคำส่งั เง่อื นไขในภาษา Java มดี วยกนั ดังตอไปน้ี 7.1.1 คำสัง่ if เปนคำสั่งที่ใชในการตรวจสอบเงื่อนไขตาง ๆ โดยสามารถใชคำสั่ง If เพื่อใชในการ เปรยี บเทยี บเงอื นไขเพื่อใหโ ปรแกรมทำงานหรอื ไมทำงานบางคำสัง่ ซึง่ มีรปู แบบการใชงานดังน้ี if (expression) { statements } โดยในบล็อคของคำส่งั If นัน้ จะทำงานก็ตอเมอ่ื expression เปน true เทานน้ั ถาหากเปน false โปรแกรมจะขา มบลอ็ กคำสง่ั นน้ั ตามตัวอยา งในรปู ท่ี 7.1 _________________________________________________________________________ เรียบเรียงโดย: อาจารยภ ูรวิ ัฒน เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

เอกสารประกอบการสอน วิชาการเขียนโปรแกรมคอมพิวเตอร (11-413-202) 99 รปู ที่ 7.1 ตัวอยางคำส่งั if จากตวั อยางเปน โปรแกรมตรวจสอบสิทธิ์การเขา ใชงานดวยคำส่ัง if ในบลอ็ คของคำสง่ั if อัน แรกจะตรวจสอบวา username นี้มีสิทธิ์การเขาใชงานหรือไมหากของ expression เปน true จะ แสดงขอความ “Your username has a permission.” ทางจอภาพ และบล็อคคำสั่ง if อันที่สอง เปนการตรวจสอบการเขา ใชง านโดยมกี าตรวจสอบสองอยางคอื username และ password หากผล ของ expression เปน true จะแสดงขอความ “You’ re now logged in.” ทางจอภาพ ตัวอยาง ผลลพั ธท ่ีเกดิ จากการทำงานของคำสั่ง if ทั้งสองคำสัง่ ในกรณีที่ expression เปน true ดังรูปท่ี 7.2 รูปที่ 7.2 ตวั อยางผลการรนั คำสง่ั if 7.1.2 คำสง่ั if-else คำสั่ง if-else เปนคำสั่งเลือกทำอยางใดอยางหนึ่งขึ้นอยูกับผลของ expression โดยมี รปู แบบการใชงานดงั นี้ _________________________________________________________________________ เรยี บเรียงโดย: อาจารยภ รู วิ ฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจัดการ

100 เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพิวเตอร (11-413-202) if (expression) { statements } else { statements } ใชในกรณีที่มี expression เปน true ใหทำงานที่บล็อกคำสั่ง if ถาเปน false ใหทำงานท่ี บล็อกคำสัง่ else ยกตวั อยางคำส่งั if-else ดงั รูปที่ 7.3 รปู ท่ี 7.3 ตัวอยางคำส่ัง if-else จากตัวอยางเปนโปรแกรมตรวจสอบสิทธิ์การใชงานเชนกัน แตในกรณีนี้หากผลของ expression เปน true จะแสดงขอ ความ “You're now logged in.” และถา expression เปน false จะแสดงขอความ “Your username or password is incorrect.” เชนผลลัพธการรันโปรแกรมใน กรณีท่ี expression เปน false เนื่องจาก password มีคา เปน abcd ดงั รปู ท่ี 7.4 รปู ที่ 7.4 ตวั อยา งผลการรนั คำสั่ง if-else _________________________________________________________________________ เรียบเรยี งโดย: อาจารยภรู ิวัฒน เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจดั การ

เอกสารประกอบการสอน วชิ าการเขยี นโปรแกรมคอมพิวเตอร (11-413-202) 101 7.1.3 คำสง่ั if-else-if คำสง่ั if-else-if เปนคำส่ังทีใ่ ชใ นกรณีทมี่ หี ลายเงอ่ื นไข และการทำงานในแตล ะอยา งแตกตาง กนั ออกไปโดยมรี ปู แบบคำส่ังตอไปน้ี if (expression) { statements } else if (expression) { statements } else if(expression) { statements } else { statements } สำหรบั ตัวอยา งคำสัง่ if-else-if จะเปนโปรแกรมคำนวณเกรดตามคะแนนทร่ี ับขอ มูลจากผใู ช ซ่งึ แบง ระดบั คะแนนออกเปน 5 เกรด คอื A, B, C, D, F ดังรปู ที่ 7.5 รูปท่ี 7.5 ตัวอยา งคำสง่ั if-else-if _________________________________________________________________________ เรียบเรียงโดย: อาจารยภูริวัฒน เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจดั การ

102 เอกสารประกอบการสอน วิชาการเขียนโปรแกรมคอมพิวเตอร (11-413-202) จากตัวอยางโปรแกรม if คำสั่งแรกเปนการตรวจสอบวาคะแนนที่ผูใชใสมานั้นอยูในชวง คะแนน 0-100 หรือไม หาก expression เปน true จะแสดงขอความ “You must enter a correct score, try again later.” เพื่อแจงขอความบอกผูใช แตหาก expression เปน false ซึ่งหมายถึง คะแนนอยูในชว ง 0-100 โปรแกรมจะนำคะแนนไปตรวจสอบดวยคำสัง่ if-else-if เชน หากผใู ชกรอก คะแนนเปน 77 จะทำให expression ในบล็อกของ else if (score >=70) เปนจริงโปรแกรมก็จะ ทำงานคำสงั่ ที่อยูใ นบลอ็ คนั้นและไมสนใจคำสง่ั ในบล็อคทเี่ หลอื ตามตัวอยา งผลลัพธการรนั โปรแกรม ในรูปท่ี 7.6 รูปที่ 7.6 ผลลพั ธการันโปรแกรมตัวอยางคำส่ัง if-else-if 7.1.4 คำสั่ง Nested if-else โดยทวั่ ไปคำสั่ง if-else ทผี่ านมาน้นั สามารถนำมาซอ นกนั ไดอยางไมจ ำกัด ตามหลกั การเขยี น โปรแกรมพื้นฐานการซอนกันจะอยูในบลอ็ คคำสั่งของอีกคำส่ัง ซึ่งข้ึนอยูกับโปรแกรมนัน้ ออกแบบไว อยา งไร โดยมีรูปแบบคำสั่งดงั นี้ _________________________________________________________________________ เรียบเรยี งโดย: อาจารยภูริวฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจัดการ

เอกสารประกอบการสอน วชิ าการเขยี นโปรแกรมคอมพิวเตอร (11-413-202) 103 if (expression) {// nested level 1 if (expression) {// nested level 2 if (expression) { statement } } } else {// nested level 1 if (expression) { statement } } 7.1.5 คำสง่ั switch-case Switch-case เปนคำสั่งในการเลือกทำงานของเง่ือนไขที่ตรงกันเพยี งแคเ ง่ือนไขเดียวเทาน้ัน ในการใช Switch นัน้ จะคลา ยกบั คำสัง่ if-else-if โดยมรี ูปแบบคำสั่งดงั นี้ switch (parameter) { case instant_value_1: statement; break; case instant_value_2: statement; break; case instant_value_3: statement; break; . case instant_value_n: statement; break; default: statement; } _________________________________________________________________________ เรียบเรียงโดย: อาจารยภรู ิวฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจัดการ

104 เอกสารประกอบการสอน วชิ าการเขยี นโปรแกรมคอมพิวเตอร (11-413-202) คำสั่ง switch-case จะรับคาพารามเิ ตอรเขามาไดแคเ พยี ง 1 คา จากนั้นพารามิเตอรนั้นจะ ถูกเปรียบเทียบกับคา คงที่ท่ีอยูใ นคำสั่ง case และเมื่อตรงกบั case ไหนโปรแกรมก็จะทำคำสั่งหลัก จาก case นนั้ จนหมด ซงึ่ หมายความวา คำสัง่ break มีไวเ พ่ือไมใหโปรแกรมไปทำงานของ case ที่อยู ตอไป และคำสัง่ default นัน้ โปรแกรมจะทำในกรณีที่คา พารามิเตอรไมตรงกบั คาคงทใ่ี น case ใดเลย ซึ่งจะทำเปนคำสงั่ สดุ ทา ยจงึ ไมต อ งมคี ำส่ัง break เชน เดียวกบั คำสั่ง if-else-if ในคำสง่ั else สุดทาย จะไมมี expression เชนเดยี วกัน สำหรับตวั อยางคำสั่งนี้จะยกตวั อยางการทำงานของลิฟต โดยผูใช กดปมุ ขัน้ ท่ตี อ งการไป ผใู ชสามารถกดตัวอักษรอะไรกไ็ ด ดังรปู ที่ 7.7 รูปที่ 7.7 ตวั อยางคำสัง่ switch-case จากตวั อยา งมกี ารใชคำสั่ง reader.next().charAt(0); เพราะตอ งการอา นคา ทเ่ี ปนตวั อกั ษร เพียง 1 ตวั ซ่ึงในตวั อยางนหี้ ากผูใชปอ นคา เลข 2 เขา มาโปรแกรมจะแสดงขอ ความดังรปู ท่ี 7.8 _________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภ ูรวิ ัฒน เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจัดการ

เอกสารประกอบการสอน วิชาการเขยี นโปรแกรมคอมพวิ เตอร (11-413-202) 105 รปู ที่ 7.8 ผลลพั ธการรันโปรแกรมตัวอยางคำสงั่ switch-case 7.2 คำสัง่ วนซ้ำ คำสั่งวนซ้ำ (loop statements) เปนคำสั่งที่ทำใหสามารถควบคุมโปรแกรมใหทำงานตาม คำสั่งใดคำสัง่ หนึ่งซ้ำ ๆ ได ถาหากเงื่อนไขนั้นยังคงเปน จริง เปนคำสั่งที่มีประโยชนอ ยางมากในการ เขยี นโปรแกรม คือ while, do-while, for ตอ ไปน้ี 7.2.1 while คำส่ังวนซ้ำทงี่ า ยทีส่ ดุ ในภาษา Java คอื คำสง่ั While โดยมรี ปู แบบในการใชง านดงั น้ี while ( expression ) { statements } การใชงานคำสั่ง while สำหรับการสราง loop และ expression คือเงื่อนไขที่จะทำให โปรแกรมทำงานใน loop ถาเงื่อนไขนั้นเปน true โปรแกรมจะทำงานคำสั่งท่ีอยูใ นวงเล็บปกกา { } และเมื่อเงื่อนไขเปน false โปรแกรมจะออกจาก loop และทำงานคำสั่งตอไปที่อยูตอจากคำสั่ง while ตวั อยางโปรแกรมคำสง่ั while ดงั รปู ท่ี 7.9 _________________________________________________________________________ เรียบเรียงโดย: อาจารยภูริวฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจัดการ

106 เอกสารประกอบการสอน วิชาการเขยี นโปรแกรมคอมพิวเตอร (11-413-202) รปู ท่ี 7.9 ตัวอยางคำสงั่ while จากตัวอยางมีการประกาศตัวแปร i เพื่อใชในการนับ เงื่อนไขของ while คือ ถาคาของ i นอ ยกวา หรือเทากบั 10 while (i <= 10) โปรแกรมจะทำงานใน loop และแสดงคาวา Java และคา i ออกมา แตละรอบจะมีการเพิ่มคาใหกับตัวแปร i ดวยคำสั่ง ++i; เพื่อปองกันไมให loop ทำงาน ตลอดไป (infinity loop) จนเมื่อเงือ่ นไขเปน false โปรแกรมจึงออกจาก loop และทำงานในคำสั่ง ตอไป คอื การพิมพข อ ความ “End” ทางหนา จอ ตามตัวอยา งผลการนั โปรแกรมในรูปที่ 7.10 รูปท่ี 7.10 ผลลัพธการรนั โปรแกรมตัวอยา งคำส่งั while _________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภูริวฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพวิ เตอร (11-413-202) 107 7.2.2 do-while คำสั่ง do-while นั้นจะมีการทำงานแตกตางจากคำส่ัง while เล็กนอยคือ คำสั่ง do-while จะทำงานคำสัง่ ใน loop กอนอยางนอย 1 ครั้งและหลังจากนั้นจะทำการตรวจสอบเงื่อนไขที่อยูด า น ทายของ loop มรี ปู แบบดงั น้ี do { statements } while (expression); สำหรบั ตัวอยางในคำสัง่ นีจ้ ะเปน โปรแกรมตรวจสอบตวั เลขวา เปนเลขคูหรอื ค่ี (even or odd number) โดยใชค ำส่งั do-while โดยหากผใู ชป อ นตัวเลขเปน เลขคโู ปรแกรมจะทำงานตอ ไปเร่ือย ๆ และเม่ือผูใชป อนตัวเลขคี่โปรแกรมจะออกจากคำส่ัง do-while และทำงานในคำสัง่ ตอ ไป เชน รูปที่ 7.11 ตัวอยา งคำสัง่ do-while _________________________________________________________________________ เรียบเรียงโดย: อาจารยภ ูรวิ ฒั น เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจดั การ

108 เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพิวเตอร (11-413-202) คำสั่ง number % 2 == 0 เปนเงื่อนไขเพื่อตรวจสอบวาตัวเลขที่ผูใชปอนมานั้นเปนเลขคู หรือไม โดยใชต ัวดำเนนิ การ mod ดว ยเลข 2 ถา ผลออกมาแลว มเี ศษเปน 0 แสดงวาเลขน้ันเปนเลขคู จึงไดผ ลลพั ธจากการรันดงั ตอไปนี้ รปู ที่ 7.12 ผลลัพธการรันโปรแกรมตัวอยางคำส่งั do-while 7.2.3 for คำสั่ง for เปน loop ที่นิยมใชกันเปนจำนวนมากเนื่องจาก for มักจะใชกับ loop ที่ทราบ จำนวนรอบการวนซ้ำที่แนนอน และสะดวกในการประกาศตัวแปรเริ่มตน กำหนดเงื่อนไข และการ เพิ่มหรือลดคาไวท่เี ดียวกัน ซ่งึ ตวั แปรทปี่ ระกาศข้ึนใน loop จะใชไ ดเพียงใน loop scope เทาน้ัน มี รูปแบบคำสัง่ ดงั นี้ For (initial; condition; update) { statements } รปู แบบของคำสงั่ for จะมีสว นประกอบหลกั 3 สวน คือ  Initial คอื การกำหนดคา ใหก ับตวั แปรเรมิ่ ตนของ loop  condition คือ การกำหนดเง่ือนไขท่ีให loop ทำงาน  update คอื การเปลีย่ นแปลงคาใหก บั ตวั แปรเริ่มตนเพ่อื ใชในการทดสอบเงอ่ื นไข _________________________________________________________________________ เรียบเรียงโดย: อาจารยภูริวฒั น เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจดั การ

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

110 เอกสารประกอบการสอน วิชาการเขียนโปรแกรมคอมพวิ เตอร (11-413-202) 7.2.4 nested loop Nested loop หมายถึง loop ทุกชนิดสามารถที่จะนำมาซอนกันได เชนเดียวกับคำสั่ง if- else โดยในตวั อยา งนี้จะเปน โปรแกรมสรางแมทริกขนาด 2 มิติ ท่ีใชคำส่ัง for ซอนกัน ดงั รปู ที่ 7.15 รปู ท่ี 7.15 ตวั อยา งคำส่ัง nested loop จากตวั อยา งกำหนดใหความกวาง (width) และความสูง (height) ของแมทริกมีคา เทากับ 3 ดังนั้นแมทริกจะมีขนาด 3x3 โดย loop นอก (outer loop) จะทำงานวนรอบตามจำนวนในตัวแปร height และลปู ดานใน (inner loop) จะทำการวนรอบตามจำนวนตัวแปร width ผลลัพธทไ่ี ดน ้นั เกิด จาก คาของ i * j ตามรูปที่ 7.16 รูปท่ี 7.16 ผลลัพธการรนั โปรแกรมตัวอยา งคำสง่ั nested loop _________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภ ูริวฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจัดการ

เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพิวเตอร (11-413-202) 111 7.2.5 คำส่งั continue คำสง่ั Continue คอื คำสัง่ ทใี่ ชใ นการขามการทำงานของลูปในรอบปจจบุ นั นนั่ หมายความวา ลูปจะเรม่ิ ตนคำสั่งใหมท นั ทเี มื่อเจอคำสั่ง continue; สำหรบั ตวั อยา งการใชค ำสัง่ Continue ในภาษา Java ดงั รปู ที่ 7.17 รปู ท่ี 7.17 ตัวอยา งคำสงั่ continue จากตัวอยางโปรแกรมคำสงั่ continue เปนโปรแกรมแสดงตวั เลขจาก 10 และลดลงทีละ 1 เม่ือคาของตวั เลขลดลงมาอยทู ่ี 5 จะทำใหคำส่งั if (i == 5) มี expression เปน true โปรแกรมจงึ ทำงานในคำสงั่ continue ทำใหโปรแกรมขา มการแสดงผลเลข 5 ไปตามตัวอยางผลลัพธใ นรปู ที่ 7.18 รูปที่ 7.18 ผลลพั ธการรันโปรแกรมตัวอยา งคำสัง่ continue 7.2.6 คำส่ัง break คำสั่ง break เปนคำสงั่ ทใี่ ชใ นการหยุดการทำงานของลูปในทันทโี ดยที่ไมสนใจวา เง่ือนไขการ ทำงานของ loop ยงั มี expression เปน true อยูหรือไม เมื่อโปรแกรมเจอคำสัง่ break โปรแกรมจะ ออกจาก loop และทำงานคำส่งั ตอ ไปท่อี ยูตอจาก loop ทันนี้ ตามตัวอยางในรปู ท่ี 7.19 _________________________________________________________________________ เรยี บเรียงโดย: อาจารยภูรวิ ัฒน เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจดั การ

112 เอกสารประกอบการสอน วิชาการเขียนโปรแกรมคอมพิวเตอร (11-413-202) รูปที่ 7.19 ตวั อยางคำสัง่ break จากตวั อยางนไี้ ดท ำการเปล่ียนคำส่งั จาก continue ในตวั อยา งที่ 7.17 เปนคำส่งั break และเมอื่ โปรแกรมเจอคำสง่ั break โปรแกรมจะออกจาก loop ทนั ทีทำใหไ ดผลลพั ธก ารรันดงั รปู ที่ 7.20 รูปที่ 7.20 ผลลพั ธการรนั โปรแกรมตัวอยา งคำส่งั break เนื้อหาในบทนี้ถือเปนพื้นฐานที่มีความสำคัญอยางมากในการเขียนโปแกรม ซึ่งจะชวยให ผูเขียนโปรแกรมสรางโปรแกรมที่สามารถทำงานไดอ ยางมีประสิทธิภาพตามที่ไดออกแบบไว การใช งานคำสั่งเหลา นีม้ อี ยูใ นทกุ ๆ ภาษาคอมพิวเตอร เพียงแตอาจจะมีรูปแบบในการเขียนที่แตกตางกัน เลก็ นอ ย หากผูเ ขียนโปรแกรมเขา ใจหลกั การทำงานกส็ ามารถนำไปประยุกตใ ชก ับภาษาคอมพิวเตอร อ่นื ได เนือ่ งจากมีหลกั การทำงานเดยี วกนั ในบทตอ ๆ ไปจะมกี ารนำคำส่งั เหลา นไี้ ปใช เชน array เปน ตน _________________________________________________________________________ เรียบเรียงโดย: อาจารยภูริวฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

เอกสารประกอบการสอน วิชาการเขยี นโปรแกรมคอมพวิ เตอร (11-413-202) 113 แบบฝกหดั บทที่ 7 1. จงเขยี นโปรแกรมเพอื่ รับคา ตวั เลขจากผูใช จากนนั้ แสดงวาคาน้ันเปน จำนวนเตม็ บวก (positive) หรือจำนวนเต็มลบ (negative) 2. จงเขียนโปรแกรมเพื่อรบั คา ตวั เลข 3 จำนวน จากนนั้ แสดงคาตวั เลขทีม่ ขี นาดมากท่ีสดุ 3. จงเขียนโปรแกรมรบั คาตัวเลขจำนวนเต็ม 1-7 จากนั้นใหแสดงวันในสัปดาหต ามตวั เลข เชน 1 = Sunday 4. จงเขียนโปรแกรมเพื่อรับคาตัวเลข 5 จำนวนโดยการใชคำสั่งวนซ้ำ จากนั้นแสดงผลรวม และ คาเฉลี่ยทางจอภาพ 5. จงเขยี นโปรแกรมรับคาตัวเลขจากผใู ช จากนนั้ แสดงตารางสูตรคูณทางจอภาพ 6. จงเขียนโปรแกรมเพ่ือแสดงรูปแบบตามตวั อยา งโดยการใชคำส่ังวนซ้ำ 1 12 123 1234 12345 123456 1234567 12345678 123456789 12345678910 _________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภ รู ิวัฒน เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

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

เอกสารประกอบการสอน วิชาการเขยี นโปรแกรมคอมพิวเตอร (11-413-202) 115 สัปดาหท ี่ 9 ใบเตรียมการสอน เวลา 4 ชั่วโมง บทท่ี 8 อาเรย 8.1 การประกาศอาเรย 8.2 อาเรย 2 มิติ 8.3 อาเรย 3 มิติ จดุ ประสงคการสอน 8.1 เขา ใจหลักการทำงานของอาเรย 8.2 สามารถประกาศตัวแปรอาเรยแ บบ 1 มิติ 2 มติ ิ และกำหนดคาเริ่มตน ใหกับอาเรย 8.3 สามารถเขา ถงึ ขอมลู ที่อยใู นตวั แปรชนิดอาเรย 8.4 สามารถประยุกตใชตัวแปรอาเรยรวมกบั คำสั่งอืน่ ๆ ได _________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภ ูริวฒั น เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจดั การ

116 เอกสารประกอบการสอน วิชาการเขียนโปรแกรมคอมพวิ เตอร (11-413-202) บทท่ี 8 อาเรย อาเรย (Array) คือ ชุดของตวั แปรท่ีแสดงอยูในรปู ของลำดบั ที่ เพอ่ื ใชเกบ็ คา ของขอมลู ท่อี ยูใน กลมุ เดียวกนั อาเรยจะแตกตา งไปจากตัวแปรท่ัวไป คือ ตัวแปรทว่ั ไปจะถูกเกบ็ อยูในหนวยความจำ ใน แตละตำแหนง ท่ีไมต อเนอื่ งกนั สวนตัวแปรประเภทอาเรยจะถกู เกบ็ อยใู นหนวยความจำในตำแหนงท่ี ตอเนื่องกัน ซึ่งจะใชขนาดพื้นที่ในหนวยความจำเทาไรนั้น ขึ้นอยูกับจำนวนมิติ (Dimension) และ จำนวนสมาชกิ ทีก่ ำหนด 8.1 การประกาศอาเรย การประกาศอาเรยในภาษา Java น้ันมอี ยู 3 รปู แบบ ดังตอ ไปน้ี type [ ] var_name; type [ ] var_name = new type[size]; type [ ] var_name = new type[ ] {value1, value2, ...}; โดยท่ี type คอื ประเภทของขอมลู หรือคลาส name คอื ชือ่ ตวั แปรอาเรย new คอื คำสัง่ ท่ใี ชในการจองพื้นที่หนว ยความจำสำหรับอาเรย size คือ ขนาดของอาเรยตองเปน จำนวนเตม็ บวก _________________________________________________________________________ เรยี บเรียงโดย: อาจารยภรู วิ ฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจดั การ

เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพิวเตอร (11-413-202) 117 รูปที่ 8.1 ตวั อยา งโปรแกรมการประกาศอาเรย จากรูปที่ 8.1 ประกาศตัวแปรอาเรยชื่อ number ที่สามารถเก็บคาขอมูลท่ีเปนจำนวนเตม็ (int) 4 จำนวน การเขาถึงอาเรยสามารถเขาถึงไดดวย index ซึ่งมีคาเปนจำนวนเต็ม เชน number [index] โดย index ของอาเรยจะเริ่มตนดวยตำแหนงที่ 0 เสมอ ซึ่งหมายความวาจะมี index นอย กวาขนาดอาเรยอยู 1 เสมอ การหาขนาดของอาเรยสามารถใชคณุ สมบตั ขิ องอาเรยดว ยคำสงั่ length จะสง คา กลับมาเปน จำนวนเต็ม System.out.println(\"Array size is \" + number.length); นอกจากน้จี ากตวั อยา งโปรแกรมยงั มีการประกาศอาเรยประเภท String สำหรบั เก็บขอความ ที่ขนาดเทา กบั 3 ในตัวอยางนี้จะใชคำส่ัง for loop ในการวนอานคาจากอาเรยโดยใช I เปน Index เพ่อื เขาถึงอาเรย และเมื่อรันโปรแกรมตวั อยางนจ้ี ะไดผ ลลัพธด ังรปู ที่ 8.2 _________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภ ูรวิ ฒั น เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจัดการ

118 เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพิวเตอร (11-413-202) รปู ที่ 8.2 ผลลพั ธการรนั ตวั อยา งโปรแกรมการประกาศอาเรย การประกาศอาเรยยงั สามารถทำไดพ รอมกับการกำหนดคา เร่มิ ตน โดยมีรปู แบบการประกาศ อาเรยตอ ไปน้ี int[ ] number = { 2, 11, 15, 18, 22, 27, 16, 30 }; // shorter version int[ ] number = new int[ ] { 2, 11, 15, 18, 22, 27, 16, 30 }; 8.2 อาเรย 2 มติ ิ อาเรย 2 มิติ น้นั จะมลี กั ษณะการเกบ็ คาขอ มูลเหมอื นการเก็บคาในตารางทีม่ แี ถว (Row) และ คอลัมน (Column) มรี ูปแบบการประกาศอาเรย 2 มิติ ดังนี้ type [ ][ ] name = new type[ROW][COLUMN]; การประกาศอาเรย 2 มติ ิ นั้นจะคลา ยกบั อาเรย 1 มติ ิ แตจ ะใชเคร่อื งหมาย [ ][ ] โดยแตละ คูนั้นแสดงสำหรับแถวและคอลัมนโดย row คือ จำนวนของแถวอาเรย และ column คือ ขนาด คอลมั นของอาเรย ดงั นน้ั จงึ สามารถคำนวณหาขนาดของอาเรย 2 มติ ิ ไดโ ดยการนำ row x column ตวั อยา งเชน int [ ][ ] number = new int[3][3]; char [ ][ ] c = new char[ ][ ] { {'A', 'B', 'C'}, {'D', 'E', 'F'} }; _________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภ รู ิวัฒน เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจดั การ

เอกสารประกอบการสอน วิชาการเขียนโปรแกรมคอมพิวเตอร (11-413-202) 119 ตัวอยางดานบนเปนการประกาศอาเรย 2 มิติ แบบแรก คือ ประกาศอาเรยสำหรับเก็บคา จำนวนเต็มมีขนาดเปน 3x3 เมื่อประกาศอาเรยโดยมีคำสั่ง new แลวแตยังไมไดกำหนดคาใหกับ อาเรย คาในอาเรยท้ังหมดจะเปนคาเริ่มตน (default) คือ 0 และหากคาเริม่ ตนถูกกำหนดพรอมกบั การประกาศอาเรยจึงไมจำเปนตองใสข นาดใหกับอาเรยในตัวอยางแบบที่สอง มีตัวอยางโปรแกรม อาเรยแ บบ 2 มิติ ดังรูปท่ี 8.3 รูปที่ 8.3 ตัวอยางโปรแกรมการประกาศอาเรย 2 มติ ิ ในตัวอยางเปนการประกาศอาเรย 2 มิติ ที่มีขนาด 3x3 และใช nested loop ในการ กำหนดคา ใหกบั อาเรยโ ดยคาแรกคือ 10 และเพิ่มข้นึ ครั้งละ 5 จากตัวแปร data โดย loop ดา นนอก จะเปน Row และ loop ดา นในจะเปน Column จากนน้ั จะเปน การแสดงขอมูลทอ่ี ยูในอาเรยโดยใช nested loop เชน กัน เม่อื รันโปรแกรมจะไดผลลัพธด งั รูปท่ี 8.4 _________________________________________________________________________ เรยี บเรียงโดย: อาจารยภรู วิ ัฒน เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจัดการ

120 เอกสารประกอบการสอน วิชาการเขียนโปรแกรมคอมพิวเตอร (11-413-202) รปู ท่ี 8.4 ผลลพั ธก ารรนั ตวั อยา งโปรแกรมการประกาศอาเรย 2 มิติ 8.3 อาเรย 3 มติ ิ และอาเรยห ลายมติ ิ นอกจากอาเรย 1 มติ ิ และ 2 มติ ิ แลว ยงั สามารถประกาศอาเรย 3 มติ ิ 4 มติ ิ และ 5 มิติได ตามตองการ โดยการเพิ่มเคร่อื งหมาย [ ] แตอ ยางไรกต็ ามในการเขียนโปรแกรม เรามักจะใชง านมาก ทีส่ ดุ 3 มิติ มีรูปแบบการประกาศอาเรยห ลายมติ ิไดด ังน้ี int [ ][ ][ ] threeDimension = new int[3][4][5]; int [ ] ... [ ] multiDimension = new int[dim_1] ... [dim_n]; _________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภ รู ิวัฒน เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

เอกสารประกอบการสอน วชิ าการเขยี นโปรแกรมคอมพิวเตอร (11-413-202) 121 แบบฝก หดั บทที่ 8 1. จงเขยี นโปรแกรมเพอ่ื คำนวณเกรดวิชา Computer Programming และแสดงผลลพั ธอ อกทาง จอภาพ โดยใหคิดเงอื่ นไขดังนี้ ถา คะแนน มากกวาหรือเทากับ 80 ใหเกรด A 70 – 79 เกรด B 60 – 69 เกรด C 50 – 59 เกรด D นอยกวากวา 50 เกรด F โดยการคำนวณเกรดจะแบงสวนคะแนนออกเปน คะแนนปฏิบัติ 20 คะแนน รายงาน 20 คะแนน สอบกลางภาค 30 คะแนน และสอบปลายภาค 30 คะแนน รวมคะแนนทั้งหมด 100 คะแนน นักศึกษาแตล ะคนมคี ะแนนสอบดงั น้ี (รบั ขอมลู เขา ทางคียบอรด) Student Name Lab Report Mid-Term Final-Term 1. ชัยชนะ จรสั ชัยประชา 2. ของขวัญ ดลิ กธรรมสกลุ 15 17 20 19 3. ธนีดา กมลไพศาล 4. ธาวติ เชาวกรกุล 17 16 18 19 5. โอฬาร ตันติวงษไ พบลู ย 12 19 19 16 11 15 21 22 15 12 18 21 2. จงเขยี นโปรแกรมเพอ่ื รบั คาขอมลู จำนวนเต็มจากผูใช (รบั ขอมูลเขา ทางคยี บ อรด ) 20 จำนวน เก็บ ไวในตวั แปร array จากนั้นใหแยกขอมลู ออกเปน 2 กลุม คอื เลขคู และเลขค่ี แสดงผลโดยเรยี งลำดบั ขอมลู จากนอยไปมาก Data input 2, 5, 84, 63, 72, 98, 45, 12, 11, 23, 58, 78, 36, 34 Even Number 2, 12, 34, 36, 58, 72, 78, 84, 98 Odd Number 5, 11, 23, 45, 63 _________________________________________________________________________ เรียบเรยี งโดย: อาจารยภูริวฒั น เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจัดการ

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

เอกสารประกอบการสอน วิชาการเขยี นโปรแกรมคอมพิวเตอร (11-413-202) 123 สปั ดาหท่ี 10 ใบเตรยี มการสอน เวลา 4 ช่วั โมง บทท่ี 9 คลาสสตรงิ 9.1 การประกาศ String 9.2 การตอ String 9.3 เมธอดในคลาส String 9.4 การเปรียบเทยี บ String จดุ ประสงคก ารสอน 9.1 เขาใจวธิ ีการประกาศตัวแปรชนดิ String การเกบ็ ขอ มลู และการแสดงผลทางจอภาพ 9.2 สามารถเลือกใชงานเมธอดทอี่ ยูในคลาส String ไดอยางเหมาะสม 9.3 เขาใจหลกั การเปรียบเทียบตวั แปรชนิด String _________________________________________________________________________ เรยี บเรียงโดย: อาจารยภ ูริวฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจัดการ

124 เอกสารประกอบการสอน วิชาการเขยี นโปรแกรมคอมพวิ เตอร (11-413-202) บทที่ 9 สตรงิ การใชงานตวั แปรชนิด String หรอื คลาสของ String ถอื วา สิ่งที่พบเจอบอยท่สี ุดในการเขียน โปรแกรมเพราะ String สามารถจัดเกบ็ รปู แบบขอ ความไดหลากหลาย ท้งั ขอความทั่วไป ท่รี ับคาจาก ผูใช หรือตัวแปรท่ีนำไปแสดงผลทางหนาจอ หรือขอความที่เปนแบบออบเจ็คที่ถูกสรางขึ้นมาแลว จัดเกบ็ ไวใ นตวั แปร สามารถนำไปใชง านอยางอ่ืนได นอกจากนี้ String ยังมีเมธอดสำหรบั การจัดการ ขอมูลเพ่อื ชวยใหผเู ขยี นโปรแกรมสะดวกในการใชง าน ดังน้ี 9.1 การประกาศ String การประกาศตัวแปรชนิด String จะมีอยู 3 รูปแบบ คือ การประกาศตัวแปรพื้นฐานทั่วไป การประกาศตวั แปรแบบออบเจ็ค และการประกาศ String ดวย char array ดงั ตอ ไปนี้ // method 1 String str = \"Declaring string in Java.\"; // method 2 String str2 = new String (\"Creating with String constructor.\"); // method 3 char[] c = new char[] {'C', 'h', 'a', 'r', 'a', 'r', 'r', 'a', 'y'}; String str3 = new String(c); วิธีการแรกเปนวิธีปกติที่มีตัวอยางการใชงานในบทที่ผานมา เปนวิธีที่งายที่สุดโดยการ กำหนดคา String ใหกับตัวแปรโดยใชเครื่องหมาย “ ” (double quote) วิธีการที่สองเปนการ ประกาศ String โดยใช constructor ของคลาส และวิธีสุดทายเปนการประกาศ String ดวย char array รวมกบั constructor ซ่งึ ผลลพั ธท ีไ่ ดน ั้นไมแตกตางกัน _________________________________________________________________________ เรียบเรียงโดย: อาจารยภ รู ิวัฒน เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจัดการ

เอกสารประกอบการสอน วชิ าการเขยี นโปรแกรมคอมพวิ เตอร (11-413-202) 125 9.2 การตอ String การตอ String หรือ String concatenation ในบทที่ผานมาไดอธิบายถึงตัวดำเนินการ เกี่ยวกับการตอ String ไปแลวนั้น คือ การนำ String ตั้งแต 1 หรือหลายอันมาตอกันโดยใช เครือ่ งหมาย “+” แตเ นอื่ งจาก String ในภาษา Java เปน คลาสในไลบรารี่ ดงั นั้นการใชเคร่ืองหมาย “+” จงึ เปนวธิ กี ารที่ทำใหเ กดิ overloading operator เชน String firstName = \"Puriwat\"; String lastName = \"Lertkrai\"; String fullName = firstName + \" \" + lastName; ในตัวอยา งเปน การตอ String 2 ตวั เขา ดว ยกัน คือ firstName ตอดว ย lastName แลว นำคา ใหมที่ไดนั้นมาเก็บไวในตัวแปร String ชื่อ fullName ซึ่งมีคาเปน “Puriwat Lertkrai” การใช เครื่องหมาย “+” นอกจากจะตอ String ดว ยกนั แลว ยังสามารถตอ String กับตวั แปรชนดิ อนื่ ดังรปู ที่ 9.1 รปู ท่ี 9.1 ตัวอยางโปรแกรมการตอ String _________________________________________________________________________ เรียบเรียงโดย: อาจารยภ ูริวฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจัดการ

126 เอกสารประกอบการสอน วิชาการเขียนโปรแกรมคอมพิวเตอร (11-413-202) จากตัวอยางเปนการตอ String กับตัวแปรชนิดอื่น คือ จำนวนเต็ม (integer) คือ ในคำสั่ง System.out.print(\"I'm \"+age+ \" years old.\"); ซ่ึงจะทำใหคา ของตัวแปร integer นน้ั ถกู แปลงเปน String หลักการนี้สามาถเกิดข้ึนไดกับตัวแปรทุกชนิดในกรณีที่มีการตอ ดวย String เมื่อรันโปรแกรม ตวั อยา งจะไดผ ลลัพธตามรูปท่ี 9.2 รูปท่ี 9.2 ผลลพั ธก ารรันตวั อยางโปรแกรมการตอ String 9.3 เมธอดในคลาส String จากที่กลาวขางตน String ในภาษา Java นั้นเปนคลาส ดังนั้นจึงมีเมธอดตาง ๆ ที่สามารถ เรยี กใชง านได เมธอดกค็ ือฟง กชันที่ใชในการจัดการขอ มูลเพอื่ ใหไ ดผลลพั ธตามทตี่ องการ โดยในคลาส String มีเมธอดที่นา สนใจตามตารางที่ 9.1 ตารางท่ี 9.1 ตวั อยา งเมธอดในคลาส String เมธอด คำอธิบาย new String ( text ); ใชสรา ง object string new String ( char_array ); ใชส ราง object string จาก char new String ( char_array, start, count ); ใชสรา ง object string จาก char โดยมกี ารกำหนด ตำแหนงเรมิ่ ตน และจำนวนดวย new String ( object_strint ); ใชสราง object string จาก object string new String ( byte_ascii_array ); ใชสรา ง object string จาก ascii new String ( byte_ascii_array, start, count ); ใชสรา ง object string จาก ascii โดยมีการกำหนด ตำแหนงเริ่มตน และจำนวนดวย new String ( text ); ใชส ราง object string equals() ใชในการเปรียบเทียบขอ ความ compareTo() ใชใ นการเปรียบเทยี บขอความ โดยจะคอ ย ๆ เปรียบเทยี บทีละตวั อักษร จากรหสั ascii ของขอความ string _________________________________________________________________________ เรียบเรยี งโดย: อาจารยภ ูริวฒั น เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพวิ เตอร (11-413-202) 127 เมธอด คำอธิบาย ใชรวมขอความ string ( มคี า เหมือนการใชต ัว concat() ดำเนนิ การ \"+\" ) ใชด ึงขอ มูลจากขอความ string โดยเร่ิมจากตำแหนงท่ี substring() กำหนด จนถงึ ตำแหนงที่กำหนด ใชด งึ ขอมลู จากขอ ความ string ณ ตำแหนง ท่ีกำหนด charAt() โดยจะดึงมาเพยี ง 1 ตัวอักษร ใชดึงขอ มูลจากขอ ความ string ต้งั แตต ำแหนงที่กำหนด getChars() จนถงึ ตำแหนง ที่กำหนด ใชแทนทีต่ ัวอักษร replace() ใชค ืนคาจำนวนของขอความ string length() ใชต ดั ชองวางทางดา นขวาและดานซายออกจาก trim() ขอความ string ใชค นหาขอความหรอื ตัวอักษรทกี่ ำหนด เปนการคนหา indexOf() จากหนาไปหลัง และจะคืนตำแหนง แรกที่พบ ใชค น หาขอความหรือตัวอักษรทกี่ ำหนด เปนการคน หา indexOf ( text, start ); จากหนา ไปหลัง โดยจะเริม่ คน หาต้ังแตตำแหนง ท่ี กำหนด และจะคืนตำแหนง แรกท่ีพบ lastIndexOf() ใชคนหาขอความหรอื ตัวอักษรท่ีกำหนด เปนการคน หา lastIndexOf ( text, start ); จากหลังมาหนา และจะคนื ตำแหนงแรกทีพ่ บ ใชคน หาขอความหรือตวั อักษรท่ีกำหนด เปนการคน หา toUpperCase() จากหลังมาหนา โดยจะเรมิ่ คนหาตัง้ แตตำแหนง ที่ toLowerCase() กำหนด และจะคนื ตำแหนงแรกท่ีพบ isEmpty() ใชเปลี่ยนตวั อักษรใหเปนตัวพมิ พใ หญท ้งั หมด ใชเปลี่ยนตัวอักษรใหเ ปนตัวพมิ พเลก็ ทัง้ หมด ใชต รวจสอบ string เปน คาวาง (null) หรือไม _________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภ ูริวฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจดั การ

128 เอกสารประกอบการสอน วิชาการเขียนโปรแกรมคอมพวิ เตอร (11-413-202) รูปที่ 9.3 ตัวอยางโปรแกรมการใชเมธอดในคลาส String จากรูปท่ี 9.3 เปนตวั อยางโปรแกรมการใชงานเมธอดในคลาส String เชน เมธอด length(); ใชสำหรับหาความยาวของขอความ เมธอด charAt(); สำหรับหาตำแหนงตัวอักษรในตำแหนง ที่ระบุ หรือเมธอด toUpperCase(); ใชส ำหรบั การแปลงตวั อกั ษรใน String ใหเปน ตัวพิมพใ หญทัง้ หมด เปน ตน ผลการรนั โปรแกรมจะได ดงั รปู ที่ 9.4 _________________________________________________________________________ เรียบเรยี งโดย: อาจารยภรู ิวฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพิวเตอร (11-413-202) 129 รูปที่ 9.4 ผลลพั ธการรนั ตัวอยา งโปรแกรมการการใชเมธอดในคลาส String 9.4 การเปรียบเทยี บ String การเปรียบเทียบ String นั้นสามารถทำไดหลายวิธี ซึ่งในภาษา Java ไดจัดเตรียมความ หลากหลายของเมธอดสำหรบั เปรียบเทยี บ String ทจี่ ะใหผลลพั ธท ่ีตางกัน ไดแ ก 9.4.1 การใชตัวดำเนนิ การ (==) วิธกี ารนเี้ ปนการเปรียบเทยี บ String ทัง้ 2 ตัว เพ่อื ตรวจสอบวา เปนออบเจค็ เดียวกันหรือไม เชน String str1 = \"Programming\"; String str2 = \"Programming\"; If (str1 == str2) System.out.println(“Same object.”); else System.out.println(“Difference object.”); _________________________________________________________________________ เรยี บเรียงโดย: อาจารยภ รู ิวฒั น เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจัดการ

130 เอกสารประกอบการสอน วิชาการเขียนโปรแกรมคอมพวิ เตอร (11-413-202) ในตัวอยา งเปนการเตรียมเทียบ String 2 ตวั ทีม่ ีคาเหมือนกัน ดงั นั้น expression ของคำส่ัง if จึงมีคาเปน true คำสั่งในบล็อก if จึงทำงานคือพิมพขอความ “Same object” ออกทาง หนาจอภาพ 9.4.2 เมธอด equals (); วธิ ีการนจ้ี ะเปนการเปรยี บเทยี บตัวอกั ษรทกุ ตัวใน String โดยจะตอ งมีตำแหนงเดียวกันและ ตัวอักษรพมิ พเ ลก็ พิมพใหญต องเหมือนกนั String str1 = \"Programming\"; String str2 = \"Programming\"; If (str1.equals(str2)) System.out.println(“str2 equals to str1.”); else System.out.println(“str2 not equals to str1”); ในตัวอยางจะเปนการเปรยี บเทียบ str1 และ str2 โดยวิธีการเปรียบเทียบตัวอักษรทีละตวั หากตวั อกั ษรเหมือนกันทกุ ตำแหนง expression ของคำสงั่ if จะมีคา เปน true หมายถงึ String 2 คา นนั้ เหมือนกัน แตหาก expression เปน false แสดงวา String 2 คา นัน้ ตางกนั 9.4.3 เมธอด compareTo(); เมธอดนี้จะมีการเปรียบเทียบตางจาก equals() กลาวคือ equals() จะเปรียบเทยี บเพยี งวา ถามคี าเทากันทกุ ตัวอักษร จึงจะเปน true แตถามีตัวใดตวั หน่ึงตางกนั แมเ พียงตวั เดยี ว กจ็ ะใหผลลพั ธ เปน false ทันที แตสำหรับ compareTo() จะเปรียบเทียบทีละตัวอักษร จากรหัส ascii และคืนคา กลบั มาเปน 3 คาคอื _________________________________________________________________________ เรยี บเรียงโดย: อาจารยภ รู ิวัฒน เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจดั การ


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