โจทย์ปญั หา : เกณฑก์ ารคัดเลือกบุคลากร AND (และ) , && ผู้สมคั รเปน็ เพศชาย และ มีสว่ นสงู 160 ซม. เปน็ ตน้ ไป (ผา่ นเกณฑ)์ OR (หรอื ) , | | ผู้สมัครเปน็ เพศชาย หรือ มีสว่ นสงู 160 ซม. เปน็ ตน้ ไป (ผ่านเกณฑ)์ NOT (ไม)่ , ! ผ้สู มัครไมไ่ ดเ้ ปน็ เพศชาย
โจทย์ปญั หา : โปรแกรมตดั เกรดอย่างงา่ ย คํานวณเกรดจากคะแนนสอบของนักเรียน คะแนนเตม็ 100 คะแนน โดยมเี กณฑด์ งั น้ี คอื ● คะแนน 80 - 100ได้เกรด A ● คะแนน 70 - 79 ไดเ้ กรด B ● คะแนน 60 - 69 ไดเ้ กรด C ● คะแนน 50 - 59ไดเ้ กรด D ● น้อยกวา่ 50 คะแนน ไดเ้ กรด F ● ปอ้ นค่าอื่นแสดงข้อความวา่ ไมพ่ บข้อมลู
if..else แบบลดรูป (Ternary Operator) ตวั แปร = (เงื่อนไข) ? คาํ ส่งั เม่ือเง่อื นไขเปน็ จริง : คาํ ส่งั เม่อื เงอื่ นไขเปน็ เทจ็ ; if(เง่อื นไข){ คาํ ส่งั เม่ือเงอ่ื นไขเปน็ จริง }else{ คําส่งั เมือ่ เงือ่ นไขเปน็ เท็จ }
การเขียน if ซ้อน if if(เง่ือนไขที่ 1){ if(เงอ่ื นไขที่ 2 ){ คําส่งั เมอื่ เงอ่ื นไขที่ 2 เปน็ จริง ; } }
โจทยป์ ญั หา : โปรแกรมคํานวณสว่ นลด ถ้าชาํ ระเงนิ เกนิ 15,000 บาทจะไดร้ ับสว่ นลดแต่ถา้ น้อยกวา่ จะไมไ่ ดร้ ับสว่ นลด ชาํ ระเงิน 15,000 บาท สว่ นลด 10% ชาํ ระเงิน 20,000 บาท สว่ นลด 20% ชาํ ระเงนิ 30,000 บาท สว่ นลด 30%
แบบมเี งื่อนไข (Condition) กล่มุ คาํ ส่งั ทใี่ ชต้ ดั สนิ ใจในการเลือกเงอ่ื นไขต่างๆ ภายในโปรแกรมมาทาํ งาน ● Switch..Case Switch เปน็ คําส่งั ทีใ่ ชก้ าํ หนดเงื่อนไขคลา้ ยๆกบั if แตจ่ ะเลอื กเพยี ง หน่ึงทางเลอื กออกมาทาํ งานโดยนําคา่ ในตวั แปรมากาํ หนดเปน็ ทาง เลือกผ่านคาํ ส่งั case
รูปแบบคาํ ส่งั switch(สง่ิ ที่ตอ้ งการตรวจสอบ) { case ค่าท่ี 1 : คําส่งั ท่ี 1; ***คาํ ส่งั break break; จะทาํ ใหโ้ ปรแกรมกระโดด case คา่ ท่ี 2 : คาํ ส่งั ที่ 2; break; ออกไปทาํ งานนอกคาํ ส่งั switch …… ถา้ ไมม่ คี ําส่งั break โปรแกรมจะทํา case ค่าท่ี N : คาํ ส่งั ท่ี N; break; คําส่งั ตอ่ ไปเรื่อยๆ จนจบการทาํ งาน default : คําส่งั เมอ่ื ไมม่ ีค่าที่ตรงกับท่รี ะบุใน case }
โจทย์ปญั หา : โปรแกรมคํานวณเลข ใหป้ อ้ นตัวเลข 2 จํานวน แล้วเลือกรูปแบบการคํานวณตัวเลข ผา่ นตัวเลอื กที่กาํ หนด ● ถ้าพมิ พเ์ ลข 1 เปน็ การบวกเลข ● ถา้ พิมพ์เลข 2 เปน็ การลบเลข ● ถ้าพมิ พ์ตวั เลขอน่ื แจ้งวา่ ขอ้ มูลไมถ่ ูกต้อง
แบบทําซา (Loop) กลุ่มคําส่งั ทใ่ี ชใ้ นการวนรอบ (loop) โปรแกรมจะทาํ งานไปเร่อื ยๆจนกวา่ เงอื่ นไขทก่ี าํ หนดไวจ้ ะเปน็ เทจ็ จึงจะหยดุ ทาํ งาน ● While ● For ● Do..While
คาํ ส่งั While ● While Loop จะทาํ งานตามคําส่งั ภายใน while ไปเรอ่ื ยๆเมอ่ื เง่อื นไขท่ีกาํ หนดเปน็ จรงิ while(เงอ่ื นไข){ คาํ ส่งั ท่ีจะทําซาเมอ่ื เง่อื นไขเปน็ จรงิ ; }
คาํ ส่งั While 1.เชค็ เง่อื นไขถ้าเปน็ จริงใหท้ าํ คาํ ส่งั ซาใน Statement 2.ถา้ เปน็ เทจ็ ใหอ้ อกจาก Loop
คําส่งั For ● For Loop เปน็ รูปแบบการซาทใี่ ชใ้ นการตรวจสอบเงื่อนไขการทํางาน มกี ารกาํ หนด คา่ เริ่มตน้ และเปลย่ี นค่าไปพร้อมๆกนั เมอื่ เงื่อนไขในคําส่งั for เปน็ จรงิ กจ็ ะทาํ งานตามคาํ ส่งั ที่แสดงไวภ้ ายในคาํ ส่งั for ไปเรื่อยๆ
โครงสร้างคาํ ส่งั for(คา่ เริ่มตน้ ของตวั แปร; เงอื่ นไข; เปลย่ี นแปลงค่าตวั แปร) { คาํ ส่งั เมื่อเง่ือนไขเปน็ จริง; } for(int i = 1;i<=10;i++) { คําส่งั เม่ือเงอื่ นไขเปน็ จริง; }
คาํ ส่งั For 1.กําหนดคา่ เริ่มตน้ 2.เช็คเงอ่ื นไขถา้ เปน็ จริงใหท้ าํ คาํ ส่งั ซาใน Statement 3.ถ้าเปน็ เทจ็ ใหอ้ อกจาก Loop
คาํ ส่งั Do..While ● Do..While โปรแกรมจะทาํ งานตามคําส่งั อย่างน้อย 1 รอบ เมอื่ ทาํ งานเสรจ็ จะ มาตรวจสอบเงือ่ นไขทค่ี ําส่งั while ถา้ เงือ่ นไขเปน็ จริงจะวนกลบั ข้นึ ไปทาํ งานทีค่ าํ ส่งั ใหมอ่ ีกรอบ แตถ่ า้ เปน็ เท็จจะหลดุ ออกจากลูป
โครงสร้างคาํ ส่งั do { คําส่งั ตา่ งๆ เมอ่ื เงอื่ นไขเปน็ จริง; } while(เงื่อนไข);
คาํ ส่งั Do..While 1.ทํางานคําส่งั ใน Statement 2.เช็คเง่ือนไขถ้าเปน็ จริงใหก้ ลบั ไปทําซาใน Statement 3.ถ้าเปน็ เทจ็ ใหอ้ อกจาก Loop
คําส่งั ทเี่ กยี่ วขอ้ งกบั Loop ● break ถา้ โปรแกรมพบคาํ ส่งั น้ีจะหลดุ จากการทาํ งานในลปู ทนั ที เพอ่ื ไปทาํ คาํ ส่งั อืน่ ทอ่ี ย่นู อกลปู ● continue คําส่งั นี้จะทาํ ใหห้ ยุดการทํางานแลว้ ย้อนกลับไปเริ่มตน้ การทํางานที่ตน้ ลูปใหม่
ข้อแตกตา่ งและการใชง้ าน Loop ● For ใชใ้ นกรณีรู้จาํ นวนรอบท่ีชดั เจน ● While ใชใ้ นกรณีทไี่ มร่ ูจ้ ํานวนรอบ ● Do..while ใชใ้ นกรณีทอ่ี ยากใหล้ องทํากอ่ น 1 รอบ แลว้ ทาํ ซาไปเรอ่ื ยๆตราบเทา่ ทเ่ี งอ่ื นไขเปน็ จริง
โจทย์ปญั หา : หาผลรวมและค่าเฉลย่ี ● จํานวนตัวเลข : 5 จํานวน (n=5) ● รับค่าตัวเลขผา่ นแปน้ พมิ พ์ ● แสดงผลรวมตัวเลข 5 จํานวน (summation) ● แสดงค่าเฉลีย่ ตวั เลขจากสมการ average = summation / n
โจทย์ปญั หา : หาผลรวมและค่าเฉลยี่ (ไมจ่ าํ กดั ) ● จาํ นวนตวั เลข : ไมจ่ าํ กดั (n) ● รับคา่ ตวั เลขผ่านแปน้ พมิ พ์ ● ถา้ ปอ้ นเลขตดิ ลบใหจ้ บการทํางาน ● แสดงผลรวมตวั เลขตามจํานวนที่ปอ้ น (summation) ● แสดงค่าเฉล่ียตวั เลขจากสมการ average = summation / n
โจทย์ปญั หา : หาตวั เลขตาสดุ - สงู สดุ ● จาํ นวนตวั เลข : ไมจ่ าํ กดั (n) ● รับคา่ ตวั เลขผา่ นแปน้ พมิ พ์ ● ถา้ ปอ้ นเลขตดิ ลบใหจ้ บการทํางาน ● ตรวจสอบวา่ เลขท่ปี อ้ นมคี า่ สงู สดุ เทา่ ใด ● ตรวจสอบวา่ เลขทปี่ อ้ นมคี ่าตาสดุ เทา่ ใด
โจทย์ปญั หา : การจ่ายธนบตั รของ ATM ● รบั ตวั เลข 100 เปน็ ตน้ ไป ● ตู้ ATM จะจา่ ยธนบตั รฉบบั ละ 100 , 500 , 1,000 บาทเทา่ น้ัน ● ถา้ ปอ้ นเลขหลักหน่วย - หลกั สบิ จะใหก้ ลับไปปอ้ น จํานวนเงินอีกคร้ัง
โจทย์ปญั หา : การจ่ายธนบตั รของ ATM ● ตอ้ งการกดเงิน 1,800 บาท ● 1,800 หารดว้ ย 1000 จะไดธ้ นบตั ร 1,000 จํานวน 1 ฉบบั ● หาเศษจากการหาร 1,800 ดว้ ย 1,000 จะไดเ้ ศษ 800 ● นํา 800 หารดว้ ย 500 จะไดธ้ นบตั ร 500 จาํ นวน 1 ฉบบั ● หาเศษจากการหาร 800 ดว้ ย 500 จะไดเ้ ศษ 300 ● นํา 300 หารดว้ ย 100 จะไดธ้ นบตั ร 100 จํานวน 3 ฉบบั
Array
ขอ้ จํากัดของชนิดข้อมูลพื้นฐาน การประกาศตัวแปรแตล่ ะคร้ัง ตวั แปร 1 ตวั สามารถเกบ็ ขอ้ มลู ได้แค่ 1 ค่าเท่าน้ัน เชน่ $number = 1; ถ้าอยากเกบ็ เลข 10 ค่าต้องทําอยา่ งไร ? ต้องประกาศตวั แปร 10 ตวั แปร หรือไม่ ?
Array คอื อะไร ความหมายที่ 1 ชดุ ของตวั แปรทอ่ี ยูใ่ นรูปลําดบั ใชเ้ กบ็ คา่ ขอ้ มูล ใหอ้ ยใู่ นกลมุ่ เดยี วกนั ขอ้ มูลภายในอาร์เรยจ์ ะถกู เกบ็ บนหน่วย ความจําในตําแหน่งท่ตี อ่ เนื่องกัน โดยขนาดของอาร์เรยจ์ ะเล็กหรือ ใหญข่ ้ึนกับจํานวนมิติทก่ี าํ หนดข้ึน
Array คอื อะไร ความหมายท่ี 2 เปน็ ตัวแปรทใ่ี ชใ้ นการเก็บข้อมลู ที่มลี าํ ดบั ท่ตี อ่ เน่ือง ซ่ึงขอ้ มลู มคี ่าไดห้ ลายคา่ โดยใชช้ อื่ อา้ งอิงได้เพยี งชอื่ เดียว และใชห้ มายเลขกํากับ (index) ใหก้ ับตวั แปรเพือ่ จําแนกความแตก ต่างของคา่ ตวั แปรแตล่ ะตัว
คุณสมบตั ขิ อง Array 1. ใชเ้ กบ็ กลมุ่ ของข้อมลู 2. ขอ้ มลู ที่อยใู่ นอาร์เรยจ์ ะเรียกวา่ สมาชกิ หรือ อลิ ิเมนต์ (element) 3. แตล่ ะอลิ เิ มนต์ (element) จะเกบ็ ค่าขอ้ มูล (value) และอนิ เด็กซ์ (Index) เอาไว้ 4. Index หมายถงึ คยี ์ของอาร์เรยใ์ ชอ้ ้างอิงตําแหน่งของ element เริ่มตน้ ที่ 0 5. สมาชกิ ใน array ตอ้ งมชี นิดขอ้ มลู เหมอื นกนั 6. สมาชกิ ใน array จะถกู ค่ันด้วยเคร่ืองหมาย comma
ตวั แปร = โรงเรียน คา่ ทีเ่ กบ็ ในตวั แปร = นักเรยี น
การสรา้ งตวั แปรแบบปกติ
การสร้างตวั แปรแบบ Array
01 23
ขอ้ จํากดั คอื มขี นาดที่แน่นอน
ขอ้ จํากดั คอื ตอ้ งเปน็ นักเรยี นเทา่ น้ัน!!
การประกาศใช้ Array แบบ Primitive Data Type การประกาศ ชนิดขอ้ มลู [] ชอ่ื ตัวแปร = new ชนิดข้อมูล [ขนาด]; int[] number = new int[4]; หรือ ชนิดขอ้ มลู [] ชอื่ ตัวแปร = {สมาชกิ ,....};
การกาํ หนดคา่ number[0] = 10; number[1] = 20; number[2] = 30; number[3] = 40;
การสร้าง Array แบบ Primitive Data Type int[] number = {10, 20, 30, 40}; 10 20 30 40 String [] pets = {“แมว”,”กระตา่ ย”}; แมว กระตา่ ย
การเขา้ ถึงสมาชิก Array int[] number = {10, 20, 30, 40}; 10 (0) 20 (1) 30 (2) 40 (3) String [] pets = {“แมว”,”กระตา่ ย”}; แมว (0) กระตา ย (1)
การเปลยี่ นแปลงขอ้ มลู สมาชกิ Array int[] number = {10, 20, 30, 40}; number[1] = 100; String [] pets = {“แมว”,”กระตา่ ย”}; pets [1] = “เตา่ ”;
นับจํานวนสมาชกิ ใน Array int[] number = {10, 20, 30, 40}; number.length; String [] pets = {“แมว”,”กระตา่ ย”}; pets.length;
การเข้าถงึ สมาชิกดว้ ย For Loop String [] pets = {“แมว”,”กระตา่ ย”}; for (int i = 0; i < pets.length; i++) { System.out.println(pets[i]); }
การเขา้ ถงึ สมาชิกดว้ ย ForEach String [] pets = {“แมว”,”กระตา่ ย”}; for (String name : pets) { System.out.println(name); }
Array 2 มติ ิ ● Array ที่มขี ้อมูลสมาชกิ ภายในเปน็ array (array ซ้อน array) เปรียบเสมอื นกนั matrix ● มีโครงสร้างเปน็ รูปแบบแถว (แนวนอน) และคอลัมน์ (แนวต้ัง)
Array 2 มิติ ชนิดข้อมลู [][] ชอื่ ตวั แปร = { {Array ตัวที่ 1}, {Array ตวั ที่ 2}, {Array ตัวที่ 3} }
Array 2 มิติ String [][] products = { {“เก้าอ”้ี ,”โต๊ะ”,”โคมไฟ”}, {“คีย์บอร์ด”,”เมา้ ส”์ ,”แปน้ พมิ พ”์ }, {“ลปิ ตกิ ”,”โรลออน”,”ครีม”} }
Array 2 มิติ แถวที่ 0 คอลมั น์ที่ 0 คอลัมน์ท่ี 1 คอลัมน์ท่ี 2 แถวท่ี 1 แถวที่ 2 เกา้ อี้ โตะ๊ โคมไฟ คยี ์บอร์ด เมา้ ส์ แปน้ พมิ พ์ โรลออน ลปิ ตกิ ครมี
การเข้าถึงข้อมลู ใน Array 2 มติ ิ ● ชอื่ ตวั แปร [เลขแถว][เลขคอลัมน์]; ● เชน่ products [0][1];
การเขา้ ถงึ ข้อมูลด้วย Loop for (int rows = 0; rows < products.length; rows++) { for(int column = 0; column < products[rows].length; column++) { System.out.println(products[rows][column]); } }
เมธอด (Method)
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