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

Bài giảng Kỹ thuật lập trình Java - Chương 3: Cấu trúc điều khiể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 (947.18 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:
 Mệnh đề if-else
 Mệnh đề switch-case
o 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 tiế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) {
int gioitinh = 1;
switch (gioitinh) {
case 0:
System.out.println(“Bé trai”);
break;
case 1:
System.out.println(“Bé gái”);
break;
default:
System.out.println(“Chưa xác
định”);
break;
}
}

public static void main(String[]
args) {
int gioitinh = 1;
if (gioitinh == 0)
System.out.println(“Bé trai”);
else if
System.out.println(“Bé gái”);
else

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 giá
trị là đúng hoặc sai
 Các biến trong biểu thức
có thể định giá trị của bất
kỳ kiểu giá trị nào
 Chỉ một khối lệnh được
thực thi

 Mỗi case liên quan trở lại
với giá trị ban đầu của
biểu thức trong câu lệnh
switch
 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 Cú pháp

o 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

• do-while

 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.
 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

 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 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 While, do … while, for tương đương nhau
o for:

 Sử dụng khi biết trước số lần lặp.
 Ví dụ: in ra một thơng báo 100 lần.
o while:
 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.
o 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.


×