Bà i 10 Break và Continue trong Java
Bài 10: Break và Continue trong Java
1, L?nh break:
Trong c?u trúc switch chúng ta dùng câu l?nh break ?? thoát th?i c?u trúc switch trong cùng ch?a nó. T??ng t? nh? v?y, trong c?u trúc l?p, câu l?nh break dùng ?? thoát kh?i c?u trúc l?p trong cùng ch?a nó.
Trong th?c t?, ??c bi?t là các bài tìm ki?m, s? dùng break ?? thoát vòng l?p khi chúng ta ?ã tìm th?y k?t qu?, tránh vi?c l?p t?i t?n cùng c?a vòng l?p, gây lãng phí tài nguyên, vì th? giúp ch??ng trình ch?y nhanh h?n!
Ví d? 1 : Tìm ki?m s? th? t? c?a ph?n t? có giá tr? là 10 trong 1 m?ng các s? nguyên:
PHP:public class JavaDemoAndroidVn {
public static void main(String[] args) {
//Vd1 break
int arrInt[] = {1, 2, 5, 0, 10, 200, 20, 35, 29};
for (int i = 0; i <= 8; i++) {
if (arrInt[i] == 10) {
System.out.println("Tìm th?y s? 10 có th? t? trong m?ng là: " + i);
break;
}
}
}
}
2, L?nh continue:
Hi?u ??n gi?n, chúng ta th??ng dùng continue ?? b? qua vòng l?p hi?n t?i khi g?p ?i?u ki?n nào ?ó ?? ti?p t?c sang vòng l?p ti?p theo! Còn b?n ch?t, vì nó c?ng là 1 l?nh nh?y, nó nh?y xu?ng v? trí k?t thúc ("}") c?a kh?i l?nh trong vòng l?p ch?a nó và b? qua t?t c? các câu l?nh sau nó (Nh?ng câu l?nh thu?c cùng kh?i l?nh v?i continue c?a vòng l?p)
Ví d? 2: Tìm ki?m và in ra s? th? t? và giá tr? các ph?n t? có giá tr? nh? h?n 35 trong m?ng các s? nguyên!
PHP:public class JavaDemoAndroidVn {
public static void main(String[] args) {
//Vd2 continue
int arrInt[] = {1, 2, 5, 0, 10, 200, 20, 35, 29};
System.out.println("Nh?ng s? nh? h?n 35 trong m?ng là: ");
System.out.print("S? th? t?: ");
for (int i = 0; i <= 8; i++) {
if (arrInt[i] >= 35) {
System.out.print(" ");
continue;
}
System.out.print(i + " ");
}
System.out.print(" " + "Giá tr?: ");
for (int i = 0; i <= 8; i++) {
if (arrInt[i] >= 35) {
continue;
}
System.out.print(arrInt[i] + " ");
}
}
}
3, Nhãn (label):
Không gi?ng nh? C/C++, Java không h? tr? l?nh goto ?? nh?y ??n 1 v? trí nào ?ó c?a ch??ng trình. Java dùng k?t h?p nhãn (label) v?i t? khóa break và continue ?? thay th? cho l?nh
goto. Tuy nhiên, ta c?ng ch? có th? s? d?ng label ??i v?i các vòng l?p mà thôi!
PHP:
label:
for (
){
for (
){
if (<bi?u th?c ?i?u ki?n>){
break label;
}
else{
continue label;
}
}
}Xác ??nh v? trí c?a nhãn và xem nh? tên c?a vòng l?p ngoài. N?u <bi?u th?c ?i?u ki?n> ?úng thì l?nh break label s? th?c hi?n vi?c nh?y ra kh?i vòng l?p có nhãn là label, ng??c l?i s? ti?p t?c vòng l?p có nhãn label (khác v?i break và continue thông th??ng ch? thoát kh?i hay ti?p t?c vòng l?p trong cùng ch?a nó).
Ví d? 3: Bài sau ?ây nh?p xu?t ma tr?n, tìm ki?m ch? s? c?a ph?n t? tìm th?y ??u tiên theo yêu c?u!
PHP:import java.util.Scanner;
public class JavaDemoAndroidVn {
public static void main(String[] args) {
//Vd3 Label
Scanner input = new Scanner(System.in);
int arrInt[][];
arrInt = new int[10][10];
System.out.print("Nhap so hang: ");
int m = input.nextInt();
System.out.print("Nhap so cot: ");
int n =Available link for download