03 Cac cau truc dieu khien trong Java

LẬP TRÌNH JAVA

Bài 3: Các cấu trúc điều khiển của ngôn ngữ Java

Mục tiêu

 Kết thúc bài học bạn có thể nắm được:

 Các cấu trúc lựa chọn:

 Sử dụng if và if...else

 Cấu trúc if lồng nhau

 Sử dụng câu lệnh switch

 Toán tử điều kiện

 Các cấu trúc lặp

 Lặp: while, do-while, for

 Lặp lồng nhau

 Sử dụng break và continue

Nội dung

 3.1- Các cấu trúc lựa chọn

 3.2- Các cấu trúc lặp

3.1- Các cấu trúc lựa chọn

 Lệnh if

if (Biểu_thức_logic) {

các_câu_lệnh;

}

 Ví dụ:

if ((i > 0) && (i < 10)) {

System.out.println("i la mot " +

"so nguyen nam giua 0 va 10");

}

3.1- Các cấu trúc lựa chọn

 Lệnh if

 Lỗi phổ biến: thêm một dấu chấm phẩy ở cuối mệnh đề if.

if (radius >= 0);

{

area = radius*radius*PI;

System.out.println(

"The area for the circle of radius " +

radius + " is " + area);

}

 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à một lỗi logic.

3.1- Các cấu trúc lựa chọn

 Lệnh if...else

if (Biểu_thức_logic) {

Các_câu_lệnh_ứng_BT_đúng;

}

else {

Các_câu_lệnh_ứng_BT_sai;

}

3.1- Các cấu trúc lựa chọn

 Ví dụ if...else

if (bankinh >= 0) {

dientich = bankinh*bankinh*PI;

System.out.println("Dien tich hinh tron co ban kinh " + bankinh +

" la " + dientich);

}

else {

System.out.println("Du lieu khong hop le!");

}

3.1- Các cấu trúc lựa chọn

 Nhiều lệnh if luân phiên

if (score >= 90)

grade = 'A';

else

if (score >= 80)

grade = 'B';

else

if (score >= 70)

grade = 'C';

else

if (score >= 60)

grade = 'D';

else

grade = 'F';

3.1- Các cấu trúc lựa chọn

 Chú ý:

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

 Ví dụ, đoạn lệnh sau:

int i = 1; int j = 2; int k = 3;

if (i > j)

if (i > k)

System.out.println("A");

else

System.out.println("B");

là tương đương với:

int i = 1; int j = 2; int k = 3;

if (i > j)

if (i > k)

System.out.println("A");

else

System.out.println("B");

3.1- Các cấu trúc lựa chọn

 Chú ý:

 Để bắt mệnh đề else gắn với mệnh đề if đầu tiên, bạn phải thêm một cặp ngoặc nhọn:

int i = 1;

int j = 2;

int k = 3;

if (i > j) {

if (i > k)

System.out.println("A");

}

else

System.out.println("B");

 Đoạn lệnh trên sẽ in ra ký tự B.

3.1- Các cấu trúc lựa chọn

 Chú ý:

3.1- Các cấu trúc lựa chọn

 Lệnh switch

3.1- Các cấu trúc lựa chọn

 Lệnh switch

3.1- Các cấu trúc lựa chọn

 Lệnh switch

 Biểu thức switch phải sinh ra một giá trị kiểu char, byte, short, hoặc int, và phải luôn được bao trong cặp dấu ngoặc tròn.

 gtri1, ..., gtriN phải có cùng kiểu dữ liệu với giá trị của biểu thức switch.

 Từ khóa break là tùy chọn, nhưng nên được sử dụng cuối mỗi trường hợp để thoát khỏi phần còn lại của lệnh switch. Nếu không có lệnh break, lệnh case tiếp theo sẽ được thực hiện.

 Trường hợp default là tùy chọn, có thể sử dụng để thực hiện các lệnh khi không có trường hợp nào ở trên là đúng.

 Thứ tự của các trường hợp (gồm cả trường hợp default) là không quan trọng. Tuy nhiên, phong cách lập trình tốt là nên theo một trình tự logic của các trường hợp và đặt trường hợp default cuối cùng.

3.1- Các cấu trúc lựa chọn

 Lệnh switch

 Lưu ý:

 Dừng quên dùng lệnh break khi cần thiết. ví dụ đoạn mã sau luôn hiển thị "Sai so nam!" bất chấp sonam là bao nhiêu. Giả sử sonam bằng 15. Lệnh laisuatnam = 8.50 được thực hiện, tiếp theo là lệnh laisuatnam = 9.0, và cuối cùng là lệnh System.out.println("Sai so nam!").

switch (sonam) {

case 7: laisuatnam = 7.25;

case 15: laisuatnam = 8.50;

case 30: laisuatnam = 9.0;

default: System.out.println("Sai so nam!");

}

3.1- Các cấu trúc lựa chọn

 Toán tử điều kiện

(BT_logic) ? bt1 : bt2 ;

 Ví dụ 1:

if (x > 0) y = 1

else y = -1;

 tương đương với:

y = (x > 0) ? 1 : -1;

3.1- Các cấu trúc lựa chọn

 Toán tử điều kiện

(BT_logic) ? bt1 : bt2 ;

Ví dụ 2:

System.out.println(

(so % 2 == 0)? so + "la so chan" :

so + "la so le");

 tương đương với:

if (so % 2 == 0)

System.out.println(so+"la so chan");

else

System.out.println(so + "la so le");

3.2- Các cấu trúc lặp

 Lệnh lặp while

 Lệnh lặp do-while

 Lệnh lặp for

 break và continue

3.2- Các cấu trúc lặp

 Lệnh lặp while

while (đk_tiếp_tục_lặp) {

// thân_vòng_lặp;

các_câu_lệnh;

}

 Ví dụ:

int i = 0;

while (i < 100) {

System.out.println("Welcome to Java!");

i++;

}

3.2- Các cấu trúc lặp

 Lệnh lặp while

 Lưu ý:

 Đừng sử dụng giá trị dấu chấm động để kiểm tra đẳng thức trong một điều khiển lặp. Vì giá trị dấu chấm động là gần đúng, sử dụng chúng có thể dẫn đến bộ đếm thiếu chính xác và kết quả sai.

 Ví dụ sau nên sử dụng giá trị int cho biến data. Nếu data có kiểu thực thì data != 0 có thể là true dù data bằng 0.

// data should be zero

double data = Math.pow(Math.sqrt(2), 2) - 2;

if (data == 0)

System.out.println("data is zero");

else

System.out.println("data is not zero");

3.2- Các cấu trúc lặp

 Lệnh lặp do-while

do {

// thân_vòng_lặp;

các_câu_lệnh;

} while (đk_tiếp_tục_lặp);

 Ví dụ:

int i = 0;

do {

System.out.println("Welcome to Java!");

i++;

} while (i < 100)

3.2- Các cấu trúc lặp

 Lệnh lặp for

for (khởi_tạo; đk_tiếp_tục_lặp; cviệc_sau_mỗi_lần_lặp)

{

// thân vòng lặp;

các_câu_lệnh;

}

 Example:

for (i = 0; i < 100; i++) {

System.out.println("Welcome to Java! " + i);

}

3.2- Các cấu trúc lặp

 Lệnh lặp for

for (khởi_tạo; đk_tiếp_tục_lặp; cviệc_sau_mỗi_lần_lặp)

{

// thân vòng lặp;

các_câu_lệnh;

}

3.2- Các cấu trúc lặp

 Lệnh lặp for

 Các trường hợp sau đây là đúng:

for (int i = 1; i < 100; System.out.println(i++));

for (int i = 0, j = 0; (i + j < 10); i++, j++) {

// Do something

}

3.2- Các cấu trúc lặp

 Ba lệnh lặp while, do, và for là tương đương nhau trong nhiều trường hợp; nghĩa là bạn có thể viết một vòng lặp bằng một dạng bất kỳ trong 3 dạng trên.

 Lệnh lặp for có thể sử dụng khi biết trước số lần lặp, ví dụ khi bạn muốn in ra một thông báo 100 lần.

 Lệnh lặp while có thể sử dụng khi không biết trước số lần lặp, như trong trường hợp đọc vào các số đến khi gặp số 0.

 Lệnh lặp do-while có thể sử dụng thay lệnh while khi thân vòng lặp phải được thực hiện trước khi kiểm tra điều kiện tiếp tục lặp.

3.2- Các cấu trúc lặp

3.2- Các cấu trúc lặp

 Từ khóa break

3.2- Các cấu trúc lặp

 Từ khóa continue

Bạn đang đọc truyện trên: AzTruyen.Top