ຄຳສັ່ງ
if ຈະບໍ່ມີການທຳຄຳສັ່ງໃດ ຖ້ານິພົດຕັກກະສາດມີຄ່າເປັນເທັດ
ດັ່ງນັ້ນຖ້າຕ້ອງການທຳຄຳສັ່ງບາງຄຳສັ່ງເມື່ອນິພົດຕັກກະສາດມີຄ່າເປັນເທັດ
ຈະຕ້ອງໃຊ້ຄຳສັ່ງ if..elseແທນເຊິ່ງມີຮູບແບບຄຳສັ່ງດັ່ງນີ້
|
ໂດຍທີ່
- true statements
ຄືຊຸຄຳສັ່ງສຳຫລັບຄ່າຈິງ
- false statements
ຄືຊຸຄຳສັ່ງສຳຫລັບຄ່າເທັດ
ໂດຍມີໄຟຊາດຂອງການທຳງານຂອງຄຳສັ່ງນີ້ດັ່ງສະແດງໃນຮູບທີ
3.4
ຮູບທີ 3.4 ໂຟຊາດຂອງຄຳສັ່ງ
if..else
ຕົວຢ່າງຂອງການໃຊ້ຄຳສັ່ງ
if..else ມີດັ່ງນີ້
if (radius >= 0) {
area = radius*radius*Math.PI;
System.out.println(area);
} else {
System.out.println(“Negative radius”);
}
ຈາກຕົວຢ່າງນີ້ຖ້າຕົວແປ radius ມີຄ່າຫລາຍກວ່າຫລືເທົ່າກັບ 0
(ນິພົດຄ່າເປັນຈິງ) ໂປຣແກຣມຈະທຳງານການຄຳນວນຄ່າ
ກຳນົດຄ່າແລະພິມຄ່າຂອງຕົວແປ area ອອກມາແຕ່ຖ້າຕົວແປ radius ມີຄ່ານ້ອຍກວ່າ
0 (ນິພົດເປັນເທັດ) ໂປຣແກຣມຈະສະແດງຂໍ້ຄວາມ Negative radius ອອກມາແທນ
ໂປຣແກຣມທີ
3.2 ຕົວຢ່າງການໃຊ້ຄຳສັ່ງ if..else
ໂປຣແກຣມທີ 3.2
ເປັນຕົວຢ່າງຂອງການໃຊ້ຄຳສັ່ງ if..else ໂດຍໂປຣແກຣມຈະພິມຂໍ້ຄວາມ You pass
ຖ້າຄ່າຂອງຕົວແປ score ທີ່ຮັບເຂົ້າມາທາງໄດອະລ໋ອກ
ມີຄ່າຫລາຍກວ່າຫລືເທົ່າກັບ 50 ແລະພິມຂໍ້ຄວາມ You fail ຖ້າຄ່າຂອງ score
ມີຄ່ານ້ອຍກວ່າ 50 ໂດຍມີຕົວຢ່າງຂອງຜົນລັບດັ່ງສະແດງໃນຮູບທີ 3.5
ຮູບທີ 3.5
ຜົນລັບທີ່ໄດ້ຈາກການລັນໂປຣແກຣມທີ 3.2
3.2.3 ຄຳສັ່ງ if ແບບຊ້ອນ
ຄຳສັ່ງ if ຫລື if..else
ສາມາດທີ່ຈະຊ້ອນຢູ່ຂ້າງໃນຄຳສັ່ງ if ຫລື if..else ອື່ນໄດ້ເຊັ່ນ:
ໂຟຊາດທີ່ສະແດງໃນຮູບທີ 3.6 ເຊິ່ງມີຂັ້ນຕອນການທຳງານຄື
ໂປຣແກຣມຈະທຳຊຸດຄຳສັ່ງ 3 ຖ້ານິພົດຕັກກະສາດທີ 1 ເປັນເທັດ
ແຕ່ຖ້າເປັນຈິງຈະຕວດສອບຜົນລັບຂອງນິພົດຕັກກະສາດທີ 2
ເຊິ່ງຖ້າມີຄ່າເປັນຈິງ ຈະທຳຊຸດຄຳສັ່ງທີ 1
ແຕ່ຖ້າມີຄ່າເປັນເທັດຈະທຳຊຸດຄຳສັ່ງທີ2
ຮູບທີ 3.6 ໂຟຊາດຂອງຄຳສັ່ງ
if ແບບຊ້ອນ
ຈາກໂຟຊາດໃນຮູບທີ
3.6 ສາມາທີ່ຈະຂຽນເປັນຄຳສັ່ງ if ແບບຊ້ອນໄດ້ດັ່ງນີ້
|
ຕົວຢ່າງ
if (radius >= 0) {
area = radius*radius*Math.PI;
if(area >= 500.0) {
System.out.println(“Big Circle”);
} else {
System.out.println(“Small Circle ”);
}
} else {
System.out.println(“Negative radius”);
}
ຮູບທີ3.7 ໂຟຊາດຂອງຄຳສັ່ງ if
ແບບຊ້ອນ
ໂຄງສ້າງເລືອກທຳແບບຊ້ອນຍັງມີກໍລະນີທີ່ເປັນດັ່ງໂຟຊາດໃນຮູບທີ
3.7 ເຊິ່ງຈະມີຂັ້ນຕອນການທຳງານຄື ໂປຣແກຣມຈະທຳຊຸດຄຳສັ່ງທີ 1
ຖ້ານິພົດຕັກກະສາດທີ 1 ເປັນຈິງ
ແຕ່ເປັນເທັດຈະຕວດສອບຜົນລັບນິພົດຕັກກະສາດທີ 2 ເຊິ່ງຖ້າມີຄ່າເປັນຈິງ
ຈະທຳຊຸດຄຳສັ່ງທີ 2 ແຕ່ຖ້າມີຄ່າເປັນເທັດຈະທຳຊຸດຄຳສັ່ງທີ 3
ເຊິ່ງຈະມີຮູບແບບຂອງຄຳສັ່ງດັ່ງນີ້
|
ໃນກໍລະນີນີ້ສາມາດທີ່ຈະຂຽນຄຳສັ່ງ if
ແບບຊ້ອນໄດ້ໃໝ່ໃນຮູບຂອງ if..else if..else
ໂດຍມີຮູບແບບຂອງຄຳສັ່ງດັ່ງນີ້
|
ຕົວຢ່າງການໃຊ້ຄຳສັ່ງ
If..else if..else ມີດັ່ງນີ້
if (score >= 80) {
System.out.println(‘A’);
} else if(score >= 70) {
System.out.println(‘B’);
} else if(score >= 60) {
System.out.println(‘C’);
} else if(score >= 50) {
System.out.println(‘D’);
} else {
System.out.println(‘F’);
}
ຕົວຢ່າງນີ້ຈະພິມຕົວອັກສອນ A ຖ້າຕົວແປ score
ມີຄ່າຫລາຍກວ່າຫລືເທົ່າກັບ 80 ພິມຕົວອັກສອນ B ຖ້າຕົວແປ score
ມີຄ່າຕັ້ງແຕ່ 70 ຈົນເຖິງ 79 ພິມຕົວອັກສອນ C ຖ້າຕົວແປ score ມີຄ່າຕັ້ງແຕ່
60 ຈົນເຖິງ 69 ພິມຕົວອັກສອນ D ຖ້າຕົວແປ score ມີຄ່າຕັ້ງແຕ່ 50 ຈົນເຖິງ 59
ແລະພິມຕົວອັກສອນ F ຖ້າຕົວແປ score ມີຄ່ານ້ອຍກວ່າ 50
ໂປຣແກຣມທີ
3.3 ການໃຊ້ຄຳສັ່ງ if..else if..else
ໂປຣແກຣມທີ 3.3
ສະແດງຕົວຢ່າງການໃຊ້ຄຳສັ່ງ it..else if..else
ໂປຣແກຣມນີ້ຈະອ່ານຄ່າທີ່ປ້ອນເຂົ້າມາທາງໄດ້ອະລ໋ອກບ໋ອກ ໂດຍໂປຣແກຣມຈະພິມຂໍ້ຄວາມວ່າ
“Value is one” ຖ້າຄ່າທີ່ປ້ອນເຂົ້າມາເປັນ 1 ພິມຂໍ້ຄວາມວ່າ “Value is two”
ຖ້າຄ່າທີ່ປ້ອນເຂົ້າມາເປັນ 2 ແລະພິມຂໍ້ຄວາມວ່າ “Other than 1 or 2”
ຖ້າຄ່າທີ່ປ້ອນເຂົ້າມາເປັນຄ່າອື່ນໆ
3.2.4 ຄຳສັ່ງ swithc
ຄຳສັ່ງ switch
ເປັນຄຳສັ່ງໂຄງສ້າງແບບເລືອກທຳ ໂດຍມີຮູບແບບດັ່ງນີ້
|
ໂດຍທີ່
- expression
ຄືນິພົດທີ່ຕ້ອງມີຊະນິດຂໍ້ມູນເປັນ char, byte, short ຫລື int
ເທົ່ານັ້ນ
- value 1.. value N
ຄືຂໍ້ມູນຄ່າຄົງທີ່ເຊິ່ງມີຊະນິດຂໍ້ມູນທີ່ສອດຄ່ອງກັບຊະນິດຂໍ້ມູນຂອງ
expression
ຄຳສັ່ງ switch ຈະຕວດສອບຄ່າຂອງນິພົດທີ່ອາດເປັນຊະນິດຂໍ້ມູນ
char, byte, short ຫລື int ກໍລະນີຄ່າຂອງນິພົດມີຄ່າກົງກັບຄ່າທີ 1
ໂປຣແກຣມຈະທຳຊຸດຄຳສັ່ງທີ 1 ຖ້າມີຄ່າກົງກັບຄ່າທີ 2
ກໍ່ຈະທຳຊຸດຄຳສັ່ງທີ 2 ຖ້າມີຄ່າກົງກັບຄ່າທີ N ກໍ່ຈະທຳຊຸດຄຳສັ່ງທີ N
ສ່ວນກໍລະນີທີ່ມີຄ່າບໍ່ກົງກັບຄ່າໃດໆ ເລີຍໃນຄຳສັ່ງ case
ກໍ່ຈະທຳຊຸດຄຳສັ່ງໃນ default ຄືຊຸດຄຳສັ່ງທີ N+1
ເຊິ່ງສະແດງຂັ້ນຕອນການທຳງານໄດ້ດັ່ງໂຟຊາດໃນຮູບທີ 3.8
ຮູບທີ 3.8 ໂຟຊາດຂອງຄຳສັ່ງ
switch
ຕົວຢ່າງຂອງການໃຊ້ຄຳສັ່ງ
switch ມີດັ່ງນີ້
switch (x) {
case 1 : System.out.println(“One”);
break;
case 2 : System.out.println(“Two”);
break;
case 3 : System.out.println(“Three”);
break;
default :
System.out.println(“Other”);
}
ຕົວຢ່າງນີ້ຈະພິມຂໍ້ຄວາມຕາມຄ່າຂອງ
x ຕັ້ງແຕ່ 1 ເຖິງ 3 ແລະຈະພິມຂໍ້ຄວາມວ່າ other ຖ້າຄ່າຂອງ x
ເປັນຄ່າອື່ນໆ ຄຳສັ່ງ switch ມີຂໍ້ກຳນົດຕ່າງໆ ດັ່ງນີ້
- ນິພົດຕ້ອງມີຊະນິດຂໍ້ມູນເປັນ
char, byte, short ຫລື int ເທົ່ານັ້ນ
- ຊະນິດຂໍ້ມູນຂອງນິພົດແລະຄ່າທີ
1 ເຖິງ N ຕ້ອງເປັນຊະນິດຂໍ້ມູນດຽວກັນ
- ຄຳສັ່ງ Break ຈະຫຍຸດການທຳງານພາຍໃນບ໋ອກ
{ } ຖ້າບໍ່ມີຄຳສັ່ງ break ໂປຣແກຣມຈະທຳຄຳສັ່ງຖັດໄປ ຕົວຢ່າງເຊັ່ນ
switch (x) {
case 1 : System.out.println(“One”);
case 2 : System.out.println(“Two”);
break;
default :
System.out.println(“Other”);
}
ຈະພິມຂໍ້ຄວາມ One ຕາມດ້ວຍ Two
ໃນກໍລະນີ x ມີຄ່າເປັນ 1
- ເງື່ອນໄຂ default
ຈະມີຫລືບໍ່ມີກໍ່ໄດ້
ໂປຣແກຣມທີ 3.4
ສະແດງຕົງຢ່າງຂອງການໃຊ້ຄຳສັ່ງ switch ເຊິ່ງຈະໄດ້ຜົນລັບເປັນຂໍ້ຄວາມວ່າ
Value is one ຖ້າຕົວເລກທີ່ປ້ອນເຂົ້າມາມີຄ່າເປັນ 1 ເປັນຂໍ້ຄວາມວ່າ
Value is two ຖ້າຕົວເລກທີ່ປ້ອນເຂົ້າມາມີຄ່າເປັນ 2 ແລະເປັນຂໍ້ຄວາມວ່າ
Other than 1 or 2 ຖ້າຕົວເລກທີ່ປ້ອນເຂົ້າມາມີຄ່າອື່ນໆ
ໂປຣແກຣມທີ
3.4 ຕົວຢ່າງການໃຊ້ຄຳສັ່ງ switch
|
3.3 ໂຄງສ້າງແບບທຳຊ້ຳ
ໂຄງສ້າງແບບທຳຊ້ຳ ເປັນຄຳສັ່ງທີ່ໃຊ້ໃນການສັ່ງໃຫ້ຊຸດຄຳສັ່ງໃດໆ
ທຳຊ້ຳຫລາຍເທື່ອຕາມເງື່ອນໄຂທີ່ລະບຸ
ເຊິ່ງຊຸດຄຳສັ່ງໂຄງສ້າງແບບທຳຊ້ຳປະກອບດ້ວຍຄຳສັ່ງ
- ຄຳສັ່ງ while
- ຄຳສັ່ງ do..while
- ຄຳສັ່ງ for
3.3.1 ຄຳສັ່ງ while
ຄຳສັ່ງ while ຈະມີຮູບແບບດັ່ງນີ້
|
ໂດຍທີ່
- Initial statements
ຄືຄຳສັ່ງໃຊ້ໃນການກຳນົດຄ່າເລີ່ມຕົ້ນ
- logical expression
ຄືນິພົດຕັກກະສາດ
- update statements
ຄືຄຳສັ່ງທີ່ໃຊ້ໃນການປ່ຽນແປງ
ຄຳສັ່ງ while
ຈະທຳຊຸດຄຳສັ່ງແລະຄຳສັ່ງປ່ຽນແປງຄ່າທີ່ຢູ່ໃນບ໋ອກ { }
ຕາບໃດທີ່ນິພົດຕັກກະສາດຍັງມີຄ່າເປັນຈິງ ຄຳສັ່ງທີ່ຢູ່ໃນບ໋ອກ { }
ຈະຕ້ອງມີຄຳສັ່ງໃນການປ່ຽນແປງຄ່າ
ເພື່ອປ່ຽນຄ່າເພື່ອປ່ຽນຄ່ານິພົດຕັກກະສາດໃຫ້ມີຄ່າເປັນເທັດດັ່ງນັ້ນແລ້ວໂປຣແກຣມຈະທຳຄຳສັ່ງຢູ່ໃນບ໋ອກແບບບໍ່ມີທີ່ສິ້ນສຸດ
ຄຳສັ່ງ whileສາມາດຂຽນເປັນ ໂຟຊາດໄດ້ ດັ່ງສະແດງໃນຮູບທີ 3.9
ຮູບທີ 3.9 ໂຟຊາດຂອງຄຳສັ່ງ
while
ຕົວຢ່າງຂອງາການໃຊ້ຄຳສັ່ງ
while ເພື່ອພິມຂໍ້ຄວາມວ່າ Hello World ສິບເທື່ອ ມີດັ່ງນີ້
int count = 1;
while(count <= 10) {
System.out.println(“Hello World”);
count++;
}
ຕົວຢ່າງນີ້ມີຄຳສັ່ງ int count = 1;
ເປັນຄຳສັ່ງກຳນົດຄ່າເລີ່ມຕົ້ນ ໂດຍມີນິພົດຕັກກະສາດຄື count <= 10
ເຊິ່ງໂປຣແກຣມຈະທຳຄຳສັ່ງໃນບ໋ອກ { }
ຕາບເທົ່າທີ່ນິພົດຕັກກະສາດມີຄ່າເປັນຈິງ (ກ່າວຄືຄ່າຂອງຕົວແປ count
ນ້ອຍກວ່າຫລືເທົ່າກັບ 10) ສ່ວນຄຳສັ່ງ count ++;
ເປັນຄຳສັ່ງປ່ຽນແປງຄ່າຂອງຕົວແປ count
ໂດຍຈະເພີ່ມຄ່າທີລະໜຶ່ງໃນແຕ່ລະຮອບຈົນກະທັ້ງມີຄ່າເປັນ 11
ເຊິ່ງຈະມີຜົນທຳໃຫ້ນິພົດ count <= 10 ມີຄ່າເປັນເທັດ ຫາກບໍ່ມີຄຳສັ່ງ
count++; ໃນບ໋ອກ { } ຈະທຳໃຫ້ຄ່າ count ມີຄ່າເປັນ 1 ຕະຫລອດ
ແລະຈະທຳໃຫ້ນິພົດ count <= 10 ມີຄ່າເປັນຈິງສເໜີ ເຊິ່ງກໍ່ຈະເຮັດໃຫ້ໂປຣແກຣມພິມຂໍ້ຄວາມ
Hello World ໂດຍບໍ່ມີສິ້ນສຸດ
ໂປຣແກຣມທີ
3.5 ຕົວຢ່າງການໃຊ້ຄຳສັ່ງ while
ໂປຣແກຣມທີ 3.5
ສະແດງຕົວຢ່າງການໃຊ້ຄຳສັ່ງ while ເພື່ອພິມຄ່າຕົວເລກ 1 ເຖິງ10
ເຊິ່ງຜົນລັບຂອງໂປຣແກຣມເປັນດັ່ງສະແດງໃນຮູບທີ 3.10
ຮູບທີ 3.10
ຜົນລັບທີ່ໄດ້ຈາກການລັນໂປຣແກຣມທີ 3.5
3.3.2 ຄຳສັງ do..while
ຄຳສັ່ງ do..while
ເປັນຄຳສັ່ງທີ່ເປັນໂຄງສ້າງແບບທຳຊ້ຳທີ່ມີການທຳງານຄືກັບຄຳສັ່ງ
while ໂດຍມີຮູບແບບ ຄຳສັ່ງດັ່ງນີ້
|
ໂດຍມີໂຟຊາດຂອງການທຳງານຂອງຄຳສັ່ງນີ້ດັ່ງສະແດງໃນຮູບທີ 3.11
ຂໍ້ແຕກຕ່າງຂອງຄຳສັ່ງ while ກັບຄຳສັ່ງ do..while ຄືຄຳສັ່ງ do..while
ຈະທຳຄຳສັ່ງໃນບ໋ອກ { }
ຢ່າງນ້ອຍໜຶ່ງເທື່ອແລ້ວຈຶ່ງທຳການຕວດສອບເງື່ອນໄຂໃນນິພົດຕັກກະສາດ
ຂະນະທີ່ຄຳສັ່ງ while
ຈະທຳການຕວດສອບເງື່ອນໄຂໃນນິພົດຕັກກະສາດກ່ອນເຊິ່ງຫາກມີຄ່າເປັນຈິງເຖິງຈະທຳຄຳສັ່ງໃນບ໋ອກ
{ }
ຮູບທີ 3.11 ໂຟຊາດຂອງຄຳສັ່ງ
do..while
ຕົວຢ່າງຂອງການໃຊ້ຄຳສັ່ງ
do..while ເພື່ອພິມຂໍ້ຄວາມວ່າ ສິບເທື່ອມີດັ່ງນີ້
int count = 1;
do {
System.out.println(“Hello World”);
count++;
} while(count <= 10);
ໂປຣແກຣມທີ
3.6 ຕົວຢ່າງການໃຊ້ຄຳສັ່ງ do..while
|
ไม่มีความคิดเห็น:
แสดงความคิดเห็น