1. Lý thuyết và ví dụ
A. Vòng lặp
B. Break/Continue
2. Bài tập
THỰC HIỆN:
1. Lý thuyết và ví dụ
Sử dụng vòng lặp khi: Một đoạn code/mã lệnh trong chương trình được thực hiện lặp đi lặp lại cho đến khi thoả mãn một điều kiện nào đó thì nó sẽ kết thúc.
Noted: ĐỪNG QUÊN tăng biến được sử dụng trong điều kiện, nếu không vòng lặp sẽ không bao giờ kết thúc, hay bị lặp vô tận!
Ví dụ 1.5: Viết chương trình đọc điểm (số nguyên dương) nhập vào trong khoảng từ 0 đến 10
THỰC HIỆN:
1. Lý thuyết và ví dụ
A. Vòng lặp WHILE, FOR, DO... WHILE
Sử dụng vòng lặp khi: Một đoạn code/mã lệnh trong chương trình được thực hiện lặp đi lặp lại cho đến khi thoả mãn một điều kiện nào đó thì nó sẽ kết thúc.
Các vòng lặp phổ biến: WHILE, FOR, DO... WHILE
- WHILE:
Ví dụ 1.1: Xuất ra màn hình 10 lần chuỗi ký "Vong lap WHILE"
Code:
public class Vidu_3_While {
public static void main(String[] args) {
int i = 1; // khởi tạo i = 1
while (i <= 10) { // điều kiện dừng, dừng khi i > 10
System.out.println("Vong lap WHILE");
i++; // tăng i lên 1
}
}
}
HOẶC xuất thêm giá trị của biến i mỗi khi thực hiện lệnh in chuỗi
trên
Code:
public class Vidu_3_While {
public static void main(String[] args) {
int i = 1;
while (i <= 10) {
System.out.println("Vong lap WHILE. Gia tri cua i lan thu: " + i);
i++;
}
}
}
- FOR:
public class Vidu_3_For {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) { // biến khởi tạo; điều kiện; tăng giá trị của biến
System.out.println("Vong lap FOR cung tuong tu WHILE. Gia tri cua i lan thu: " + i);
}
}
}
Nhận xét: Cách hoạt động của FOR cũng tương tự như WHILE, tuy nhiên cách trình
bày các biến khởi tạo, điều kiện dừng, tăng giá trị của biến chúng để
chung trên một dòng.
- DO...WHILE: Cũng tương tự như WHILE nhưng nó thực hiện trước sau đó mới kiểm tra điều kiện. Cũng có nghĩa là vòng lặp sẽ chạy ít nhất một lần ngay cả khi điều kiện vẫn thỏa mãn
Code:
public class Vidu_3_DoWhile {
public static void main(String[] args) {
int i = 1;
do {
System.out.println("Vong lap DO ... WHILE. Gia tri cua i lan thu: " + i);
i++;
}
while (i <= 10);
}
}
Ví dụ 1.4: Viết chương trình đọc dữ liệu từ bàn phím nếu số < 0 (hay số nguyên âm) thì yêu cầu nhập lại, và kết thúc chương trình khi nhập số nguyên dương (bỏ qua việc kiểm tra dữ liệu đầu vào ký tự)
Code:
public class Vidu_1_4 {
public static void main(String[] args) {
int so=0;
Scanner in = new Scanner(System.in);
do{
System.out.print("Nhap so duong: ");
so = in.nextInt();
if (so < 0) System.out.println("Nhap vao so > 0");
}while(so < 0);
}
}
Ví dụ 1.5: Viết chương trình đọc điểm (số nguyên dương) nhập vào trong khoảng từ 0 đến 10
Code:
public class Vidu_1_5 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double diem = 0;
do{
System.out.print("nhap diem(0-10): ");
diem = scanner.nextDouble();
}
while(diem < 0 || diem > 10);
System.out.printf("Diem da nhap: %.1f", diem); // định dạng kiể fload là lấy 1 số thập phân
}
}
B. Break/Continue
- Break: Câu break lệnh cũng có thể được sử dụng để nhảy/thoát ra khỏi vòng lặp
Ví dụ:
public class lap_break {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
if (i == 5) {
break; // nếu i = 5 thì thoát khỏi vòng lặp
}
System.out.print(i+" ");
}
}
}
- Continue: Câu continue lệnh ngắt/bỏ qua một lần lặp và không thực hiện khối lệnh phía sau nó (trong vòng lặp), nếu một điều kiện cụ thể xảy ra và tiếp tục với lần lặp tiếp theo trong vòng lặp.
Ví dụ:
public class lap_continue {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
if (i == 5) {
continue; // bỏ qua KHÔNG IN giá trị i = 5
}
System.out.print(i+" ");
}
}
}
2. Bài tập
2.1 Viết chương trình in ra bảng cửu chương 7
- Dùng WHILE
Code:
public class Baitap_BangCuuChuong {
public static void main(String[] args) {
System.out.println("In cuu chuong 7");
int i = 1;
while(i<= 10){
System.out.println("7 x " + i + " = " + (7 * i));
i++;
}
}
}
- Dùng FOR
Code:
public class Baitap_BangCuuChuong {
public static void main(String[] args) {
System.out.println("In cuu chuong 7");
for (int i = 1;i<= 10; i++){
System.out.println("7 x " + i + " = " + (7 * i));
}
}
}
2.2 Viết chương trình nhập số nguyên từ bàn phím, xuất ra bảng cửu
chương của số vừa nhập
Code:
import java.util.Scanner;
public class Baitap_BangCuuChuong {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Nhap n: ");
int n = in.nextInt();
System.out.println("=== Bang cuu chuong " + n + " ===");
int i=1;
while(i<= 10){
System.out.println(n+" x "+i+" = "+(n*i));
i++;
}
}
}
2.3 Viết chương trình in ra bảng cửu chương 2 đến bảng cửu chương 9,
dùng phương thức gọi hàm và các vòng lặp lồng nhau
Code:
public class Baitap_BangCuuChuong {
public static void main(String[] args) {
for(int n = 2; n < 10; n++ ){
inBangCuuChuong(n);
}
}
static void inBangCuuChuong(int n){
System.out.println();
System.out.println("=== Bang cuu chuong " + n + " ===");
int i=1;
while(i<= 10){
System.out.printf("%d x %d = %d %n",n, i,(n*i));
i++;
}
}
}
P/s: Các bạn cũng có thể viết theo cách của mình
Ví dụ 2.4: Viết chương trình in ra bảng cửu chương 2 đến bảng cửu chương 9. Kết
quả xuất theo hàng ngang của mỗi bảng cửu chương trên một cột
Gợi ý:
public class ForLongNhau {
public static void main(String[] args) {
for(int i=1;i<=10;i++){
for(int j=2;j<=9;j++){
System.out.printf("%d x %d = %d \t", j, i, i*j); // chú ý i, j
}
System.out.println("");
}
}
}
2.5 Viết chương trình tính trung bình cộng các số chia hết cho 3 từ 27
đến 33
Code:
public class Vidu_2_5 {
public static void main(String[] args) {
int min = 27, max= 33;
int i=0,dem=0,tong = 0;
i=min;
while(i <= max){
if(i%3 ==0){
tong += i;
dem++;
}
i++;
}
System.out.printf("TB cac so CHIA HET cho 3 tu %d den %d = %d",min,max,tong/dem);
}
}
xong!
No comments:
Post a Comment