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);
}
}Thử thách
DễTạo một phương thức có tên findNumber nhận ba đối số:
- Một mảng số nguyên 2D (
grid) - Một số nguyên (
target) cần tìm - 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ếubreakEarlylà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);
}
}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
1Mảng đa chiều
Kiến thức cơ bản về mảng 2DTruy cập phần tử trong mảng 2DVòng lặp lồng nhau với mảng 2DÔn tập về mảng 2DPhép cộng và phép trừ ma trậnMảng không đềuMảng 3D trở lênCác mẫu thường gặp với mảng 2DÔn tập về mảng2HashMap phần 1
HashMap là gì?Khai báo HashMapTruy cập giá trịKiểm tra khóa có tồn tạiChỉnh sửa từ điểnÔn tập: HashMap3HashMap phần 2
Phương thức của HashMapDuyệt bằng keySet()Duyệt bằng entrySet()HashMap lồng nhauÔn tập: Quản lý kho hàngÔn tập: Thao tác với HashMap6Luồng điều khiển nâng cao
Câu lệnh nhãnBiểu thức switchSo khớp mẫuMệnh đề bảo vệÔn tập: luồng điều khiểnTự luyện tập: Trình biên dịch Java online