Java cung cấp bốn cách để chuyển điều khiển thực hiện của chương trình:
break continue return
try-catch-finally
Câu lệnh break
Câu lệnh break được sử dụng trong các khối được gắn nhãn, trong các chu trình lặp (for, while, do-while) và câu lệnh switch để chuyển điều khiển thực hiện chương trình ra khỏi khối trong cùng chứa nó.
Trong trường hợp khối được gắn nhãn, khi gặp lệnh break thì phần còn lại của khối bị cho qua và chương trình tiếp tục thực hiện lệnh đứng sau khối đó,
Đối với các chu trình lặp, khi gặp lệnh break thì phần còn lại của thân chu trình được bỏ qua và kết thúc chu trình đó,
Đối với lệnh switch, khi gặp lệnh break thì phần còn lại của lệnh switch bị bỏ qua và tiếp tục thực hiện lệnh đứng sau lệnh switch đó.
Ví dụ 4.2 Chương trình minh hoạ cách sử dụng khối được gắn nhãn và lệnh break
// Tệp Label.java class Label {
public static void main(String args[]){
int[][] sqMatrix = {{4,3,5},{2,1,6},{9,7,8}}; int sum = 0;
outer: // Gắn nhãn outer cho khối
for (int i = 0; i < sqMatrix.length; i++){ // (1) for(int j = 0; j < sqMatrix[i].length; i++){// (2)
if (i == j) break;// Kết thúc chu trình (2) và tiếp ở (5) System.out.println("Bang["+i+","+j+"] = " + sqMatrix[i][j]);
sum += sqMatrix[i][j];
if (sum >10) break outer;// Kết thúc khối outer (cả // hai chu trình for) và chuyển tới (6)
} // Kết thúc for bên trong // (5)
} // Kết thúc for bên ngoài // (6)
System.out.println("Tong sum = " + sum); }
}
Kết quả thực hiện của chương trình: Bang[1, 0] = 2
Bang[2, 0] = 9 Tong sum = 11
Câu lệnh continue được sử dụng trong các chu trình lặp for, while, do- while để dừng sự thực hiện của lần lặp hiện thời và bắt đầu lặp lại lần tiếp theo nếu điều kiện lặp còn thoả (còn true).
Đối với chu trình while, do-while, khi gặp continue thì phần còn lại của thân chu trình bị bỏ qua và tiếp tục kiểm tra điều kiện lặp để thực hiện quá trình lặp tiếp theo.
Đối với lệnh for, khi gặp continue thì phần còn lại của thân chu trình bị bỏ qua và tiếp tục thực hiện <Biểu thức gia tăng> sau đó thực hiện lặp lại nếu <Điều kiện kết thúc> còn true.
Ví dụ 4.3 Chương trình minh hoạ cách sử dụng lệnh continue để ngắt lần lặp hiện thời. Chương trình in ra màn hình các số 1, 2, 3 và 5 cùng với căn bậc 2 của chúng, còn với i = 4 thì không thực hiện.
class TiepTuc {
public static void main(String args[]){ for (int i = 1; i <= 5; ++i){
if (i == 4) continue;
// Phần còn lại sẽ bị bỏ qua
System.out.println(i + "\t" + Math.sqrt(i)); // Thực hiện ++i và kiểm tra để lặp lại }
} }
Câu lệnh return
Câu lệnh return được sử dụng để kết thúc thực hiện của hàm hiện thời và chuyển điều khiển chương trình về lại sau lời gọi hàm đó. Lệnh này có hai dạng sử dụng tương ứng với hai loại hàm được xác định như trong bảng sau:
D ng l nh returnạ ệ H m khai báoà
void H m có ki u tr l i khácà ểvoidả ạ return Tùy ch nọ Không cho phép return <Bi uể
th c>ứ Không cho phép B t bu cắ ộ
Ví dụ 5.4 Chương trình minh hoạ các lệnh return: Kiểm tra xem số các đối số của chương trình có bằng 0 và in ra số đó nếu lớn hơn 3, ngược lại in ra số 2 khi có đối số.
class Label {
public static void main(String args[]){ if (args.length == 0) return;// Tùy chọn
output(check(args.length)); }
static void output(int val){// System.out.println(val);
// return 1; Không được phép vì output() kiểu void }
static int check(int i) { if (i > 3) return i;
Câu lệnh try-catch-finally được sử dụng chủ yếu để xử lý các ngoại lệ. Câu lệnh này được đề cập chi tiết ở mục sau.