50 CÂU HỎI
Chọn phát biểu đúng:
A. InputStream và OutputStream là hai luồng dữ liệu kiểu byte
B. Reader và Writer là hai luồng dữ liệu kiểu character
C. Cả hai đều đúng.
D. Tất cả đều sai
Package là tập hợp của:
A. Lớp và Interface
B. Lớp
C. Interface
D. Các công cụ biên dịch
Cho biết các tạo ra một thể hiện của InputStreamReader từ một thể hiện của InputStream
A. Sử dụng phương thức createReader() của lớp InputStream
B. Sử dụng phương thức createReader() của lớp InputStreamReader
C. Tạo một thể hiện của InputStream rồi truyền vào cho hàm khởi tạo của InputStreamReader
D. Tất cả các câu trên đều sai
Chọn phát biểu đúng:
A. (1) Lớp Writer có thể được dùng để ghi các ký tự có cách mã hóa khác nhau ra luồng xuất
B. (2) Lớp Writer có thể được dùng để ghi các ký tự Unicode ra luồng xuất
C. (3) Lớp Writer có thể được dùng để ghi giá trị các kiểu dữ liệu cơ sở ra luồng xuất
D. Câu (1) và (2) đúng
Khai báo nào sau đây là khai báo hợp lệ của một lớp abstract?
abstract class Vehicle { abstract void display(); }
class Vehicle { abstract void display(); }
abstract class Vehicle { abstract void display(System.out.println("Car"); }
abstract Vehicle { abstract void display(); }
Một chương trình JAVA có thể chạy trên bất kỳ hệ thống máy tính nào có_________?
A. Hệ máy Intel
B. Trình biên dịch Java
C. Hệ điều hành Linux
D. Máy ảo Java
Phát biểu nào sau đây SAI về từ khóa static?
A. Một thuộc tính static được dùng chung bởi tất cả các đối tượng thuộc lớp đó
B. Một phương thức static có thể được gọi mà không cần khởi tạo đối tượng
C. Từ khóa static không dùng trong khai báo lớp
D. Một phương thức static có thể sử dụng tất cả các biến trong lớp
Nếu biến chr có kiểu dữ liệu char (Character) thì câu lệnh if nào sau đây đúng cú pháp?
A. if (chr = "a")
B. if (chr = 'a')
C. if (chr == "a")
D. if (chr == 'a')
Kết quả của biểu thức : 15 & 29 là bao nhiêu?
A. 12
B. 44
C. 14
D. 13
Biểu thức trong câu lệnh switch KHÔNG được có kiểu dữ liệu nào?
A. char
B. byte
C. short
D. String
Trong Java, đa kế thừa thực hiện bằng cách nào?
A. Thừa kế từ 2 hay nhiều lớp
B. Thừa kế từ 1 Interface và 1 hay nhiều lớp
C. Thừa kế từ 1 lớp và 1 hay nhiều Interface
D. Tất cả đều đúng
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 đều 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
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
Lớp nào sau đây không phải là lớp bao?
A. String
B. Integer
C. Boolean
D. Characte
Phương thức nào sau đây sẽ làm cho giá trị biến s bị thay đổi
A. (1) s.concat()
B. (2) s.toUpperCase()
C. (3) s.replace()
D. câu (1) và (2) đúng
Chọn phát biểu đúng cho hàm khởi tạo
A. Một lớp sẽ kế 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 dều sai
Một kiểu dữ liệu số có dấu có hai giá trị +0 và -0 bằng sau:
A. Đúng
B. Sai
C. Chỉ đúng với kiểu số nguyên
D. Chỉ đúng với kiểu số thực
Chọn khai báo tên biến đúng:
A. Big01LongStringWidthMeaninglessName
B. $int
C. bytes
D. Tất cả các câu đều đúng
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)
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â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 ý
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 2^16 - 1
C. Từ -2^15 đến 2^15 - 1
D. Từ -2^31 đến 2^31 - 1
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 2^8 - 1
C. Từ -2^7 đến 2^7 - 1
D. Từ -2^15 đến 2^15 - 1
Biểu thức nào sau đây là hợp lệ:
A. (1) int x = 6; x = !x;
B. (2) int x = 6; if (!(x>3)){}
C. (3) int x = 6; x = ~x;
D. Câu (2) và (3) đúng
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;
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 đều đúng
Đoạn mã nào sau đây in ra màn hình chữ "Equal":
int x = 100; float y = 100.0F; if (x == y) { System.out.println("Equal"); }
Integer x = new Integer(100); Integer y = new Integer(100); if (x == y) { System.out.println("Equal"); }
String x = "100"; String y = "100"; if (x == y) { System.out.println("Equal"); }
D. Câu A và C đúng
Chọn câu khai báo không hợp lệ:
A. string s;
B. abstract double d;
C. abstract final double hyperbolConsine();
D. Tất cả các câu đều đúng
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ả hai đều đúng
D. Cả hai đều sai
Cho đoạn mã sau đây. Đoạn mã trên lặp bao nhiêu lần?
int x = 11;
do {
x += 20;
} while ( x < 10 );
A. 0
B. 1
C. 4
D. 5
Cho đoạn mã sau đây. Giá trị của X phải là bao nhiêu để đoạn mã in ra 4 phần tử đầu tiên của mảng?
int values[] = {
1,
2,
3,
4,
5,
6,
7,
8
};
for (int i = 0; i < X; ++i)
System.out.println(values[i]);
A. 1
B. 4
C. 8
D. Không có giá trị nào vì đoạn mã có lỗi.
Cho đoạn mã sau, khi thực hiện xong thì biến x có giá trị bao nhiêu?
int x = 12,
y = 5,
z;
z = y--;
x += z;
A. 12
B. 15
C. 16
D. 17
Cho đoạn mã sau, Kết quả của đoạn mã là?
class StringBufferTest {
pulic static void main(String[] args) {
StringBuffer result = new StringBuffer();//(1)
StringBuffer s = null;//(2)
result.append(s);//(3)
result.insert(0, "123");//(4)
System.out.println(result);//(5)
}
}
A. Lỗi biên dịch ở dòng số 3
B. Lỗi biên dịch ở dòng số 4
C. Lỗi biên dịch ở dòng số 1
D. In ra kết quả "123null"
Cho đoạn mã sau, kết quả in ra màn hình là gì?
String s;
System.out.println("s = " + s);
A. "s = null"
B. Lỗi thực thi
C. Lỗi biên dịch
D. "s =
Đoạn mã sau sai chỗ nào?
public class Question {
public static void main(String[] args) {
Boolean b = new Boolean("TRUE");
if (b) {
for (Integer i = 0; i < 10; i++) {
System.out.println(i);
}
}
}
}
A. (1) Đoạn mã không có lỗi
B. (2) Điều kiện của câu lệnh if phải có kiểu boolean thay vì Boolean
C. (3) Chỉ số của câu lệnh for là int thay vì Integer
D. Câu (2) và (3) đúng
Hãy cho biết kết xuất của đoạn chương trình sau :
public class S1 {
public static void main(String[] args) {
new S2();
}
S1() {
System.out.print("S1");
}
}
class S2 extends S1 {
S2() {
System.out.print("S2");
}
}
A. S1
B. S2
C. S1S2
D. S2S1
Cho biết kết xuất của đoạn chương trình sau:
class Question {
String s = "Outer";
public static void main(String[] args) {
S2 s2 = new S2();
s2.display();
}
};
class S1 {
String s = "S1";
void display() {
System.out.print(s);
}
}
class S2 extends S1 {
String s = "S2";
}
A. S1
B. S2
C. Null
D. S1S2
Cho đoạn mã sau. Giá trị in ra của câu lệnh dòng thứ 6 là:
class Q6 {
public static void main(String[] args) {
Holder h = new Holder();
h.held = 100;
h.bump(h);
System.out.println(h.held);
}
};
class Holder {
public int held;
public void bump(Holder theHolder) {
theHolder.held++;
}
}
A. 0
B. 1
C. 100
D. 101
Cho đoạn mã sau. Giá trị in ra của câu lệnh dòng thứ 6 là:
class Q7 {
public static void main(String[] args) {
double d = 12.3;
Decrement dec = new Decrement();
dec.decrement(d);
System.out.println(d);
}
};
class Decrement {
public void decrement(double decMe) {
decMe = decMe - 1.0;
}
}
A. 0.0
B. -1.0
C. 12.3
D. 11.3
Cho biết giá trị của x, a và b sau khi thi hành đoạn mã sau:
int x,
a = 6,
b = 7;
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
Cho biết kết quả sau khi thi hành chương trình sau:
public class Short {
public static void main(String[] args) {
StringBuffer s = new StringBuffer("Hello");
if ((s.length() > 5) && (s.append("there").equals("False"))); //do nothing
System.out.println("value is : " + s);
}
}
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
Cho biết kết quả sau khi thực hiện chương trình sau:
public class Xor {
public static void main(String[] args) {
byte b = 10;
byte c = 15;
b = (byte)(b ^ c);
System.out.println("b contains " + b);
}
}
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
Cho biết kết quả sau khi biên dịch và thi hành chương trình sau:
public class Conditional {
public static void main(String[] args) {
int x = 4;
System.out.println("value is " + ((x > 4) ? 99.99 : 9));
}
};
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 4
Cho biết kết quả của đoạn mã sau :
int x = 3;
int y = 10;
System.out.println(y % x);
A. 0
B. 1
C. 2
D. 3
Chọn cách sửa ít nhất để đoạn mã sau biên dịch đúng:
final class Aaa {
int xxx;
void yyy() {
xxx = 1;
}
}
class Bbb {
final Aaa finalRef = new Aaa();
final void yyy() {
System.out.println("In method yyy()");
finalRef.xxx = 12345;
}
}
A. Xóa từ final ở dòng 1
B. Xóa 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ì
Chọn phát biểu đúng cho chương trình sau:
final class Aaa {
int xxx;
void yyy() {
xxx = 1;
}
}
class Bbb {
final Aaa finalRef = new Aaa();
final void yyy() {
System.out.println("In method yyy()");
finalRef.xxx = 12345;
}
};
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
Chọn phát biểu đúng cho chương trình sau:
class HasStatic {
private static int x = 100;
public static void main(String[] args) {
HasStatic hs1 = new HasStatic();
hs1.x++;
HasStatic hs2 = new HasStatic();
hs2.x++;
hs1 = new HasStatic();
hs1.x++;
HasStatic.x++;
System.out.println("x = " + x);
}
}
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 đều sai
Cho đoạn mã sau. Hãy chọn từ khóa chỉ phạm vi hợp lệ đứng trước aMethod() ở dòng 8
class SuperDupper {
void aMethod() {}
}
class Sub extends SuperDupper {
void aMethod() {}
}
A. default
B. protected
C. public
D. Tất cả các câu đều đúng
Dòng lệnh nào sau đây sẽ không thể biên dịch :
byte b = 5;
char c = ''5'';
short s = 55;
int i = 555;
float f = 555.5f;
b = s;
i = c;
if (f>b)
f = i;
A. Dòng 3
B. Dòng 4
C. Dòng 5
D. Dòng 6
Chọn dòng phát sinh lỗi khi biên dịch
byte b = 2;
byte b1 = 3;
b = b * b1;
A. Dòng 1
B. Dòng 2
C. Dòng 3
D. Tất cả đều đúng
Chọn câu phát biểu đúng:
A. Cả hai đều đúng
B. Một lớp final không thể chứa các phương thức trừu tượng
C. Cả hai đều sai
D. Một lớp trừu tượng không thể chứa phương thức final