Java Programming Mr. Suradet Petcharanon
Chapter 3 Control Structures 23 December 2006
คําสั่งควบคุม(Control Structure)
คําสั่งควบคุมการทํางานของโปรแกรมแบงออกเปน 2 ประเภทคือ กลุมคําสั่ง Selection และ กลุมคําสั่ง Iteration โดยจะหัวขอที่จะพูดถึงมีดังนี้
กลุมคําสั่ง Selection เปนกลุมคําสั่งที่ใชในการเลือกการทํางาน
If Switch-case
กลุมคําสั่ง Iteration เปนกลุมคําสั่งที่ใชในการทําซ้ํา
For While Do-while
Suradet Petcharanon
Java Programming
2
คําสั่งควบคุม(Control Structure)
คําสั่ง Break และ Continue การประยุกตใชงาน Array
Suradet Petcharanon
Java Programming
3
คําสั่ง If
รูปแบบของคําสั่ง if if(เงื่อนไข){ //เมื่อเงื่อนไขเปนจริง คําสั่งการทํางานที่1; //สามารถที่ไดมากกวา 1 คําสั่ง } // เมื่อเงื่อนไขเปนเท็จ คําสั่งการทํางานที่2; //สามารถที่ไดมากกวา 1 คําสั่ง
Suradet Petcharanon
Java Programming
4
คําสั่ง If
ตัวอยาง public class TestIf {
public static void main(String[] args) { new TestIf().calGrade(53); System.out.println(""); new TestIf().calGrade(43); } public void calGrade(int points){ if(points > 50){ System.out.println("คุณผานคุณมีคะแนนมากกวา 50 คะแนน"); } System.out.println("ok "+points); }
}
Suradet Petcharanon
Java Programming
5
คําสั่ง if-else
รูปแบบของคําสั่ง if if(เงื่อนไข){ //เมื่อเงื่อนไขเปนจริง คําสั่งการทํางานที่1; //สามารถที่ไดมากกวา 1 คําสั่ง }else{ // เมื่อเงื่อนไขเปนเท็จ คําสั่งการทํางานที่2; //สามารถที่ไดมากกวา 1 คําสั่ง }
Suradet Petcharanon
Java Programming
6
คําสั่ง if-else
ตัวอยาง public class TestIfElse {
public static void main(String[] args) { new TestIfElse().calGrade(53); System.out.println(""); new TestIfElse().calGrade(43); } public void calGrade(int points){ if(points > 50){ System.out.println("คุณผานคุณมีคะแนนมากกวา 50 คะแนน"); }else{ System.out.println("คุณไมผานคุณมีคะแนนนอยกวา 50 คะแนน"); } System.out.println("ok "+points);
}
}
Suradet Petcharanon
Java Programming
7
คําสั่ง nested if
รูปแบบของคําสัง่ If(เงือ่ นไขที่1){ คําสัง่ ที1่ ; }else if(เงือ่ นไขที2่ ){ คําสัง่ ที1่ -2; }else if(เงือ่ นไขที3่ ){ คําสัง่ ที1่ -3; }else{ คําสัง่ ที4่ ; } คําสัง่ ที5่ ;
Suradet Petcharanon
Java Programming
8
คําสั่ง nested if
ตัวอยาง public class TestIfElseIf { public static void main(String[] args) { new TestIfElseIf().calGrade(88); new TestIfElseIf().calGrade(49); new TestIfElseIf().calGrade(66); new TestIfElseIf().calGrade(73); } public void calGrade(int points){ if(points >= 80) System.out.println(points+" = A"); else if(points >=70)
Suradet Petcharanon
Java Programming
System.out.println(points+" = B"); else if(points >=60) System.out.println(points+" = C"); else if(points >= 50) System.out.println(points+" = D"); else System.out.println(points+" = F"); System.out.println("End calGrade"); } } 9
คําสั่ง switch-case
รูปแบบของคําสั่ง Switch(ตัวแปรหรือนิพจนที่ตองการตรวจสอบ){ case คาที่ 1 : คําสั่งที่ 1; break; case คาที่ 2 : คําสั่งที่ 2; break; default : คําสั่งที่ 3; } คําสั่งที่ 4;
Suradet Petcharanon
Java Programming
10
คําสั่ง switch-case
case 3 : System.out.println("B"); System.out.println("ดี"); break;
ตัวอยาง public class TestSwitchCase { public static void main(String[] args) { new TestSwitchCase().calGrade(3); System.out.println(); new TestSwitchCase().calGrade(4); System.out.println(); new TestSwitchCase().calGrade(2); new TestSwitchCase().calGrade(1); System.out.println(); new TestSwitchCase().calGrade(0); System.out.println(); } public void calGrade(int grade){ switch(grade){ case 4 : System.out.println("A"); System.out.println("ดีมาก"); break;
Suradet Petcharanon
case 2 : System.out.println("C"); System.out.println("พอใช"); break; case 1 System.out.println("D"); System.out.println("ตองปรับปรุง"); break; default : System.out.println("F"); System.out.println("ไมผาน"); } } } Java Programming
11
กลุมคําสั่ง Iteration Iteration เปนกลุมคําสั่งที่ใชในการวนรอบ (Loop) การทํางานไปเรื่อยๆ จนกวาเงื่อนไข ที่กําหนดไวจะเปนเท็จ จึงจะหลุดออกจากการวนรอบนี้ได กลุมคําสั่งนี้ไดแก While Do while for
Suradet Petcharanon
Java Programming
12
คําสั่ง While Loop
รูปแบบของคําสั่ง While while(เงื่อนไข){ คําสั่งที่ทํางานเมื่อเงื่อนไขเปนจริง; } เงื่อนไข
เท็จ
จริง คําสั่งเมื่อเงื่อนไขเปนจริง คําสั่งถัดไป
Suradet Petcharanon
Java Programming
13
คําสั่ง While Loop
ตัวอยาง public class TestWhile { public static void main(String[] args) { new TestWhile().timeMoved(2000f); } public void timeMoved(float num){ int moved = 0; while(num>=1.0){ num*=0.1; moved++; } System.out.println("Number : "+num); System.out.println("Time : "+moved); } }
Suradet Petcharanon
Java Programming
14
คําสั่ง Do While
รูปแบบคําสั่ง do{ คําสั่งตางๆ: }while(เงื่อนไข)
คําสั่งตางๆ
จริง
การทํางานจะทํากอนครั้ง หนึ่งแลวคอยตรวจสอบ เงื่อนไข
Suradet Petcharanon
เงื่อนไข เท็จ คําสั่งถัดไป
Java Programming
15
คําสั่ง Do While
ตัวอยาง public class TestDoWhile { public static void main(String[] args) { new TestDoWhile().sumData(); } public void sumData(){ int data = 0; int sum = 0; do{ data+=1; sum+=data; }while(data<=10); System.out.println("Summation is "+sum); } }
Suradet Petcharanon
Java Programming
16
คําสั่ง For Loop
รูปแบบคําสั่ง For for(คาตัวแปรเริ่มตน;เงื่อนไข;เปลี่ยนแปลงคาตัวแปร;){ คําสั่งที่ทํางานเมื่อเงื่อนไขเปนจริง; }
คาตัวแปรเริม่ ตน
เงื่อนไข เพิ่มคาตัวแปร
เท็จ
จริง คําสั่งตางๆ
คําสั่งถัดไป Suradet Petcharanon
Java Programming
17
คําสั่ง For Loop
ตัวอยาง
public class TestForLoop { public static void main(String[] args) { new TestForLoop().forLoop(10); } public void forLoop(int loops){ int sum=0; for(int i=0;i
Suradet Petcharanon
Java Programming
18
การประยุกตใชงาน
การใชงาน if
import java.io.*; public class AppIfElse { public static void main(String[] args) { int month = 0; boolean check = true; do{ try{ BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in)); String input = ""; System.out.print("Input your required month(1-12) : "); input = stdin.readLine(); month = Integer.parseInt(input); check = false; }catch(NumberFormatException e){ System.out.println("Please input Integer"); }catch(IOException e){ System.out.print(e); }// End try }while(check); //end "do..while"
Suradet Petcharanon
Java Programming
19
การประยุกตใชงาน
String season; if(month==1||month==2||month==3) season = "Warm"; else if(month==4||month==5||month==6) season = "hot"; else if(month==7||month==8||month==9) season = "rain"; else if(month==10||month==11||month==12) season = "cold"; else season = "error"; System.out.println("Month "+ month +" it's "+ season); }// End Method Main }//End Class
Suradet Petcharanon
Java Programming
20