สารบัญ
๑ พร้อมแล้วเริ่ม 1
ซอฟต์แวร์ช่วยพัฒนาโปรแกรม..................................................................................................... 1
โปรแกรมแรก................................................................................................................................... 2
องค์ประกอบของโปรแกรม............................................................................................................ 6
ตัวแปลโปรแกรม............................................................................................................................. 7
ข้อผิดพลาดของโปรแกรม.............................................................................................................. 8
โปรแกรมสวยอ่านง่าย.................................................................................................................. 10
เพิ่มเติม.......................................................................................................................................... 12
แบบฝึกหัด.................................................................................................................................... 13
๒ คำนวณ 15
บวก ลบ คูณ หาร......................................................................................................................... 15
จำนวนเต็มกับจำนวนจริง............................................................................................................. 16
ตัวแปร........................................................................................................................................... 17
การตั้งชื่อตัวแปร........................................................................................................................... 18
การให้ค่าตัวแปร........................................................................................................................... 20
การเปลี่ยนประเภทข้อมูล............................................................................................................ 20
การอ่านข้อมูลจากแป้นพิมพ์........................................................................................................ 21
การใช้ตัวแปร................................................................................................................................ 23
คลาส Math และลำดับการดำเนินการ......................................................................................... 24
ลำดับการคำนวณ................................................................................................................. 26
การลดจำนวนตัวแปร.................................................................................................................... 27
การทดสอบและการแก้จุดบกพร่อง............................................................................................ 30
DWindow...................................................................................................................................... 35
ตัวดำเนินการเสริม........................................................................................................................ 37
เศษจากการหาร................................................................................................................... 37
บวกบวก ลบลบ................................................................................................................... 37
ตัวดำเนินการให้ค่า............................................................................................................... 37
เพิ่มเติม.......................................................................................................................................... 38
byte, short, long, float........................................................................................................ 38
จำนวนเต็มในระบบเลขฐานสอง......................................................................................... 39
จำนวนจริงในระบบเลขฐานสอง.......................................................................................... 40
การหารด้วยศูนย์.................................................................................................................. 41
เรื่องจุกจิกของ Scanner...................................................................................................... 42
แบบฝึกหัด.................................................................................................................................... 44
๓ ทำซ้ำ ๆ 47
วงวนไม่รู้จบ.................................................................................................................................. 47
DWindow...................................................................................................................................... 49
นาฬิกาเข็มเดียว................................................................................................................... 49
วาดลายเส้นด้วยเมาส์.......................................................................................................... 50
งูเลื้อยตามเมาส์.................................................................................................................... 50
งูเลื้อยตามเมาส์ (อีกแบบ).................................................................................................. 51
ลูกบอลเคลื่อนที่................................................................................................................... 53
การกระโดดออกจากวงวน........................................................................................................... 55
วงวนรู้จบ....................................................................................................................................... 56
โปรแกรมหาค่าเฉลี่ย (3 แบบ)............................................................................................ 57
การทดสอบจำนวนเฉพาะ................................................................................................... 59
การบรรยายแนวคิดของโปรแกรม.............................................................................................. 61
การบรรยายด้วยข้อความ................................................................................................... 61
การบรรยายด้วยรหัสเทียม................................................................................................. 61
การบรรยายด้วยผังงาน....................................................................................................... 62
เพิ่มเติม.......................................................................................................................................... 63
แบบฝึกหัด.................................................................................................................................... 65
๔ เลือกปฏิบัติ 69
จริงถึงจะทำ................................................................................................................................... 69
การทดสอบความถูกต้องของข้อมูลขาเข้า........................................................................ 70
ลูกบอลเด้งได้....................................................................................................................... 70
วันใดของสัปดาห์................................................................................................................. 71
จริงทำอย่าง เท็จทำอย่าง............................................................................................................. 73
ตัวน้อยตัวมาก...................................................................................................................... 73
ค่าประมาณของ p ................................................................................................................ 74
คำสั่งกับกลุ่มคำสั่ง........................................................................................................................ 75
และ หรือ ไม่.................................................................................................................................. 76
กุมภาพันธ์มีกี่วัน.................................................................................................................. 76
ตัดเกรด................................................................................................................................. 78
ลำดับการทำงานของตัวดำเนินการ.................................................................................... 80
การจัดการนิพจน์ตรรกะ....................................................................................................... 80
if หลายชั้น..................................................................................................................................... 81
ตัวมากสุด............................................................................................................................. 81
มัธยฐาน................................................................................................................................ 83
ตัวแปรแบบ boolean.................................................................................................................... 84
เกมทายตัวเลข..................................................................................................................... 84
รากของสมการกำลังสอง..................................................................................................... 85
เพิ่มเติม.......................................................................................................................................... 87
ตัวดำเนินการเงื่อนไข........................................................................................................... 87
วงจรลัด................................................................................................................................. 87
switch-case.......................................................................................................................... 88
0.1 + 0.1 + 0.1 ¹ 0.3.......................................................................................................... 89
แบบฝึกหัด.................................................................................................................................... 90
๕ ข้อความ 95
สตริง.............................................................................................................................................. 95
บริการที่น่าสนใจของสตริง.......................................................................................................... 96
วงวน (อีกครั้ง).............................................................................................................................. 98
วงวน while........................................................................................................................... 98
วงวน do-while..................................................................................................................... 99
วงวน for................................................................................................................................ 99
ตัวอย่างการใช้งาน..................................................................................................................... 101
มาตรฐานรหัสแท่ง EAN-13............................................................................................. 101
พาลินโดรม.......................................................................................................................... 103
การเข้ารหัสลับแบบ ROT-13........................................................................................... 104
การอ่านเขียนแฟ้มข้อมูล............................................................................................................ 106
การอ่านแฟ้มข้อมูล............................................................................................................ 106
วรรณยุกต์ใดใช้มากสุด..................................................................................................... 107
การเขียนแฟ้มข้อมูล.......................................................................................................... 109
โปรแกรมตรวจคำสะกด.................................................................................................... 111
โปรแกรมแปลคำอังกฤษเป็นไทย.................................................................................... 113
การเปรียบเทียบสตริง............................................................................................................... 116
เพิ่มเติม........................................................................................................................................ 117
มาตรฐานยูนิโคด................................................................................................................ 117
ประเภทข้อมูล char........................................................................................................... 118
การเปรียบเทียบสตริงไทย............................................................................................... 119
แบบฝึกหัด.................................................................................................................................. 120
๖ แยกย่อย 125
องค์ประกอบของเมท็อด........................................................................................................... 125
หัวเมท็อด........................................................................................................................... 127
ตัวเมท็อด........................................................................................................................... 128
ตัวอย่างผิดๆ...................................................................................................................... 129
การเรียกใช้เมท็อด..................................................................................................................... 130
การเรียกใช้เมท็อดของคลาสอื่น...................................................................................... 131
หลักการเขียนเมท็อด................................................................................................................. 132
การแปลงจำนวนเต็มเป็นข้อความ.................................................................................... 134
การวาดรูปหลายเหลี่ยมด้านเท่า...................................................................................... 137
การทดสอบความถูกต้องของพารามิเตอร์...................................................................... 140
เมท็อดแบบเรียกซ้ำ................................................................................................................... 142
ผลบวก 1 + 2 +... + n....................................................................................................... 144
จำนวนฟิโบนักชี................................................................................................................. 145
พาลินโดรม (อีกครั้ง).......................................................................................................... 146
การหาค่า ab mod m........................................................................................................... 147
หอคอยฮานอย.................................................................................................................. 148
เพิ่มเติม........................................................................................................................................ 151
การซ้อนเหลื่อมของปัญหาย่อย....................................................................................... 151
การวาดสาทิสรูปด้วยโปรแกรมแบบเรียกซ้ำ.................................................................. 152
แบบฝึกหัด.................................................................................................................................. 156
๗ แถวลำดับ 159
การสร้างและการใช้งาน.............................................................................................................. 159
โปรแกรมเก็บสถิติคะแนนสอบ......................................................................................... 161
ลูกบอลหลายลูก................................................................................................................. 163
การใช้ดัชนีนอกช่วงของอาเรย์......................................................................................... 164
การตั้งค่าเริ่มต้น.......................................................................................................................... 165
เมท็อดที่รับอาเรย์...................................................................................................................... 166
การเปรียบเทียบอาเรย์..................................................................................................... 167
การหาค่ามากสุดในอาเรย์................................................................................................. 167
การค้นข้อมูลในอาเรย์....................................................................................................... 168
การสลับข้อมูลสองตัวในอาเรย์........................................................................................ 168
การล้างข้อมูลในอาเรย์...................................................................................................... 169
การเรียงลำดับข้อมูลในอาเรย์........................................................................................... 170
เมท็อดที่คืนอาเรย์...................................................................................................................... 172
การขยายอาเรย์................................................................................................................. 172
การคืนผลลัพธ์หลายตัว..................................................................................................... 172
การกรองข้อมูล.................................................................................................................. 173
การผสานข้อมูล.................................................................................................................. 174
โปรแกรมวาดกราฟเส้น.............................................................................................................. 175
ค่าเฉลี่ยเคลื่อนที่................................................................................................................ 177
อาเรย์หลายมิติ........................................................................................................................... 178
การประมวลผลเมทริกซ์.................................................................................................... 180
แผนที่จุดภาพ..................................................................................................................... 182
การประมวลผลภาพ........................................................................................................... 184
เพิ่มเติม........................................................................................................................................ 189
การอ่านข้อมูลจากบรรทัดคำสั่ง....................................................................................... 189
การจัดเก็บอาเรย์หลายมิติ................................................................................................ 191
คลาสมาตรฐานที่ให้บริการกับอาเรย์............................................................................... 193
ตัวดำเนินการระดับบิต...................................................................................................... 194
แบบฝึกหัด.................................................................................................................................. 197
๘ วัตถุสิ่งของ 203
องค์ประกอบ การสร้าง และการใช้งาน.................................................................................... 203
เมท็อดประจำคลาส........................................................................................................... 204
ตัวแปรประจำคลาส........................................................................................................... 204
ตัวแปรประจำอ็อบเจกต์.................................................................................................... 205
เมท็อดประจำอ็อบเจกต์.................................................................................................... 209
ตัวสร้าง............................................................................................................................... 211
ข้อมูลส่วนบุคคล......................................................................................................................... 214
toString กับ equals.................................................................................................................... 216
ตัวอย่าง....................................................................................................................................... 218
คลาสเวลา........................................................................................................................... 218
คลาสจำนวนเชิงซ้อน......................................................................................................... 219
การหารากของสมการด้วยวิธีของนิวตัน......................................................................... 221
คลาสวินโดว์แสดงกราฟเส้น............................................................................................. 223
คลาสข้อมูลอนุกรมเวลา.................................................................................................... 226
เกมจับคู่ทดสอบความจำ.................................................................................................. 228
เกร็ดอ็อบเจกต์........................................................................................................................... 232
this และ this(...)................................................................................................................. 233
ตัวสร้างสำเนา.................................................................................................................... 235
ตัวแปรที่ตั้งค่าได้ครั้งเดียว................................................................................................ 236
เพิ่มเติม........................................................................................................................................ 238
คลาสที่ห้ามไม่ให้ new อ็อบเจกต์.................................................................................... 238
การจัดกลุ่มคลาสเป็นชุด................................................................................................... 239
สาทิสรูปของวิธีนิวตัน....................................................................................................... 242
แบบฝึกหัด.................................................................................................................................. 243
๙ สร้างใหม่จากเก่า 249
การรับทอด................................................................................................................................. 249
ตัวอย่าง....................................................................................................................................... 253
แอลอีดีแบบจุด................................................................................................................... 253
แอลอีดีแสดงตัวเลข........................................................................................................... 255
แผงแอลอีดีแสดงจำนวนเต็ม............................................................................................. 257
DWindow3D ที่มีความลึก................................................................................................ 258
ลูกบอลเด้งในห้อง.............................................................................................................. 262
หนึ่งอ็อบเจกต์ หลายบทบาท................................................................................................... 264
การเปลี่ยนบทบาท............................................................................................................ 265
instanceof.......................................................................................................................... 266
การเรียกเมท็อดประจำอ็อบเจกต์.................................................................................... 267
ลูกบอลเด้งได้ (ต่อ).................................................................................................................... 269
คลาสที่รับผิดชอบมากไป................................................................................................. 270
คลาสที่รับผิดชอบเท่าที่จำเป็น......................................................................................... 271
เกร็ดการรับทอด......................................................................................................................... 273
Object : บรรพบุรุษของทุกคลาส..................................................................................... 273
@Override.......................................................................................................................... 277
คลาสและเมท็อดแบบ final............................................................................................... 278
เพิ่มเติม........................................................................................................................................ 280
ทัศนวิสัย............................................................................................................................. 280
คลาสนามธรรม................................................................................................................... 280
อินเทอร์เฟซ....................................................................................................................... 283
Comparable........................................................................................................................ 285
ศัพท์ OO............................................................................................................................. 288
แบบฝึกหัด.................................................................................................................................. 289
๑๐ สิ่งผิดปกติ 295
สิ่งผิดปกติเกิดขึ้นได้เสมอ......................................................................................................... 295
try - catch.................................................................................................................................... 297
ประเภทของสิ่งผิดปกติ............................................................................................................. 299
การสร้างและโยนสิ่งผิดปกติ...................................................................................................... 300
การประกาศว่าจะโยนสิ่งผิดปกติ...................................................................................... 301
ผิดอะไร ผิดอย่างไร ผิดที่ไหน......................................................................................... 303
การสร้างสิ่งผิดปกติแบบใหม่........................................................................................... 304
ขั้นตอนการโยน-รับสิ่งผิดปกติ.................................................................................................. 305
การใช้อ็อบเจกต์สิ่งผิดปกติที่ได้รับ................................................................................. 306
ลำดับการ catch................................................................................................................. 308
ตัวอย่าง....................................................................................................................................... 309
โปรแกรมคำนวณภาษีเงินได้............................................................................................ 309
โปรแกรมเติมภาพฉากหลังในแฟ้มรูปแบบ PDF............................................................. 312
โปรแกรมสรุปหัวข้อข่าว................................................................................................... 314
สุดท้ายนี้...................................................................................................................................... 316
เพิ่มเติม........................................................................................................................................ 318
การแทนเมท็อดของคลาสแม่ที่โยนสิ่งผิดปกติ............................................................... 318
assert : การยืนยันความจริง.............................................................................................. 319
แบบฝึกหัด.................................................................................................................................. 322
ภาคผนวก ก. การติดตั้ง JLab 327
ภาคผนวก ข. DWindow 335
ภาคผนวก ค. บรรณานุกรม 343
ดัชนี 345