8. ตวอย(างโปรแกรมท%ใช.คาส)7ง if
7 6
import javax.swing.JOptionPane;
public class SampleIf {
public void showDemo() {
String inputStr = JOptionPane.showInputDialog("Enter value");
int score = Integer.parseInt(inputStr);
if (score >= 50) {
JOptionPane.showMessageDialog(null, "You pass");
// null to tell that there is no parent frame
}
}
}
17. ตวอย(างโปรแกรมท%7ใชคาสง if..else if..else
import javax.swing.JOptionPane;
public class SampleIfElseIf {
public void showDemo() {
String inputStr = JOptionPane.showInputDialog("Enter value");
int x = Integer.parseInt(inputStr);
if (x == 1) {
JOptionPane.showMessageDialog(null, "Value is one");
} else if (x == 2) {
JOptionPane.showMessageDialog(null, "Value is two");
} else {
JOptionPane.showMessageDialog(null, "Other than 1 and 2");
}
}
}
18. รGปแบบของคาสง switch
มร'ปแบบการใชคาสงดงน#
switch (expression) {
case value 1: statements 1
break;
case value 2: statements 2
break;
: :
case value N: statements N
break;
default: statements N+1;
}
20. คาสง switch
นพจนMตองมชน*ดขอม'ลเป/น char, byte, short หร%อ int เท(าน#น
ชน*ดขอม'ลของนพจนMและค(าท 1 ถ0ง N ตองเป/นชน*ดเดยวกน
ถาค(าของนพจนMตรงกบค(าใด จะทาชดคาสงของค(าน#น
ถาค(าของนพจนMไม(ตรงกบค(าใดเลย จะทาชดคาสงของ default
default จะมหร%อไม(มก1ได
21. ตวอย(างโปรแกรมท%7ใชคาสง switch
import javax.swing.JOptionPane;
public class SampleSwitch {
public void showDemo() {
String inputStr = JOptionPane.showInputDialog("Enter value");
int x = Integer.parseInt(inputStr);
switch (x) {
case 1: JOptionPane.showMessageDialog(null, "Value is one");
break;
case 2: JOptionPane.showMessageDialog(null, "Value is two");
break;
default: JOptionPane.showMessageDialog(null, "Other than 1 and 2");
}
}
}
28. ตวอย(างโปรแกรมท%7ใชคาสง do..while
public class SampleDoWhile {
public static void main(String args[]) {
int i = 1;
do {
System.out.print(i+" ");
i++;
} while (i <= 10);
}
}
ผลล)พธMท%7ได.จากการร)นโปรแกรม
1 2 3 4 5 6 7 8 9 10
39. ตวอย(างโปรแกรมท%7ใชคาสงโครงสรางแบบซอน
public class SampleBreak2 {
public static void main(String args[]) {
int i, j, product;
outer: for (i=1; i<=3; i++) {
for (j=1; j<=3; j++)
product = i*j;
if (j==3) break outer;
System.out.println(i+" * "+j+" = "+product);
}
}
System.out.println("Outside nested loops.");
}
}
1 * 1 = 1
ผลล)พธMท%7ได.จากการร)นโปรแกรม 1 * 2 = 2
Outside nested loops.
40. สร/ปเนEอหาของบท
ค6าส)7งโครงสร.างควบค/ม เปOนค6าส)งท%ใช.ในการก6าหนดล6าด)บการท6างานของค6า
7 7
ส)งตDางๆ โดยม%สามรGปแบบคอ โครงสร.างแบบตามล6าด)บ โครงสร.างแบบ
7
เลอกท6า และ โครงสร.างแบบท6าซE6า
ค6าส)7งท%7เปOนค6าส)7งของโครงสร.างแบบเลอกท6าคอ ค6าส)7ง if,if..else หรอ
switch
ค6าส)7ง if..else แตกตDางจากค6าส)7ง if ตรงท%7ค6าส)ง if..else จะม%การท6า
7
ค6าส)7งส6าหร)บคDาเทSจถ.านพจนMตรรกศาสตรMเปOนเทSจ สDวนค6าส)7ง if จะไมDม%การ
ท6าค6าส)งใดถ.านพจนMตรรกศาสตรMเปOนเทSจ
7
ค6าส)7ง if หรอ if..else สามารถท%7จะซ.อนอยGข.างในค6าส)7ง if หรอ
D
if..else อ7นได.
41. สร/ปเนEอหาของบท
ค6าส)7ง switch จะม%ล)กษณะโครงสร.างการท6างานคล.ายคลงก)บค6าส)ง
7
if..else if..else.. แตDชนดข.อมGลของต)วแปรท%จะน6ามาใช.ก)บค6าส)7ง
7
switch จะต.องเปOนชนด char, byte, short หรอ int เทDาน)Eน
ค6าส)7งท%7เปOนค6าส)7งของโครงสร.างแบบท6าซE6าคอ ค6าส)ง while,do..while
7
หรอ for
ค6าส)7ง while แตกตDางจากค6าส)7ง do..while ตรงท%7 ค6าส)7ง while จะไมDม%
การท6าช/ดค6าส)7งเลยถ.านพจนMตรรกศาสตรMเปOนเทSจ สDวนค6าส)7ง do..while
จะม%การท6าช/ดค6าส)งหนงคร)งถ.านพจนMตรรกศาสตรMเปOนเทSจ
7 7 E
ค6าส)7ง for ม%ล)กษณะการท6างานท%7เหมอนก)บค6าส)7ง while แตDจะม%การรวม
ค6าส)7งก6าหนดคDาเร7มต.น นพจนMตรรกศาสตรMและค6าส)7งเปล%7ยนแปลงคDาไว.หล)ง
ค6าส)7ง for
42. สร/ปเนEอหาของบท
ค6าส)7ง for จะใช.ในกรณ%ททราบจ6านวนคร)งในการท6าซE6าท%7แนDนอน สDวนค6าส)7ง
%7 E
while หรอ do..while นยมใช.ในกรณ%ท%7ไมDทราบจ6านวนคร)งในการท6าซE6า
E
ลDวงหน.า
ค6าส)7งโครงสร.างท)งหมดท%7กลDาวมาแล.วข.างต.น สามารถน6ามาใช.รวมก)นเปOน
E D
ล)กษณะแบบซ.อนได. เชDน ค6าส)ง switch อยGDภายในค6าส)7ง while หรอค6าส)ง
7 7
for อยGDภายในค6าส)7ง for ซงเร%ยกโครงสร.างในล)กษณะน%วา โครงสร.างแบบ
7 ED
ซ.อน
ค6าส)7ง break จะท6าให.หย/ดสEนส/ดการท6างานของโครงสร.างแบบท6าซE6า สDวน
ค6าส)7ง continue จะข.ามการท6างานค6าส)งท%7เหลอภายในบลSอก { } โดยไปเร7ม
7
การท6าซE6าในรอบตDอไปใหมD
43. แบบฝ9กหด
แบบฝ^กห)ดท%7 1 การใช.ค6าส)7ง if..else
• ใช.ค6าส)ง if..else เพ7อตรวจสอบคDาของ b2-4ac (โดยร)บคDา a,b และ c เข.า
7
มาทาง command line) ถ.าม%คDาเปOนลบให.พมพMข.อความวDา No answer แตDถาม%คDา
.
เปOนบวกหรอศGนยMให.ค6านวณหาค6าตอบและพมพMค6าตอบท)EงสองคDาออกมาทาง
จอภาพ
แบบฝ^กห)ดท%7 2 การใช.ค6าส)7ง if แบบซ.อน
• จงเข%ยนโปรแกรมค6านวณหาและพมพMคDาเกรดท%เหมาะสมตามคะแนนท%7ร)บเข.ามาจาก
7
ผG.ใช. โดยม%เกณฑMตามน%E
• คะแนนต)งแตD 90 ถง 100
E ได.เกรด A
• คะแนนต)งแตD 80 ถง 89
E ได.เกรด B
• คะแนนต)งแตD 70 ถง 79
E ได.เกรด C
• คะแนนต)งแตD 60 ถง 69
E ได.เกรด D
• คะแนนท%ต76ากวDา 60
7 ได.เกรด F