Java - Hãy chọn đáp án đúng trong các đáp án cho sẵn của đoạn chương trình dưới đây.

Bài tập này yêu cầu chúng ta hãy chọn đáp án thế hiện kết quả đúng của đoạn chương trình cho sẵn dưới đây, giải thích vì sao có kết quả đó và sử dụng Eclipse để kiểm chứng.

Output.java
package baitap;

public class Output {
	
	final static short i = 2;
    
	public static void main(String [] args) {
		for (int k = 0; k < 3; k++) {
			switch (k) {
				case i: System.out.print(" 0 "); 
				case i-1: System.out.print(" 1 ");
				case i-2: System.out.print(" 2 ");
			}
		}
	}
	
}

A 210100
B 012122
C 212012
D 012

 

Bài giải

-------------------- ######## --------------------

Đáp án: C. 212012

Giải thích: Trong đoạn chương trình trên, tôi có khai báo một biến tĩnh i với giá trị khởi tạo = 2

Bước 1: Duyệt vòng lặp for với k = 0 < 3 (đúng) nên switch(k) được thực thi, lúc này k = 0 nên câu lệnh bên trong case 0 (i - 2) sẽ được thực thi nên số 2 sẽ được hiển thị ra màn hình.

Bước 2: k tăng lên 1 = 1 < 3 (đúng) nên switch(k) được thực thi, lúc này k = 1 nên câu lệnh bên trong case 1 (i - 1) sẽ được thực thi nên số 1 sẽ được hiển thị ra màn hình nối tiếp vào số 2, và vì không có lệnh break nên trường hợp case 0 (i - 2) sẽ được thực thi nên số 2 sẽ được hiển thị nối tiếp vào số 1.

Bước 3: k tăng lên 1 = 2 < 3 (đúng) nên switch(k) được thực thi, lúc này k = 2 nên câu lệnh bên trong case 2 (i) sẽ được thực thi nên số 0 sẽ được hiển thị ra màn hình nối tiếp vào số 1 bên trên. Tương tự, vì không có lệnh break nên 2 số 1 và 2 sẽ được hiển thị. 

Kết quả cuối cùng chúng ta sẽ có dãy 212012 được hiển thị ra màn hình.

Kết quả biên dịch chương trình bằng Eclipse:

 

Trở thành Android Developer chuyên nghiệp với 30h học
Bạn muốn trở thành một nhà phát triển mobile app trên nền tảng Android? Vậy thì đây là khóa học rất phù hợp với bạn, chi phí rẻ, học online tại nhà.
XEM NGAY

Nguồn: freetuts.net