คำสั่งควบคุมโปรแกรม งานที่#1 ม.6/2...
TRANSCRIPT
คำ��สั่��งคำวบคำมโปรแกรม
จั�ดทำ��โดยนาย กฤษณกาญจน� ก�นเจ�ยมตั�ว เลขที่�� ๕
นางสาว ชนกานตั� ดี�คล�าย เลขที่�� ๑๓นางสาว อิ นที่!กร ป้$อิมหิ น เลขที่�� ๒๕นางสาวภั�ที่ราภัรณ� เพิ่ �มพิ่)ล เลขที่�� ๒๒
นางสาวป้านชนก บุ!ญสมพิ่�กตัร� เลขที่�� ๓๕
นางสาวภัรภั�ที่ร สงส+าเภัา เลขที่�� ๓๖ช�-นม�ธยมศึ0กษาป้1ที่�� ๖/๒
ตั�วดี+าเน นการป้ระเภัที่น�-จะใหิ�ผลล�พิ่ธ�อิอิกมาเป้5นค6าที่าง ลอิจ ก ค7อิเป้5นจร ง (true) หิร7อิเป้5นเที่8จ (false)
อิย6างใดีอิย6างหิน0�งเที่6าน�-น ตั�วดี+าเน นการป้ระเภัที่น�-ย�งแบุ6ง อิอิกเป้5นตั�วดี+าเน นการแบุบุส�มพิ่�นธ� ตั�วดี+าเน นการที่าง
ตัรรกศึาสตัร� และตั�วดี+าเน นการระดี�บุบุ ตัตั�วด��เนิ�นิก�รแบบสั่�มพั�นิธ์�( Relatoonal Operators ) ตั�วดี+าเน นการป้ระเภัที่น�-จะน+าตั�วถู)กดี+าเน นการสอิง
ค6ามาเป้ร�ยบุเที่�ยบุก�น ผลล�ที่ธ�ที่��ไดี�จะเป้5นจร งหิร7อิเที่8จ ใน ภัาษาจาวาม�ตั�วดี+าเน นการป้ระเภัที่น�- 6 ตั�ว ดี�งตัาราง
1 ตั�วด��เนิ�นิก�รทำ�งตัรรกะ
ตัาราง ตั�วดี+าเน นการแบุบุส�มพิ่�นธ�
ตั�วด��เนิ�นิก�รทำ�งตัรรกศ�สั่ตัร� ตั�วดี+าเน นการป้ระเภัที่น�-จะใช�กระที่+าก�บุตั�วถู)ก
ดี+าเน นการที่��เป้5นน พิ่จน�ที่างตัรรกศึาสตัร� หิร7อิข�อิม)ลที่�� เป้5นบุ)ล�น ตั�วดี+าเน นการป้ระเภัที่น�- ไดี�แก6 AND , OR ,
Exclusive-OR และ NOT โดียตั�วดี+าเน นการแบุบุNOT จะกระที่+าก�บุตั�วถู)กตั�วดี+าเน นการตั�วเดี�ยว ส6วนตั�ว
ดี+าเน นการตั�วอิ7�นๆ จะกระที่+าก�บุตั�วถู)กดี+าเน นการสอิงตั�ว
ตั�วดี+าเน นการ ช7�อิ ตั�วอิย6าง ผลล�ที่ธ�
&& AND (8>3)&&(6<9) true
| | OR (5<6) | | (7>6)
true
! NOT !(3>2) false
^ Exclusive-OR (8>3) ^ (4<2)
true
ตั�วด��เนิ�นิก�ร
ชื่��อ ตั�วอย!�ง ผลล�ทำธ์�
&& AND (8>3)&&(6<9)
true
| | OR (5<6) | | (7>6)
true
! NOT !(3>2) false
^ Exclusive-OR
(8>3) ^ (4<2)
true
ตั�วด��เนิ�นิก�รระด�บบ�ตั (Operators) ตั�วดี+าเน นการป้ระเภัที่น�-จะกระที่+าก�บุข�อิม)ล
แบุบุบุ ตัตั6อิบุ ตั เช6น การกระที่+าลอิจ ก AND, OR, NOT หิร7อิเล7�อินบุ ตัแบุบุบุ ตัตั6อิบุ ตั เป้5นตั�น ตั�วดี+าเน นการ
ป้ระเภัที่น�-แสดีงไดี�ดี�งตัาราง
ตั�วดี+าเน นการ ช7�อิ ตั�วอิย6าง ผลล�พิ่ธ�& AND 4 & 7 4| OR 4 | 7 7~ NOT ~4 -5^ Exclusive-OR 4 ^ 7 3>> เล7�อินบุ ตัไป้ที่าง
ขวา7 >> 1 3
>>> เล7�อินบุ ตัแบุบุไม6ค ดีเคร7�อิงหิมาย
-3 >>> 1 -2
<< เล7�อินบุ ตัไป้ที่างซ้�าย
7 << 1 14
ตั�วด��เนิ�นิก�ร
ชื่��อ ตั�วอย!�ง ผลล�พัธ์�
& AND 4 & 7 4
| OR 4 | 7 7
~ NOT ~4 -5
^ Exclusive-OR
4 ^ 7 3
>> เล��อนิบ�ตัไปทำ�งขว�
7 >> 1 3
>>> เล��อนิบ�ตัแบบไม!คำ�ดเคำร��องหม�ย
-3 >>> 1
-2
<< เล��อนิบ�ตัไปทำ�งซ้(�ย
7 << 1 14
ล��ด�บก�รทำ��ง�นิของตั�วด��เนิ�นิก�ร ในน พิ่จน�ตั6างๆ อิาจม�ตั�วดี+าเน น
การป้ระกอิบุอิย)6มากว6าหิน0�งตั�ว การหิาผลล�พิ่ธ�ขอิงน พิ่จน�คอิมไพิ่เลอิร�จะตั�อิง
พิ่ จารณาว6าจะที่+าตั�วดี+าเน นการใดีก6อินหิล�งในภัาษาวาจาม�การจ�ดีล+าดี�บุความส+าค�ญขอิงตั�วดี+าเน นการดี�งตั�วอิย6างที่��3.4 โดีเยเร�ยงล+าดี�บุความส+าค�ญจากบุนลงล6าง
ล+าดี�บุ ตั�วดี+าเน นการ เร�ยงจาก1 ( ) , ( data type ) ซ้�ายไป้ขวา2 ! , ~ , - , + , - - ,
++ ซ้�ายไป้ขวา
3 *, / , % , + , - , << , >> , >>>
ซ้�ายไป้ขวา
4 < , > , <= , >= , == , !=
ซ้�ายไป้ขวา
5 & , ^ , | , && , | | ซ้�ายไป้ขวา6 != , ^= , &= ,
>>>= , >>= , <<= ,%= , /= , *= , -= , += , =
ซ้�ายไป้ขวา
ล��ด�บ ตั�วด��เนิ�นิก�ร เร)ยงจั�ก
1 ( ) , ( data type )
ซ้(�ยไปขว�
2 ! , ~ , - , + , - - , ++
ซ้(�ยไปขว�
3 *, / , % , + , - , << , >> , >>>
ซ้(�ยไปขว�
4 < , > , <= , >= , == , !=
ซ้(�ยไปขว�
5 & , ^ , | , && , | |
ซ้(�ยไปขว�
6 != , ^= , &= , >>>= , >>= , <<= ,%= , /= , *= , -= , += , =
ซ้(�ยไปขว�
จากตัารางจะเหิ8นว6า ลงเล8บุจะม�ล+าดี�บุความ ส+าค�ญส)งส!ดี ส6วนตั�วดี+าเน นการที่��ใช�ส+าหิร�บุ
ก+าหินดีค6าจะม�ล+าดี�บุความส+าค�ญตั+�าส!ดี ถู�าหิากม�ตั�วดี+าเน นการที่��ม�ล+าดี�บุความส+าค�ญเที่6าก�นอิย)6ใน
น พิ่จน�เดี�ยวก�น ล+าดี�บุความส+าค�ญจะเร�ยงจาก ซ้�ายไป้ขวา ในการเข�ยนโป้รแกรมถู�าหิากม�การ
ป้ระมวลผลซ้�บุซ้�อินผ)�เข�ยนโป้รแกรมควรใส6 วงเล8บุใหิ�ป้ระมวลผลก6อิน เพิ่7�อิป้$อิงก�นการส�บุสน
2 ก�รเล�อกทำ��แบบทำ�งเด)ยว (if statement)
ก�รเล�อกทำ��แบบทำ�งเด)ยว (if statement) ในภัาษาจาวาจะใช�ค+าส��ง if เล7อิก ที่+าแบุบุที่างเดี�ยวเพิ่7�อิจะ
ตัรวจสอิบุว6าช!ดีค+าส��งที่��ตัามมาจะที่+าหิร7อิไม6 ในการที่+างานขอิงค+า ส��งคอิมพิ่ วเตัอิร�จะตัรวจสอิบุเง7�อินไขก6อิน ถู�าเง7�อินไขเป้5นจร งจะ
ที่+าค+าส��งหิร7อิสเตัตัเมนตั�ที่��ตัามหิล�งหิร7อิเป้5นสเตัตัเมนตั�รวม ที่�� อิย)6ในเคร7�อิงหิมาย { } แตั6ถู�าเง7�อินไขเป้5นเที่8จคอิมพิ่ วเตัอิร�จะ
กระโดีดีข�ามค+าส��งหิร7อิสเตัตัเมนตั�ตัามมาและไป้ที่+าค+าส��งหิร7อิส เตัตัเมนตั�ตั6อิไป้ ร)ป้แบุบุค+าส��งเป้5นดี�งตั6อิไป้น�-
ร)ป้แบุบุIf(condition) {action statement}
โดีย การตัรวจสอิบุเง7�อินไขจะเป้5นการกระที่+าแบุบุบุ)ล�น ผลล�พิ่ธ�ที่�� ไดี�จะเป้5นจร งหิร7อิเที่8จเที่6าน�-นถู�าหิากม�การใช�ตั�วดี+าเน นการจะใช�
ตั�วดี+าเน นการที่��ใหิ�ผลล�พิ่ธ�เป้5นแบุบุบุ)ล�น ส+าหิร�บุการที่+างานขอิง ค+าส��ง if สารถูเข�ยนเป้5นผ�งงานไดี�ดี�งน�-
3. คำ��สั่��งเล�อกทำ��อย!�งใดอย!�งหนิ+�ง ( if-else )
ค+าส��งเล7อิกที่+าอิย6างใดีอิย6างหิน0�ง ( if-else ) จากตั+าส��ง if ที่��ผ6านมาจะใช�ในการเข�ยน
โป้รแกรมที่��ใช�ที่ดีสอิบุว6าจะเล7อิกที่+าหิร7อิไม6 ถู�าเง7�อินไขเป้5น จร งจะที่+าค+าส��งหิร7อิสเตัตัเมนตั�หิล�ง if ในกรณ�ที่��
คอิมพิ่ วเตัอิร�ตั�อิงเล7อิกที่+าอิย6างใดีอิย6างหิน0�ง โดียตัรวจ สอิบุเง7�อินไขที่��ก+าหินดีจะใช�ค+าส��ง if-else ถู�าเง7�อินไขเป้5น
จร งจะที่+าค+าส��งหิล�ง if แตั6ถู�าเง7�อินไขเป้5นเที่8จจะที่+าค+าส��ง หิล�ง else โดียน พิ่จน�การตัรวจสอิบุเง7�อินไขที่��ตัามหิล�ง if
จะเป้5นข�อิม)ลที่างตัรรก ร)ป้แบุบุค+าส��งเป้5นดี�งน�-
การที่+างานขอิงค+าส��งน�-สามารถูเข�ยนผ�งงานไดี�ดี�งน�-
4 ก�รก�รใชื่(คำ��สั่��ง if-else-if
การใช�ค+าส��ง if-else-if การเข�ยนค+าส��งแบุบุเล7อิกที่+าสอิงที่างที่��ใช� if-else น�-นจะพิ่บุว6าช!ดีค+าส��งที่��อิย)6หิล�ง else จะถู)กที่+างาน
ถู�าหิากป้ระโยคเง7�อินไขขอิง if เป้5นเที่8จ แตั6ถู�าตั�อิงการใหิ� ตัรวจสอิบุเง7�อินไขอิ7�นๆ ก6อินที่��จะที่+าช!ดีค+าส��งหิล�ง if-
else-if แที่น ตั�วอิย6างเช6น ถู�าหิากตั�อิงการเข�ยน โป้รแกรมในการค ดีผลสอิบุขอิงน�กเร�ยน โดียม�เง7�อินไข
เป้5นถู�าคะแนนมากกว6า 50 ใหิ�ผ6าน แตั6ถู�าคะแนนไม6 มากกว6า 50 ใหิ�ตัก สามารถูน+าค+าส��ง if-else มาใช�ไดี�
โดียเข�ยนดี�งน�-
5 ก�รเล�อกทำ��แบบ switch
การเล7อิกที่+าแบุบุ switch การเข�ยนโป้รแกรมที่��ตั�อิงม�การเล7อิกที่+าหิลาย
ที่างเล7อิก เราสามารถูน+าป้ระโยคค+าส��ง if-else มาซ้�อิน ก�นไดี� แตั6ถู�าเง7�อินไขที่��ตั�อิงตั�ดีส นใจข0-นก�บุตั�วแป้รเดี�ยว
เราสามารถูใช�ค+าส��ง switch..case แที่นไดี� ค+าส��งswitch น�-ม�ความซ้�บุซ้�อินน�อิยกว6าการน+า if-else มา
เข�ยนซ้�อินก�น และสามารถูเป้ล��ยนเง7�อินไขไดี�ง6ายอิ�กดี�วย ตั�วอิย6างเช6น ถู�าเข�ยนโป้รแกรมเป้5นล�กษณะเมน)ดี�งตั6อิไป้
น�-
และใหิ�ผ)�ใช�โป้รแกรมเล7อิกว ธ�การค+านวณเข�าไป้โดียป้$อินค6า อิ นพิ่!ตัเข�าไป้ เราสามารถูเข�ยนโป้รแกรมโดียน+าค6าอิ นพิ่!ตัที่��ไดี�
ร�บุเข�าไป้เก8บุไว�ในตั�วแป้รตั�วหิน0�ง และใช�ค+าส��ง switch เล7อิก ว6าม�ค6าเที่6าก�บุค6าใดี (1,2,3,4) จากน�-นใหิ�ไป้ที่+างานตัามที่��
เล7อิก ป้ระโยคค+าส��ง switch..case ม�ร)ป้แบุบุดี�งน�-
NOTE …….
ส+าหิร�บุตั�วแป้รที่��ใช� เล7อิกที่+าที่��อิย)6ตัามหิล�ง
switch จะตั�อิงเป้5นตั�วแป้รป้ระเภัที่
จ+านวนเตั8ม ซ้0�งจะที่+าใหิ�คอิมพิ่ วเตัอิร�สามารถู
เดีาค6าไดี� และค6าคงที่��ตั�อิงเป้5นตั�วแป้รป้ระเภัที่เดี�ยวก�บุ
ตั�วแป้รที่��ตัามหิล�งcase การที่+างานขอิง
ค+าส��ง case อิาจเข�ยนเป้5นผ�งงานไดี�ดี�งน�-
6 ก�รคำวบคำมก�รทำ��ซ้�,�ด(วยคำ��สั่��ง for
ก�รคำวบคำมก�รทำ��ซ้�,�ด(วยคำ��สั่��ง for การซ้+-าแบุบุ for หิร7อิ loop for จะเป้5นการใหิ�โป้รแกรมที่+าซ้+-าจนกว6าค6าตั�วแป้รจะครบุตัามที่��ตั�-งไว�หิร7อิที่+า
ตัามเง7�อินไขที่��ก+าหินดี เร �มแรกโป้รแกรมจะก+าหินดีค6าเร �มตั�นใหิ� ก�บุตั�วแป้รเร �มตั�น (initialization) จากน�-นจะตัรวจสอิบุ
เง7�อินไข ถู�าหิากเง7�อินไขเป้5นจร งจะที่+าสเตัตัเมนตั�ที่��ตัามมา และ ป้ร�บุค6าตั�วแป้รควบุค!ม โดียร)ป้แบุบุขอิงค+าส��งเป้5นดี�งน�-
ร)ป้แบุบุ ในส6วนขอิง condition บุางคร�-งจะเร�ยกตั�วแป้ร
ควบุค!มล)ป้ ( loop control variable ) เร �มตั�นค+าส��งจะ ที่+าส6วนก+าหินดีค6าเร �มตั�น (initial value) จากน�-นจะตัรวจ
สอิบุว6าเง7�อินไขเป้5นจร งหิร7อิไม6 ถู�าเง7�อินไขเป้5นจร งจะที่+าตัามส เตัตัเมนตั�ที่��จะที่+าซ้+-าแล�วกล�บุมาที่+าส6วน update ซ้0�งส6วนมาก แล�วจะเป้5นการเพิ่ �มค6าหิร7อิลดีค6าตั�วแป้ร จากน�-นจะตัรวจสอิบุ
เง7�อินไขใหิม6โดียที่+าแบุบุน�-ไป้จนกว6าเง7�อินไขจะเป้5นเที่8จ สเตัตั เมนตั�ที่��ที่+าซ้+-าอิาจเป้5นสเตัตัเมนตั�รวม (Compound
Statement) ก8ไดี� แตั6ตั�อิงอิย)6ภัายในเคร7�อิงหิมาย { ก�บุ }
ส+าหิร�บุในส6วนขอิงการก+าหินดีค6าเร �มตั�น และ update ม�กจะเข�ยนเป้5นค+าส��งเดี�ยว แตั6ถู�าหิากตั�อิงการใช�หิลายค+า
ส��งจะใช�เคร7�อิงหิมาย comma ค��นระหิว6างค+าส��ง ตั�วอิย6างเช6น ถู�าเข�ยนค+าส��งดี�งตั6อิไป้น�-
เร �มโป้รแกรมจะใส6ค6าเร �มตั�น 1 ลงในตั�วแป้ร number จากน�-นจะที่ดีสอิบุเง7�อินไขว6าเง7�อินไขเป้5นจร งหิร7อิไม6 ถู�าเป้5น
จร งจะที่+าสเตัตัเมนตั�และเพิ่ �มค6า number ข0-นหิน0�งค6า ในการเพิ่ �มค6าใหิ�ก�บุตั�วแป้รควบุค!มจะเพิ่ �มข0-น
เป้5นล+าดี�บุ โดียอิาจเป้5นตั�วเลข 1,2,3,… หิร7อิอิ�กษร‘A’,’B’,’C’, ก8ไดี�ดี�งน�-น การป้ระกาศึป้ระเภัที่ขอิงตั�วแป้รควบุค!มจะตั�อิงใหิ�สอิดีคล�อิงก�บุค6าขอิงข�อิม)ลดี�วย
7 ล-ปซ้(อนิล-ป (Nested Loops)
ในการเข�ยนโป้รแกรมสามารถูน+าค+าส��งล)ป้แบุบุตั6างๆใหิ�มาที่+างานซ้�อินก�นไดี�เร�ยกว6าล)ป้แบุบุซ้�อินล)ป้ ดี�งตั�วอิย6างตั6อิไป้น�- Public class Nestedloop1 {
Public static void main(String[ ] args) { for(int i = 1; i < = 3; i ++) for(int j = 1; j < = 3; j ++) System.out.print(j + “ “); } }
จากตั�วอิย6างโป้รแกรมล)ป้แรกจะเป้5นล)ป้ขอิงตั�วแป้ร I โดียภัายในล)ป้จะที่+าล)ป้ขอิงตั�วแป้ร j จ+านวน 3 คร�-ง
ที่+าใหิ�การที่+างาน System.out.print (j+ “ “) ม� การที่+างานที่�-งหิมดี 9 คร�-ง
8 คำ��สั่��ง break และ continue
จากการที่+าซ้+-าแบุบุ for ไดี�ที่ดีลอิงค+าส��ง break มา บุ�างแล�ว โดียค+าส��งน�-สามารถูใช�งานร6วมก�บุ while , for ,
do/while หิร7อิ switch ไดี� ส+าหิร�บุค+าส��งที่��ที่+างานตัรงก�น ข�ามก�บุ ค+าส��ง break ค7อิค+าส��ง continue ซ้0�งสามารถู ใช�ไดี�ใน while , for หิร7อิ do/while ไดี�เช6นก�น เม7�อิ
โป้รแกรมที่+างานมาถู0งค+าส��ง continue จะที่+าล)ป้ตั6อิไป้โดีย ไม6ที่+าสเตัตัเมนตั�ที่��ตัามหิล�ง continue
ค+าส��งน�-สามารถูใช�งานร6วมก�บุ while , for , do/while หิร7อิswitch ไดี� ส+าหิร�บุค+าส��งที่��ที่+างานตัรงก�นข�ามก�บุ ค+าส��งbreak ค7อิค+าส��ง continue ซ้0�งสามารถูใช�ไดี�ใน while , for
หิร7อิ do/while ไดี�เช6นก�น เม7�อิโป้รแกรมที่+างานมาถู0งค+า ส��ง continue จะที่+าล)ป้ตั6อิไป้โดียไม6ที่+าสเตัตัเมนตั�ที่��ตัาม
หิล�ง continue
ข(อคำวรระว�งในิก�รใชื่(คำ��สั่��งทำ��ซ้�,�
ในการเข�ยนโป้รแกรมที่+าล)ป้ม�กจะม�ข�อิผ ดีพิ่ลาดี เก ดีข0-นเสมอิ โดียโป้รแกรมที่��เข�ยนข0-นจะคอิมไพิ่ล�
ผ6าน แตั6จะที่+างานไม6ถู)กตั�อิงตัามที่��ตั�อิงการ ข�อิผ ดี พิ่ลาดีน�-เร�ยกว6า logic error ซ้0�งโดียที่��วไป้ในการที่+า
ล)ป้แล�วจะม�ข�อิผ ดีพิ่ลาดีอิย)6 4 ป้ระการค7อิ1. การก+าหินดีค6าเร �มตั�นในการที่+าล)ป้2. การที่ดีสอิบุเง7�อินไขก6อินการที่+าล)ป้3. ข�อิผ ดีพิ่ลาดีภัายในโครงสร�างขอิงล)ป้4. การเข�ยนสเตัตัเมนตั�ป้ร�บุค6าตั�วควบุค!
มล)ป้