50 CÂU HỎI
Trong đoạn mã sau kiểu dữ liệu của biến result có thể là những kiểu nào?
byte b = 11;
short s = 13;
result = b * ++s;
A. byte, short, int, long, floart, double
B. boolean, byte, short, char, int, long, float, double
C. byte, short, char, int, long, float, double
D. int, long, float, double
Cho đoạn chương trình sau:
class Cruncher {
void cruncher(int i) {
System.out.println("int version");
}
void crunch(String s) {
System.out.println("String version");
}
public static void main(String[] args) {
Cruncher crun = new Cruncher();
char ch = ''
p '';
crun.crunch(ch);
}
}
A. Dòng 5 sẽ không biên dịch vì phương thức trả về kiểu void không để overidde
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 kết quả int version
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 phải 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
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
Object ob = new Object();
String stringarr[] = new String[50];
Float floater = new Float(3.14f);
ob = stringarr;
ob = stringarr[5];
floater = ob;
ob = floater;
A. Dòng 4
B. Dòng 5
C. Dòng 6
D. Dòng 7
Cho đoạn mã sau đây. Hãy chọn phát biểu đúng
Dog rover,
fido;
Animal anim;
rover = new Dog();
anim = rover;
fido = (Dog) anim;
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
Cho đoạn mã sau đây. Hãy chọn phát biểu đúng
Cat sunflower;
Washer wawa;
SwampThing pogo;
sunflower = new Cat();
wawa = sunflower;
pogo = (SwampThing) wawa;
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ỏ đi
D. Đoạn mã biên dịch thành công nhưng sẽ phát sinh Exception ở 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
Cho đoạn mã sau. Chọn câu đúng
Racoon rocky;
SwampThing pogo;
Washer w;
rocky = new Racoon();
w = rocky;
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
Cho đoạn mã sau. Dòng nào sẽ là một trong số các kết quả được in ra?
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
if (i == j) {
continue;
}
System.out.println("i = " + i + "j = " + j);
}
}
A. i = 0 j = 0
B. i = 2 j = 1
C. i = 0 j = 2
D. i = 1 j = 1
Cho đoạn mã sau. Dòng nào sẽ là một trong số các kết quả được in ra?
outer: for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
if (i == j) {
continue outer;
}
System.out.println("i = " + i + " j = " + j);
}
}
A. i = 0 j = 0
B. i = 0 j = 1
C. i = 0 j = 2
D. i = 1 j = 0
Chọn vòng lặp đúng:
while (int i < 7) { i++; System.out.println("i is " + i); }
int i = 3; while (i) { System.out.println("i is " + i); }
int j = 0; for (int k = 0; j + k != 10; j++, k++) { System.out.println("j is " + j + " k is " + k); }
int j = 0; do { System.out.println("j is " + j++); if (j == 3) { continue loop; } } while ( j < 10 );
Cho biết kết xuất của đoạn mã sau:
int x = 0,
y = 4,
z = 5;
if (x > 2) {
if (y < 5) {
System.out.println("message one");
}
else {
System.out.println("message two");
}
}
else if (z > 5) {
System.out.println("message three");
}
else {
System.out.println("message four");
}
A. message one
B. message two
C. message three
D. message four
Chọn phát biểu đúng cho đoạn mã sau:
int j = 2;
switch (j) {
case 2:
System.out.println("value is two");
case 2 + 1 : System.out.println("value is three");
break;
default:
System.out.println("value is " + j);
break;
}
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
Cho đoạn mã. Kết quả của đoạn mã là gì?
int a = 9/0;
A. Lỗi biên dịch
B. Lỗi thực thi
C. Không có lỗi, a có kết quả là NaN
D. Tất cả đều sai
Cho đoạn chương trình sau. Kết quả của đoạn chương trình là?
class A {
static int b = 1;
public static void main(String[] args) {
System.out.println("b is " + b);
}
}
A. Lỗi biên dịch
B. Lỗi thực thi
C. Không có lỗi, in ra "b is 1"
D. Tất cả đáp án đều sai
Cho đoạn chương trình sau. Kết quả của đoạn chương trình là?
class A {
int b = 1;
public static void main(String[] args) {
System.out.println("b is " + b);
}
}
A. Lỗi biên dịch
B. Lỗi thực thi
C. Không có lỗi, in ra "b is 1"
D. Tất cả đáp án đều sai
Nếu String name = "Bui \n Tien \n Truong"; thì câu lệnh name.length(); sẽ trả về bao nhiêu?
A. 18
B. 19
C. 20
D. 21
Tên biến nào sau đây là tên biến hợp lệ?
A. Int
B. char
C. case
D. 1MyNumber
Cho đoạn mã sau, khi đoạn mã thực hiện xong, biến w có giá trị bao nhiêu?
int numbers[] = {
2,
1,
4,
3
};
int w = numbers[1] / numbers[2];
A. 0
B. 0.25
C. 2
D. 1
Nếu muốn sinh ra một số nguyên ngẫu nhiên từ 1->6, biểu thức nào sau đây được dùng?
A. (int)(Math.random()*6)+1
B. (int)(Math.random()*6)
C. (int)(Math.random()+6)
D. Math.random()*6
Để so sánh nội dung của 2 chuỗi, ta dùng phương thức nào sau đây?
A. equals()
B. equal()
C. isEquals()
D. isEqual()
Giá trị của biểu thức sau trong Java là bao nhiêu: 100 % 24 / 3
A. 1.3333333333333333
B. 0
C. 1
D. 2
Cho đoạn mã bên (ảnh).Sau khi thực hiện xong các câu lệnh, giá trị của biến c là bao nhiêu?
A. 45
B. 44
C. 44.0
D. 45.0
Giả sử a và b được định nghĩa như sau. Kết quả của biểu thức a==b là gì?
double[] a = {
0.1,
0.2,
0.3
};
double[] b = {
0.1,
0.2,
0.3
}
A. Lỗi biên dịch
B. false
C. true
D. Lỗi thực thi
Khai báo nào sau đâu là một định danh (identifier) hợp lệ?
A. 1_4_all
B. oneForAll
C. 1ForAll
D. 1forall
Muốn khai báo hằng số PI trong Java thì dùng câu lệnh nào sau đây?
A. final constant double PI = 3.14159;
B. final PI = 3.14159;
C. final double PI = 3.14159;
D. constant double PI = 3.14159;
Nếu String name = "HA NOI"; thì câu lệnh name.length(); sẽ trả về bao nhiêu?
A. 5
B. 6
C. 7
D. 8
Khi khai báo một lớp, từ khóa nào đi ngay trước tên lớp
A. static
B. class
C. Public
D. Abstract
Phát biểu nào sau đây đúng nhất về 2 phương thức overloading?
A. Thuộc hai lớp khác nhau
B. Thuộc hai lớp có quan hệ kế thừa
C. Cùng tên khác danh sách đối số
D. Cùng tên khác kiểu trả về
Định nghĩa một mảng 2 chiều, cách nào sau đây không đúng?
A. ouble[][] values = new double[][8];
B. double[][] values = new double[2][0];
C. double[][] values = new double[8][];
D. double[][] values = new double[2][8];
Lỗi xảy ra trong quá trình biên dịch từ tập tin nguồn (.java) sang tập tin bytecode (.class) được gọi là?
A. Lỗi luận lý
B. Lỗi thực thi
C. Tất cả đều sai
D. Lỗi cú pháp
Trong Java, tham số kiểu nguyên của một phương thức sẽ được truyền
A. Theo tham chiếu
B. Tùy vào trường hợp
C. Theo tham trị
D. Tất cả đều sai
Giá trị của biến y sau khi thực hiện biểu thức y = (4 > 0) ? 1 : -1; là bao nhiêu?
A. 1
B. -1
C. True
D. False
Phát biểu nào sau đây đúng nhất về 2 phương thức overriding?
A. Cùng tên khác kiểu trả về
B. Thuộc hai lớp có quan hệ kế thừa
C. Cùng tên khác danh sách đối số
D. Thuộc cùng một lớp
Từ nào không phải là từ khóa trong Java?
A. class
B. void
C. Public
D. static
Cho đoạn mã sau, Sau khi thực hiện xong đoạn mã, biến newNum có giá trị bao nhiêu?
int i = 10;
int newNum = 10 * (++i);
A. 20
B. 21
C. 100
D. 110
Lớp String thuộc package
A. java.util
B. java.lang
C. javax.uti
D. java.string
Để tham chiếu đến phương thức trong lớp cơ sở, ta dùng từ khóa nào sau đây?
A. subclass
B. this
C. parent
D. super
Muốn khai báo một thuộc tính trong một lớp được chia sẻ bởi tất cả các đối tượng thuộc lớp đó thì dùng từ khóa nào sau đây?
A. shared
B. all
C. unique
D. static
Kết quả của biểu thức 25/4 là bao nhiêu?
A. 7
B. 7.0
C. 6
D. 6.0
Để chuyển một chuỗi chứa giá trị nguyên (String) sang một số nguyên (int) thì sẽ dùng phương thức nào sau đây?
A. toInteger()
B. parseInt()
C. toInt()
D. parseInteger()
Đoạn mã sau sẽ in ra giá như thế nào nếu x và y là kiểu int, x=10 và y=5
System.out.println(""+x+y);
A. 10 5
B. Báo lỗi
C. 15
D. 105
Trong Java, kiểu dữ liệu nào không phải là kiểu dữ liệu tham chiếu?
A. float
B. Array
C. String
D. BufferedReader
Trong Java, kiểu dữ liệu nào không phải là kiểu dữ liệu tham chiếu?
A. Array
B. double
C. String
D. BufferedReader
Trong Java, để đọc dữ liệu từ bàn phím vào dùng lớp nào sau đây?
A. Scanner
B. Scaner
C. ScanReader
D. ScanerReader
Trong Java, các câu lệnh xử lý Exception sẽ được đặt trong khối nào?
A. try
B. catch
C. finally
D. Exception
Câu lệnh nào sau đây sẽ KHÔNG phát sinh ra lỗi biên dịch?
A. char your_char = "int";
B. char what_char = "L"
C. char ok = '\u3456';
D. char what = ''Hello
Cho biểu thức: x = ++a + b++; với a = 5 và b = 8, giá trị của biến x là bao nhiêu sau khi thực hiện câu lệnh trên?
A. 13
B. 14
C. 15
D. Lỗi biên dịch
Phát biểu nào sau đây đúng?
A. Một lớp có thể kế thừa từ nhiều lớp khác bằng cách dùng từ khoá extends
B. Một lớp có thể thừa kế từ nhiều interface khác bằng cách dùng từ khoá extends
C. Một interface có thể thừa kế từ nhiều interface bằng cách dùng từ khoá extends
D. Tất cả các phát biểu đều sai
Từ khóa static KHÔNG được áp dụng cho thành phần nào sau đây?
A. Lớp (class)
B. Thuộc tính (data field)
C. Phương thức (Method)
D. Tất cả đều dùng được
Cho đoạn mã sau: short s = 5L; Phát biểu nào sau đây đúng với đoạn mã trên?
A. Lỗi Biên Dịch
B. Lỗi Thực Thi
C. Không Có Lỗi
D. Mất Độ Chính Xác (loss of accuracy)