You are on page 1of 20

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
„ ตัวอยาง System.out.println(points+" = B");
public class TestIfElseIf {
else if(points >=60)
public static void main(String[] args) {
new TestIfElseIf().calGrade(88); System.out.println(points+" = C");
new TestIfElseIf().calGrade(49); else if(points >= 50)
new TestIfElseIf().calGrade(66); System.out.println(points+" = D");
new TestIfElseIf().calGrade(73); else
}
System.out.println(points+" = F");
public void calGrade(int points){
System.out.println("End calGrade");
if(points >= 80)
}
System.out.println(points+" = A");
}
else if(points >=70)
Suradet Petcharanon Java Programming 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");
public class TestSwitchCase { System.out.println("ดี");
public static void main(String[] args) { break;
new TestSwitchCase().calGrade(3); case 2 :
System.out.println(); System.out.println("C");
new TestSwitchCase().calGrade(4); System.out.println("พอใช");
System.out.println(); break;
new TestSwitchCase().calGrade(2); case 1
new TestSwitchCase().calGrade(1);
System.out.println("D");
System.out.println();
new TestSwitchCase().calGrade(0); System.out.println("ตองปรับปรุง");
System.out.println(); break;
} default :
public void calGrade(int grade){ System.out.println("F");
switch(grade){ System.out.println("ไมผาน");
case 4 :
}
System.out.println("A");
System.out.println("ดีมาก"); }
break; }

Suradet Petcharanon 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<loops;i++)
‰ sum+=i;
‰ System.out.println("Summation is "+sum);
‰ }
‰ }

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

You might also like