Tải bản đầy đủ (.pptx) (27 trang)

Bài giảng Tin học đại cương 2: Chương 3 - Nguyễn Thị Mỹ Truyền

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (358.75 KB, 27 trang )

Chương 3
Cấu trúc điều khiển


Chương 3: Cấu trúc điều khiển

o

Điều khiển rẽ nhánh:



o

Mệnh đề if-else
Mệnh đề switch-case

Vòng lặp (Loops):





Vòng lặp while
Vòng lặp do-while
Vòng lặp for

o Cấu trúc lệnh nhảy:
 Lệnh break
 Lệnh continue
 Nhãn (lable)


 Lệnh goto


Lệnh if

o

Cú pháp:

if (<biểu thức điều kiện>)
{
[câu lệnh 1];
[câu lệnh 2];

}


Lệnh if
public class TestIf {



public static void main( String args[ ] ){









}

int van, toan;
van = 8;
toan = 6;

if(((toan+van)/2 > 5) && (toan > 5))
System.out.println(“Kết quả đậu \n”);

}


Lệnh if
import java.util.Date;
public class TestIf 2{






}

public static void main( String args[ ] ){
Date today = new Date();
if( today.getDay() == 0 )
System.out.println(“Hôm nay là chủ nhật\n”);
}



Lệnh if … else

o

Cú pháp:


Lệnh if … else
public class TestIf {



public static void main( String args[ ] ){










}

Int van, toan;
van = 8;
toan = 6;


if(((toan+van)/2 > 5) && (toan > 5))
System.out.println(“Kết quả đậu \n”);
else
System.out.println(“Kết quả không đậu \n”);

}


Lệnh if … else
import java.util.Date;
public class TestIf 2{








}

public static void main( String args[ ] ){
Date today = new Date();
if( today.getDay() == 0 )
System.out.println(“Hôm nay là chủ nhật\n”);
else
System.out.println(“Hôm nay không phải là chủ nhật\n" );
}



Lệnh if .. else
import java.util.Date;
public class TestIf {



public static void main( String args[ ] ){








}

Date today = new Date();

if( today.getDay() == 0 )
System.out.println(“Hôm nay là chủ nhật\n”);
else
System.out.println(“Hôm nay không phải là chủ nhật\n" );
}


Lỗi với lệnh if .. else

o


Thêm ; ở cuối mệnh đề if hoặc else

o

Lỗi này rất khó tìm, vì nó không phải là lỗi biên dịch hay lỗi chạy chương trình, nó là lỗi logic.


Lưu ý với lệnh if .. else

o

Nhiều lệnh IF lồng vào nhau:


Lưu ý với lệnh if .. else

o

Mệnh đề else gắn với mệnh đề if gần nhất trong cùng một khối.

VD:
public class TestIf3{
public static void main( String args[ ] ){
int i = 1; int j = 2; int k = 3;
if(i > j)
if(i > k)
System.out.println(“A”);
else //của if(i > k)
System.out.println(“B”);
}

}




Lệnh switch … case

o

Cấu trúc lệnh switch tương tự các cặp lệnh if – else liên  tếp nhau


Lệnh switch … case


Lệnh switch … case
public static void main(String[] args) {
           int a = 0;
            switch (a) {
       case 0:
       

      System.out.println(“Zero”);

                 
           

break;
case 10:


                 
           

System.out.println(“Ten”);
case 20:

                 

System.out.println(“Twenty”);

                 

break;

           

default:

                 

System.out.println(“Default”);

                 

break;

           }     
}



So sánh lệnh if … else và switch … case
public static void main(String[] args) {

public static void main(String[] args) {

    int gioitinh = 1;

    int gioitinh = 1;

       switch (gioitinh) {

     if (gioitinh == 0)

      case 0:
     

      System.out.println(“Bé trai”);
else if

         

      System.out.println(“Bé trai”);
break;

         System.out.println(“Bé gái”);
else         

          case 1:
         


System.out.println(“Bé gái”);

         

break;

          default:
         

System.out.println(“Chưa xác định”);

         

break;

         }     
}

System.out.println(“Chưa xác định”);
 }


So sánh lệnh if … else và switch … case



if-else




swich-case



Mỗi if có biểu thức luận lý bên trong để định



Mỗi case liên quan trở lại với giá trị ban đầu

giá trị là đúng hoặc sai



Các biến trong biểu thức có thể định giá trị

của biểu thức trong câu lệnh switch



của bất kỳ kiểu giá trị nào



Chỉ một khối lệnh được thực thi

Biểu thức phải định giá trị là kiểu byte, short,
char, int




Nếu câu lệnh break bị bỏ qua có nhiều khối
lệnh được thực hiện


Lệnh lặp while

o

o

Cú pháp

Lưu ý: Không nên sử dụng giá trị kiểu float, double để kiểm tra đẳng thức trong vòng lặp.


Lệnh lặp while
// Tính tổng các số lẻ từ 1 đến 100
public static void main(String[] args) {






}

int tong = 0, i = 1;
while (i<=100){
tong+=i; i+=2;

}
System.out.println(tong);


Lệnh lặp do … while

o

Cú pháp


Lệnh lặp do … while
// Tính tổng các số lẻ từ 1 đến 100
public static void main(String[] args) {






}

int tong = 0, i=1;
do{
tong+=i; i+=2;
}while (i<=100);
System.out.println(tong);


So sánh while/for và do-while






while/for
Vịng lặp được kiểm tra đầu tiên. Điều kiện
được kiểm tra trước khi các câu lệnh trong
phạm vi vịng lặp được thực thi.



do-while



Vịng lặp được kiểm tra sau. Điều kiện được
kiểm tra sau khi câu lệnh trong phạm vi vịng

Vịng lặp khơng được thực thi nếu điều kiện
không được thỏa mãn tại điểm bắt đầu

lặp được thực thi.



Vịng lặp được thực thi ít nhất một lần thậm
chí nếu điều kiện khơng thỏa mãn tại điểm
bắt đầu



Lệnh lặp for

o

Cú pháp:

for(<giá trị khởi tạo>;<biểu thức điều kiện>;tăng/giảm){
//Khối lệnh
}


Lệnh lặp for
// Chương trình tính tổng các số lẻ từ 1 đến 100
public class TestFor{
public static void main(String[] args){
int tong = 0;
for(int i=1; i<=100; i+=2)
tong+=i;
System.out.println(tong);
}
}


Lưu ý sử dụng vòng lặp

o
o

While, do … while, for tương đương nhau

for:



o

Ví dụ: in ra một thơng báo 100 lần.

while:



o

Sử dụng khi biết trước số lần lặp.

Sử dụng khi khơng biết trước số lần lặp.
Ví dụ: đọc vào các số đến khi gặp số 0.

do … while:



Sử dụng thay lệnh WHILE khi thân vịng lặp được thực hiện ít nhất 1 lần.


×