Giáo trình Java cơ bản (Phần 2)

Tóm tắt Giáo trình Java cơ bản (Phần 2): ...emo { public static void main(String arg[]) { Frame f = new Frame("GridLayout Demo"); f.setLayout(new GridLayout(3,2)); f.add(new Button("Red")); f.add(new Button("Green")); f.add(new Button("Blue")); f.add(new Checkbox("Pick me", true)); f.add(new Label("Enter name here:...ực thi chương trình: 128 Chương 5: LUỒNG VÀ TẬP TIN (STREAMS & FILES) 5.1.Mở đầu Việc lưu trữ dữ liệu trong các biến chương trình, các mảng có tính chất tạm thời và dữ liệu sẽ mất đi khi biến ra khỏi tầm ảnh hưởng của nó hoặc khi chương trình kết thúc. Files giúp cho các chương trìn...)); List list_C = new List(); list_C.add("C:\\"); File driver_C = new File ("C:\\"); String[] dirs_C = driver_C.list(); 157 for (int i=0;i<dirs_C.length;i++) { File f = new File ("C:\\" + dirs_C[i]); if (f.isDirectory()) list_C.add("" + dirs_C[i]); else list_C.add(...

pdf159 trang | Chia sẻ: havih72 | Lượt xem: 281 | Lượt tải: 0download
Nội dung tài liệu Giáo trình Java cơ bản (Phần 2), để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
a. new List(5, true) 
b. new List(true, 5) 
c. new List(5, false) 
d. new List(false, 5) 
24. Chọn phương thức để hiện thị Frame lên màn hình 
a. setVisible() 
b. display() 
c. displayFrame() 
d. Tất cả các câu trên đều sai 
25. Chọn phát biểu đúng 
a. Lớp Class là lớp cha của lớp Object 
b. Lớp Object là một lớp final 
c. Mọi lớp đề kế thừa trực tiếp hoặc gián tiếp từ lớp Object 
d. Tất cả các câu trên đều sai 
 183
26. Lớp nào sau đây dùng để thực hiện các thao tác nhập xuất 
cơ bản với console 
a. System 
b. Math 
c. String 
d. StringBuffer 
27. Lớp nào sau đây không phải là lớp bao? 
a. String 
b. Integer 
c. Boolean 
d. Character 
28. Đoạn mã sau sai chổ nào? 
a. Đoạn mã không có lỗi 
b. Điều kiện của câu lệnh if phải có kiểu boolean thay vì 
Boolean 
c. Chỉ số của câu lệnh for là int thay vì Integer 
d. Câu b) và c) đú 
29. Phương thức nào sau đây sẽ làm cho giá trị biến s bị thay 
đổi 
a. s.concat() 
 184
b. s.toUpperCase() 
c. s.replace() 
d. Câu a) và b) đúng 
30. Hãy cho biết kết xuất của đoạn chương trình sau: 
a. S1 
b. S2 
c. S1S2 
d. S2S1 
31. Chọn phát biểu đúng cho hàm khởi tạo 
a. Một lớp sẽ kết thừa các hàm khởi tạo từ lớp cha 
b. Trình biên dịch sẽ tự động tạo hàm khởi tạo mặc định nếu 
lớp không định nghĩa hàm khởi tạo 
c. Tất cả các hàm khởi tạo có kiểu trả về là void 
d. Tất cả các câu trên đều sai 
32. Cho biết kết xuất của đoạn chương trình sau: 
 185
a. S1 
b. S2 
c. null 
d. S1S2 
33. Một kiểu dữ liệu số có dấu có 2 giá trị +0 và -0 bằng nhau: 
a. Đúng 
b. Sai 
c. Chỉ đúng với kiểu số nguyên 
d. Chỉ đúng với kiểu số thực 
34. Chọn khai báo tên đúng 
a. Big01LongStringWidthMeaninglessName 
b. $int 
c. bytes 
d. Tất cả các câu trên đều đúng 
 186
35. Chọn khai báo đúng cho phương thức main() 
a. public static void main( ) 
b. public void main(String[] arg) 
c. public static void main(String[] args) 
d. public static int main(String[] arg) 
36. Chọn thứ tự đúng của các thành phần trong một tập tin 
nguồn 
a. Câu lệnh import, khai báo package, khai báo lớp. 
b. Khai báo package đầu tiên; thứ tự của câu lệnh import và 
khai báo lớp là tùy ý. 
c. Khai báo package, câu lệnh import, khai báo lớp 
d. Câu lệnh import trước tiên; thứ tự của khai báo package và 
khai báo lớp là tùy ý. 
37. Cho câu lệnh sau: 
int[] x = new int[25]; 
Chọn kết quả đúng sau khi thi hành câu lệnh trên 
a. x[24] chưa được định nghĩa 
b. x[25] có giá trị 0 
c. x[0] = có giá trị null 
d. x.length = 25 
38. Cho đoạn mã sau: 
1 : class Q6{ 
2 : public static void main(String args[]){ 
3 : Holder h = new Holder(); 
4 : h.held = 100; 
5 : h.bump(h); 
6 : System.out.println(h.held); 
7 : } 
8 : } 
9 : class Holder{ 
10 : public int held; 
11 : public void bump(Holder theHolder){ 
 187
12 : theHolder.held++; 
13 : } 
14 : } 
Giá trị in ra của câu lệnh ở dòng thứ 6 là: 
a. 0 
b. 1 
c. 100 
d. 101 
39. Cho đoạn mã sau: 
1 : class Q7{ 
2 : public static void main(String args[]){ 
3 : double d = 12.3; 
4 : Decrementer dec = new Decrementer(); 
5 : dec.decrement(d); 
6 : System.out.println(d); 
7 : } 
8 : } 
9 : class Decrementer{ 
10 : public void decrement(double decMe){ 
11 : decMe = decMe – 1.0; 
12 : } 
13 : } 
Giá trị in ra của câu lệnh ở dòng thứ 6 là: 
a. 0.0 
b. -1.0 
c. 12.3 
d. 11.3 
40. Miền giá trị của biến kiểu short là: 
a. Nó phụ thuộc vào nền phần cứng bên dưới 
b. Từ 0 đến 216 – 1 
c. Từ -215 đến 215 – 1 
d. Từ -231 đến 231 – 1 
 188
41. Miền giá trị của biến kiểu byte là: 
a. Nó phụ thuộc vào nền phần cứng bên dưới 
b. Từ 0 đến 28 – 1 
c. Từ -27 đến 27 – 1 
d. Từ -215 đến 215 – 1 
42. Cho biết giá trị của x, a và b sau khi thi hành đoạn mã sau: 
1 : int x, a = 6, b = 7; 
2 : x = a++ + b++; 
a. x = 15, a = 7, b = 8 
b. x = 15, a = 6, b = 7 
c. x = 13, a = 7, b = 8 
d. x = 13, a = 6, b = 7 
43. Biểu thức nào sau đây là hợp lệ 
a. int x = 6;x = !x; 
b. itn x = 6; if (!(x > 3)) {} 
c. int x = 6; x = ~x; 
d. Câu b) và c) đúng 
44. Biểu thức nào sau đây cho x có giá trị dương: 
a. int x = -1; x = x >>> 5; 
b. int x = -1; x = x >>> 32; 
c. byte x = -1; x = x >>> 5; 
d. int x = -1; x = x >> 5; 
45. Biểu thức nào sau đây hợp lệ 
a. String x = “Hello”; int y = 9; x +=y; 
b. String x = “Hello”; int y = 9; x = x + y; 
c. String x = null; int y = (x != null) && (x.length() > 0) ? 
x.length() : 0; 
d. Tất cả các câu trên đều đúng 
46. Đoạn mã nào sau đây in ra màn hình chữ “Equal”: 
a. 
 189
int x = 100; float y = 100.0F; 
if (x == y) 
{ 
System.out.println(“Equal”); 
} 
b. 
Integer x = new Integer(100); 
Integer y = new Integer(100); 
if (x == y) 
{ 
System.out.println(“Equal”); 
} 
c. 
String x = “100”; String y = “100”; 
if (x == y) 
{ 
System.out.println(“Equal”); 
} 
d. Câu a. và c. đúng 
47. Cho biết kết quả sau khi thi hành chương trình sau: 
1 : public class Short{ 
2 : public static void main(String[] args){ 
3 : StringBuffer s = new StringBuffer(“Hello”); 
4 : if ((s.length() > 5) && 
5 : s.append(“ there”).equals(“False”))) 
6 : ;//do nothing 
7 : System.out.println(“value is ” + s); 
8 : } 
9 : } 
a. Giá trị xuất là Hello 
b. Lỗi biên dịch tại dòng 4 và 5 
c. Không có giá trị xuất 
d. Thông báo NullPointerException 
 190
48. Cho biết kết quả sau khi thực hiện chương trình sau: 
1 : public class Xor{ 
2 : public static void main(String[] args){ 
3 : byte b = 10;//00001010 
4 : byte c = 15;//00001111 
5 : b = (byte)(b ^ c); 
6 : System.out.println(“b contains ” + b); 
7 : } 
8 : } 
a. Kết quả là: b contains 10 
b. Kết quả là: b contains 5 
c. Kết quả là: b contains 250 
d. Kết quả là: b contains 245 
49. Cho biết kết quả sau khi biên dịch và thi hành chương trình 
sau: 
1 : public class Conditional{ 
2 : public static void mai n(String[] args){ 
3 : int x = 4; 
4 : System.out.println(“value is ” + 
5 : ((x > 4 ? 99.99 : 9)); 
6 : } 
7 : } 
a. Kết quả là: value is 99.99 
b. Kết quả là: value is 9 
c. Kết quả là: value is 9.0 
d. Lỗi biên dịch tại dòng số 5 
50. Cho biết kết quả của đoạn mã sau: 
1 : int x = 3; int y = 10; 
2 : System.out.println(y % x); 
a. 0 
b. 1 
c. 2 
d. 3 
 191
51. Chọn câu khai báo không hợp lệ 
a. String s; 
b. abstract double d; 
c. abstract final double hyperbolCosine(); 
d. Tất cả các câu trên đều đúng 
52. Chọn câu phát biểu đúng 
a. Một lớp trừu tượng không thể chứa phương thức final 
b. Một lớp final không thể chứa các phương thức trừu tượng 
c. Cả a) và b) đều đúng 
d. Cả a) và b) đều sai 
53. Chọn cách sửa ít nhất để đoạn mã sau biên dịch đúng 
3 : final class Aaa 
4 : { 
5 : int xxx; 
6 : void yyy(){xxx = 1;} 
7 : } 
8 : 
9 : 
10 : class Bbb extends Aaa 
11 : { 
12 : final Aaa finalRef = new Aaa(); 
13 : 
14 : final void yyy() 
15 : { 
16 : System.out.println(“In method yyy()”); 
17 : finalRef.xxx = 12345; 
18 : } 
19 : } 
a. Xóa từ final ở dòng 1 
b. Xoá từ final ở dòng 10 
c. Xóa từ final ở dòng 1 và 10 
d. Không cần phải chỉnh sửa gì 
 192
54. Chọn phát biểu đúng cho chương trình sau 
1 : class StaticStuff 
2 : { 
3 : static int x = 10; 
4 : 
5 : static {x += 5;} 
6 : 
7 : public static void main(String args[]) 
8 : { 
9 : System.out.pritln(“x = ” + x); 
10 : } 
11 : 
12 : static {x /= 5} 
13 : } 
a. Lỗi biên dịch tại dòng 5 và 12 bỡi vì thiếu tên phương thức 
và kiểu trả về 
b. Chương trình chạy và cho kết quả x = 10 
c. Chương trình chạy và cho kết quả x = 15 
d. Chương trình chạy và cho kết quả x = 3 
55. Chọn phát biểu đúng cho chương trình sau: 
1 : class HasStatic 
2 : { 
3 : private static int x = 100; 
4 : 
5 : public static void main(String args[]) 
6 : { 
7 : HasStatic hs1 = new HasStatic(); 
8 : hs1.x++; 
9 : HasStatic hs2 = new HasStatic(); 
10 : hs2.x++; 
11 : hs1 = new HasStatic(); 
12 : hs1.x++; 
13 : HasStatic.x++; 
14 : System.out.println(“x = “ + x); 
 193
15 : } 
16 : } 
a. Chương trình chạy và cho kết quả x = 102 
b. Chương trình chạy và cho kết quả x = 103 
c. Chương trình chạy và cho kết quả x = 104 
d. Tất cả các câu trên đều sai 
56. Cho đoạn mã sau: 
1 : class SuperDuper 
2 : { 
3 : void aMethod(){} 
4 : } 
5 : 
6 : class Sub extends SuperDuper 
7 : { 
8 : void aMethod(){} 
9 : } 
 Hãy chọn từ khóa chỉ phạm vi hợp lệ đứng trước aMethod() 
ở dòng 8 
a. default 
b. protected 
c. public 
d. Tất cả các câu trên đều đúng 
Ø Đoạn mã sau dùng cho 2 câu hỏi tiếp theo 
1 : package abcde; 
2 : 
3 : public class Bird{ 
4 : protected static int referneceCount = 0; 
5 : public Bird(){referenceCount++;} 
6 : protected void fly(){} 
7 : static int getRefCount(){return referenceCount;} 
8 : } 
57. Chọn phát biểu đúng cho lớp Bird trên và lớp Parrot sau: 
 194
1 : package abcde; 
2 : 
3 : class Parrot extends abcde.Bird{ 
4 : public void fly(){ 
5 : // 
6 : } 
7 : public int getRefCount(){ 
8 : return referenceCount; 
9 : } 
10 : } 
a. Lỗi biên dịch ở dòng 4 tập tin Parrot.java vì phương thức 
fly() là protected trong lớp cha và lớp Bird và Parrot nằm trong 
cùng package 
b. Lỗi biên dịch ở dòng 4 tập tin Parrot.java vì phương thức 
fly() là protected trong lớp cha và public trong lớp con. 
c. Lỗi biên dịch ở dòng 7 tập tin Parrot.java vì phương thức 
getRefCount() là static trong lớp cha. 
d. Chương trình biên dịch thành công nhưng sẽ phát sinh 
Exception khi chạy nếu phương thức fly() của lớp Parrot không 
được gọi 
58. Chọn phát biểu đúng cho lớp Bird trên và lớp Nightingale 
sau: 
1 : package singers; 
2 : 
3 : class Nightingale extends abcde.Bird{ 
4 : Nightingale(){ refernceCount++;} 
5 : 
6 : public static void main(String args[]){ 
7 : System.out.print(“Before: “ + refernceCount); 
8 : Nightingale florence = new Nightingale(); 
9 : System.out.print(“After: “ + refernceCount); 
10 : florence.fly(); 
11 : } 
12 : } 
 195
a. Kết quả trên màn hình là: Before: 0 After: 2 
b. Kết quả trên màn hình là: Before: 0 After: 1 
c. Lỗi biên dịch ở dòng 4 của lớp Nightingale vì không thể 
overidde thành viên static 
d. Lỗi biên dịch ở dòng 10 của lớp Nightingale vì phương thức 
fly() là protected trong lớp cha. 
59. Chọn phát biểu đúng 
a. Chỉ kiểu dữ liệu cơ sở mới được chuyển đổi kiểu tự động; 
để chuyển đổi kiểu dữ liệu của biến tham chiểu phải sử dụng 
phép ép kiểu 
b. Chỉ biến tham chiếu mới được chuyển đổi kiểu tự động; để 
chuyển kiểu của 1 biến kiểu cơ sở phải sử dụng phép toán ép 
kiểu 
c. Cả kiểu dữ liệu cơ sở và kiểu tham chiếu đều có thể chuyển 
đổi tự động và ép kiểu 
d. Phép ép kiểu đối với dữ liệu số có thể cần phép kiểm tra khi 
thực thi 
60. Dòng lệnh nào sau đây sẽ không thể biên dịch: 
1 : byte b = 5; 
2 : char c = ‘5’; 
3 : short s = 55; 
4 : int i = 555; 
5 : float f = 555.5f; 
6 : b = s; 
7 : i = c; 
8 : if (f > b) 
9 : f = i; 
a. Dòng 3 
b. Dòng 4 
c. Dòng 5 
d. Dòng 6 
61. Chọn dòng phát sinh lỗi khi biên dịch 
 196
1 : byte b = 2; 
2 : byte b1 = 3; 
3 : b = b * b1; 
a. Dòng 1 
b. Dòng 2 
c. Dòng 3 
d. Tất cả các câu trên đều đúng 
62. Trong đoạn mã sau kiểu dữ liệu của biến result có thể là 
những kiểu nào? 
1 : byte b = 11; 
2 : short s =13; 
3 : result = b * ++s; 
a. byte, short, int, long, float, double 
b. boolean, byte, short, char, int, long, float, double 
c. byte, short, char, int, long, float, double 
d. int, long, float, double 
63. Cho đoạn chương trình sau: 
1 : class Cruncher{ 
2 : void crunch(int i){ 
3 : System.out.println(“int version”): 
4 : } 
5 : void crunch(String s){ 
6 : System.out.println(“String version”); 
7 : } 
8 : 
9 : public static void main(String[] args){ 
10 : Cruncher crun = new Cruncher(); 
11 : char ch = ‘p’; 
12 : crun.crunch(ch); 
13 : } 
14 : } 
a. Dòng 5 sẽ không biên dịch vì phương thức trả về kiểu void 
không thể overridde 
 197
b. Dòng 12 sẽ không biên dịch vì không có phiên bản nào của 
phương thức crunch() nhận vào tham số kiểu char 
c. Đoạn mã biên dịch được nhưng sẽ phát sinh Exception ở 
dòng 12 
d. Chương trình chạy và in ra kết quả: int version 
64. Chọn phát biểu đúng 
a. Tham chiếu của đối tượng có thể được chuyển đổi trong 
phép gán nhưng không thể thực hiện trong phép gọi phương 
thức 
b. Tham chiếu của đổi tượng có thể được ép kiểu trong phép 
gọi phương thức nhưng không thể thực hiện trong phép gán 
c. Tham chiểu của đối tượng có thể được chuyển đổi trong 
phép gọi phương thức và phép gán nhưng tuân theo những quy 
tắc khác nhau 
d. Tham chiếu của đối tượng có thể được chuyển đổi trong 
phép gọi phương thức và phép gán và tuân theo những quy tắc 
giống nhau 
65. Cho đoạn mã như bên dưới. Hãy cho biết dòng nào không 
thể biên dịch 
1 : Object ob = new Object(); 
2 : String stringarr[] = new String[50]; 
3 : Float floater = new Float(3.14f); 
4 : ob = stringarr; 
5 : ob = stringarr[5]; 
6 : floater = ob; 
7 : ob = floater; 
a. Dòng 4 
b. Dòng 5 
a. Dòng 6 
b. Dòng 7 
 198
Hình sau áp dụng cho các câu 66, 67, 68 
66. Cho đoạn mã sau: 
1 :Dog rover, fido; 
2 :Animal anim; 
3 : 
4 :rover = new Dog(); 
5 :anim = rover; 
6 :fido = (Dog)anim; 
Hãy chọn phát biểu đúng 
a. Dòng 5 không thể biên dịch 
b. Dòng 6 không thể biên dịch 
c. Đoạn mã biên dịch thành công nhưng sẽ phát sinh 
Exception tại dòng 6 
d. Đoạn mã biên dịch thành công và có thể thi hành 
67. Cho đoạn mã sau: 
1 :Cat sunflower; 
2 :Washer wawa; 
3 :SwampThing pogo; 
4 : 
5 :sunflower = new Cat(); 
Swamp 
Thing 
Mammal 
Animal 
Dog Cat 
(implements 
Washer) 
Racoon 
(implements 
Washer) 
 199
6 :wawa = sunflower; 
7 :pogo = (SwampThing)wawa; 
Hãy chọn phát biểu đú 
a. Dòng 6 không thể biên dịch; cần có một phép ép kiểu để 
chuyển từ kiểu Cat sang kiểu Washer 
b. Dòng 7 không thể biên dịch vì không thể ép từ kiểu 
interface sang kiểu class 
c. Đoạn mã sẽ dịch và chạy nhưng phép ép kiểu ở dòng 7 là 
thừa và có thể bỏ di 
d. Đoạn mã biên dịch thành công nhưng sẽ phát sinh 
Exceptiono ở dòng 7 vì kiểu lớp của đối tượng trong biến wawa 
lúc thi hành không thể chuyển sang kiểu SwampThing 
68. Cho đoạn mã sau 
1 :Racoon rocky; 
2 :SwampThing pogo; 
3 :Washer w; 
4 : 
5 :rocky = new Racooon(); 
6 :w = rocky; 
7 :pogo = w; 
a. Dòng 6 sẽ không biên dịch; cần phải có phép ép kiểu để 
chuyển từ kiểu Racoon sang kiểu Washer 
b. Dòng 7 sẽ không biên dịch; cần có phép ép kiểu để chuyển 
từ kiểu Washer sang kiểu SwampThing 
c. Đoạn mã sẽ biên dịch nhưng sẽ phát sinh Exception ở dòng 
7 vì chuyển đổi kiểu khi thực thi từ interface sang class là 
không được phép 
d. Đoạn mã sẽ biên dịch và sẽ phát sinh Exception ở dòng 7 vì 
kiểu lớp của w tại thời điểm thực thi không thể chuyển sang 
kiểu SwampThing 
69. Cho đoạn mã sau: 
1 : for (int i = 0; i < 2; i++){ 
2 : for (int j = 0; j < 3; j++){ 
 200
3 : if (i == j){ 
4 : continue; 
5 : } 
6 : System.out.println(“i = “ + i + “j = “ + j); 
7 : } 
8 : } 
Dòng nào sẽ là một trong số các kết quả được in ra? 
a. i = 0 j = 0 
b. i = 2 j = 1 
c. i = 0 j = 2 
d. i = 1 j = 1 
70. Cho đoạn mã sau: 
1 : outer: for (int i = 0; i < 2; i++){ 
2 : for (int j =0; j < 3; j++){ 
3 : if (i == j){ 
4 : continue outer; 
5 : } 
6 : System.out.println(“i = “ + i + “j = “ + j); 
7 : } 
8 : } 
Dòng nào sẽ là một trong số các kết quả được in ra? 
a. i = 0 j = 0 
b. i = 0 j = 1 
c. i = 0 j = 2 
d. i = 1 j = 0 
71. Chọn vòng lặp đúng 
a. 
1 : while (int i < 7){ 
2 : i++; 
3 : System.out.println(“i is “ + i); 
4 : } 
b. 
 201
5 : int i = 3; 
6 : while (i){ 
7 : System.out.println(“i is “ + i); 
8 : } 
c. 
1 : int j = 0; 
2 : for(int k = 0; j + k != 10; j++, k++){ 
3 : System.out.println(“j is “ + j + “ k is “ + k); 
4 : } 
d. 
1 : int j = 0; 
2 : do{ 
3 : System.out.println(“j is “ + j++); 
4 : if (j == 3) { continue loop;} 
5 : }while (j < 10); 
72. Cho biết kết xuất của đoạn mã sau 
1 : int x = 0, y = 4, z = 5; 
2 : if ( x > 2){ 
3 : if (y < 5){ 
4 : System.out.println(“message one”); 
5 : } 
6 : else{ 
7 : System.out.println(“message two”); 
8 : } 
9 : } 
10 : else if (z > 5){ 
11 : System.out.println(“message three”); 
12 : } 
13 : else{ 
14 : System.out.println(“message four”); 
15 : } 
a. message one 
b. message two 
c. message three 
 202
d. message four 
73. Chọn phát biểu đúng cho đoạn mã sau: 
1 : int j = 2; 
2 : switch (j){ 
3 : case 2: 
4 : System.out.println(“value is two”); 
5 : case 2 + 1: 
6 : System.out.println(“value is three”); 
7 : break; 
8 : default: 
9 : System.out.println(“value is” + j); 
10 : break; 
11 : } 
a. Đoạn mã không hợp lệ bỡi biểu thức ở dòng 5 
b. Biến j trong cấu trúc switch() có thể là một trong các kiểu: 
byte, short, int hoặc long 
c. Kết xuất của chương trình chỉ là dòng: value is two 
d. Kết xuất của chương trình chỉ là dòng: value is two và 
value is three 
74. Cho biết kết quả sau khi dịch và thực thi đoạn chương trình 
sau: 
1. import java.awt.*; 
2. 
3. public class Test extends Frame { 
4. Test() { 
 5. setSize(300,300); 
 6. Button b = new Button(“Apply”); 
 7. add(b); 
 8. } 
 9. 
10. public static void main(String args[]) { 
11. Test f = new Test(); 
12. f.setVisible(true); 
 203
13. } 
14. } 
a) Có lỗi biên dịch tại dòng 11 bởi vì constructor ở dòng 4 
không khai báo public. 
b) Chương trình biên dịch thành công nhưng có sẽ ném ra 
exception khi thực thi câu lệnh ở dòng thứ 7. 
c) Chương trình hiển thị frame trống. 
d) Chương trình hiển thị 1 nút nhấn (Button) sử dụng font chữ 
mặc định cho nhãn của Button. Button chỉ đủ lớn để bao quanh 
nhãn của nó. 
e) Chương trình hiển thị nút nhấn (Button) dùng font chữ mặc 
định cho nhãn nút. Nút nhấn sẽ choán tất cả vùng hiển thị của 
frame. 
75. Nếu 1 frame dùng bộ quản lý trình bày (layout manager) là 
GridLayout và không chứa bất kỳ panel hay container nào khác 
bên trong nó thì tất cả những components khi đưa vào trong 
frame này có cùng kích thước như nhau (ngang, dọc)? 
a) Đúng. 
b) Sai. 
76. Nếu 1 frame dùng bộ quản lý trình bày (layout manager) 
mặc định và không chứa bất kỳ panel nào bên trong thì tất cả 
những components bên trong frame là cùng kích thước (ngang, 
dọc) ? 
a) Đúng. 
b) Sai. 
77. Với bộ quản lý trình bày BorderLayout không nhất thiết các 
vùng phải có chứa các components. 
a) Đúng. 
b) Sai. 
78. Bộ quản lý trình bày mặc định cho 1 khung chứa kiểu Panel 
là: 
 204
a) FlowLayout 
b) BorderLayout 
c) GridLayout 
d) GridBagLayout 
79. Một Container có bộ quản lý trình bày là GridBagLayout thì 
mỗi component sẽ có kích thước bằng nhau khi thêm vào khung 
chứa (container) này? 
a) Đúng 
b) Sai 
80. Bạn có thể tạo ra cửa sổ chính của ứng dụng bằng cách gọi: 
 Frame f = new Frame(“Main Frame”); 
Nhưng khi bạn chạy chương trình thì Frame không hiển thị. 
Dòng nào bên dưới sẽ làm hiển thị Frame. 
a) f.setSize(300, 200); 
b) f.setBounds(10, 10, 500, 400); 
c) f.setForeground(Color.white); 
d) f.setVisible(true); 
81. Đối tượng nào bên dưới có thể chứa 1 menubar (chọn 
những câu đúng) 
a) Panel 
b) ScrollPane 
c) Frame 
d) Menu 
82. Sau khi tạo 1 frame bằng câu lệnh Frame f = new Frame() 
và tạo menu bar bằng câu lệnh MenuBar mb = new MenuBar(), 
làm thế nào để gắn MenuBar tên mb vào f. 
a) f.add(mb) 
b) f.setMenu(mb) 
c) f.addMenu(mb) 
d) f.setMenuBar(mb) 
 205
Phụ Lục B: Đáp án trắc nghiệm kiến thức 
1.c; 2.b; 3.d; 4.c; 5.d; 6.d; 7.c; 8.a; 9.d; 10.a; 11.a; 12.c; 13.b; 
14.d; 15.a; 16.d; 17.a; 18.c; 19.a; 20.c; 21.a; 22.a; 23.a; 24.a; 
25.c; 26.a; 27.a; 28.d; 29.d; 30.c; 31.b; 32.a; 33.b; 34.d; 35.c; 
36.c; 37.d; 38.d; 39.c; 40.c; 41.c; 42.c; 43.d; 44.a; 45.d; 46.d; 
47.a; 48.b; 49.c; 50.b; 51.d; 52.b; 53.a; 54.d; 55.c; 56.d; 57.c; 
58.a; 59.c; 60.d; 61.c; 62.d; 63.d; 64.d; 65.c; 66.d; 67.d; 68.b; 
69.c; 70.d; 71.c; 72.d; 73.d; 74.e; 75.a; 76.b; 77.a; 78.a; 79.b; 
80.d; 81.c; 82.d 

File đính kèm:

  • pdfgiao_trinh_java_co_ban_phan_2.pdf