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