Friday, February 10, 2017

Bà i 10 Break và Continue trong Java

Bà i 10 Break và Continue trong Java


Bài 10: Break và Continue trong Java

images ?

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!

break ?

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:
Hide Spoiler
PHP:
public class JavaDemoAndroidVn {
    public static 
void main(String[] args) {
        
//Vd1 break
        
int arrInt[] = {125010200203529};
        for (
int i 0<= 8i++) {
            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)

continue ?

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!
Hide Spoiler
PHP:
public class JavaDemoAndroidVn {
    public static 
void main(String[] args) {
        
//Vd2 continue
        
int arrInt[] = {125010200203529};
        
System.out.println("Nh?ng s? nh? h?n 35 trong m?ng là: ");
        
System.out.print("S? th? t?: ");
        for (
int i 0<= 8i++) {
            if (
arrInt[i] >= 35) {
                
System.out.print(" ");
                continue;
            }
            
System.out.print(" ");
        }
        
System.out.print(" " "Giá tr?:  ");
        for (
int i 0<= 8i++) {
            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;
        }
    }
}
L?nh “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!
Hide Spoiler
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