Menu
CoddyTech

Câu lệnh nhãn

Thuộc phần Logic và luồng chương trình trong hành trình Java của Coddy. Bài học 35 trên 59.

Câu lệnh nhãn trong Java cho phép bạn đánh dấu các vị trí cụ thể trong code và điều khiển luồng chạy bằng các câu lệnh break và continue cùng với những nhãn này. Nhãn đặc biệt hữu ích khi làm việc với các vòng lặp lồng nhau.

Tạo một vòng lặp lồng nhau có nhãn:

outer: for(int i = 0; i < 3; i++) {
   for(int j = 0; j < 3; j++) {
       if(i * j == 4) {
           break outer;
       }
   }
}

Dùng continue với nhãn:

firstLoop: for(int i = 0; i < 3; i++) {
   for(int j = 0; j < 3; j++) {
       if(j == 1) {
           continue firstLoop;
       }
       System.out.println(i + "," + j);
   }
}
challenge icon

Thử thách

Dễ

Tạo một phương thức có tên findNumber nhận ba đối số:

  1. Một mảng số nguyên 2D (grid)
  2. Một số nguyên (target) cần tìm
  3. Một giá trị boolean (breakEarly) xác định liệu việc tìm kiếm có nên dừng sau khi tìm thấy lần xuất hiện đầu tiên hay không. Phương thức này cần dùng vòng lặp có nhãn để tìm số cần tìm và in ra từng vị trí tìm thấy số đó. Nếu breakEarly là true, phương thức cần dừng sau khi tìm thấy lần xuất hiện đầu tiên. In từng phần tử tìm thấy theo định dạng: Found at: rowIndex,colIndex

Tự làm thử

import java.util.Scanner;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;

public class Main {
    public static void findNumber(int[][] grid, int target, boolean breakEarly) {
        // Viết code của bạn ở đây
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // Đọc chuỗi JSON biểu diễn mảng 2 chiều
        String gridString = scanner.nextLine();
        // Đọc số cần tìm
        int target = Integer.parseInt(scanner.nextLine());
        // Đọc cờ breakEarly
        boolean breakEarly = Boolean.parseBoolean(scanner.nextLine());
        
        Type gridType = new TypeToken<int[][]>(){}.getType();
        int[][] grid = new Gson().fromJson(gridString, gridType);
        
        findNumber(grid, target, breakEarly);
    }
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Logic và luồng chương trình

Tự luyện tập: Trình biên dịch Java online