50 câu hỏi
Chọn phát biểu đúng:
InputStream và OutputStream là hai luồng dữ liệu kiểu byte
Reader và Writer là hai luồng dữ liệu kiểu character
Cả hai đều đúng.
Tất cả đều sai
Package là tập hợp của:
Lớp và Interface
Lớp
Interface
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
Sử dụng phương thức createReader() của lớp InputStream
Sử dụng phương thức createReader() của lớp InputStreamReader
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
Tất cả các câu trên đều sai
Chọn phát biểu đúng:
(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
(2) Lớp Writer có thể được dùng để ghi các ký tự Unicode ra luồng xuất
(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
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ó_________?
Hệ máy Intel
Trình biên dịch Java
Hệ điều hành Linux
Máy ảo Java
Phát biểu nào sau đây SAI về từ khóa static?
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 đó
Một phương thức static có thể được gọi mà không cần khởi tạo đối tượng
Từ khóa static không dùng trong khai báo lớp
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?
if (chr = "a")
if (chr = 'a')
if (chr == "a")
if (chr == 'a')
Kết quả của biểu thức : 15 & 29 là bao nhiêu?
12
44
14
13
Biểu thức trong câu lệnh switch KHÔNG được có kiểu dữ liệu nào?
char
byte
short
String
Trong Java, đa kế thừa thực hiện bằng cách nào?
Thừa kế từ 2 hay nhiều lớp
Thừa kế từ 1 Interface và 1 hay nhiều lớp
Thừa kế từ 1 lớp và 1 hay nhiều Interface
Tất cả đều đúng
Chọn phát biểu đúng
Lớp Class là lớp cha của lớp Object
Lớp Object là một lớp final
Mọi lớp đều kế thừa trực tiếp hoặc gián tiếp từ lớp Object
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
System
Math
String
StringBuffer
Lớp nào sau đây không phải là lớp bao?
String
Integer
Boolean
Characte
Phương thức nào sau đây sẽ làm cho giá trị biến s bị thay đổi
(1) s.concat()
(2) s.toUpperCase()
(3) s.replace()
câu (1) và (2) đúng
Chọn phát biểu đúng cho hàm khởi tạo
Một lớp sẽ kế thừa các hàm khởi tạo từ lớp cha
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
Tất cả các hàm khởi tạo có kiểu trả về là void
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:
Đúng
Sai
Chỉ đúng với kiểu số nguyên
Chỉ đúng với kiểu số thực
Chọn khai báo tên biến đúng:
Big01LongStringWidthMeaninglessName
$int
bytes
Tất cả các câu đều đúng
Chọn khai báo đúng cho phương thức main
public static void main()
public void main(String[] arg)
public static void main(String[] args)
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
Câu lệnh import, khai báo package, khai báo lớp
Khai báo package đầu tiên; thứ tự câu lệnh import và khai báo lớp là tùy ý
Khai báo package, câu lệnh import, khai báo lớp
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à:
Nó phụ thuộc vào nền phần cứng bên dưới
Từ 0 đến 2^16 - 1
Từ -2^15 đến 2^15 - 1
Từ -2^31 đến 2^31 - 1
Miền giá trị của biến kiểu byte là:
Nó phụ thuộc vào nền phần cứng bên dưới
Từ 0 đến 2^8 - 1
Từ -2^7 đến 2^7 - 1
Từ -2^15 đến 2^15 - 1
Biểu thức nào sau đây là hợp lệ:
(1) int x = 6; x = !x;
(2) int x = 6; if (!(x>3)){}
(3) int x = 6; x = ~x;
Câu (2) và (3) đúng
Biểu thức nào sau đây cho x có giá trị dương:
int x = -1; x = x >>> 5;
int x = -1; x = x >>> 32;
byte x = -1; x = x >>> 5;
int x = -1; x = x >> 5;
Biểu thức nào sau đây hợp lệ
String x = "Hello"; int y = 9; x+=y;
String x = "Hello"; int y = 9; x= x + y;
String x = null; int y = (x != null) && (x.length>0)?x.length():0;
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"); }
Câu A và C đúng
Chọn câu khai báo không hợp lệ:
string s;
abstract double d;
abstract final double hyperbolConsine();
Tất cả các câu đều đúng
Chọn câu phát biểu đúng:
Một lớp trừu tượng không thể chứa phương thức final
Một lớp final không thể chứa các phương thức trừu tượng
Cả hai đều đúng
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 );
0
1
4
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]);
1
4
8
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;
12
15
16
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)
}
}
Lỗi biên dịch ở dòng số 3
Lỗi biên dịch ở dòng số 4
Lỗi biên dịch ở dòng số 1
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);
"s = null"
Lỗi thực thi
Lỗi biên dịch
"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);
}
}
}
}
(1) Đoạn mã không có lỗi
(2) Điều kiện của câu lệnh if phải có kiểu boolean thay vì Boolean
(3) Chỉ số của câu lệnh for là int thay vì Integer
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");
}
}
S1
S2
S1S2
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";
}
S1
S2
Null
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++;
}
}
0
1
100
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;
}
}
0.0
-1.0
12.3
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++;
x = 15, a = 7, b = 8
x = 15, a = 6, b = 7
x = 13, a = 7, b = 8
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);
}
}
Giá trị xuất là Hello
Lỗi biên dịch tại dòng 4 và 5
Không có giá trị xuất
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);
}
}
Kết quả là : b contains 10
Kết quả là : b contains 5
Kết quả là : b contains 250
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));
}
};
Kết quả là : value is 99.99
Kết quả là : value is 9
Kết quả là : value is 9.0
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);
0
1
2
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;
}
}
Xóa từ final ở dòng 1
Xóa từ final ở dòng 10
Xóa từ final ở dòng 1 và 10
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;
}
};
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ề
Chương trình chạy và cho kết quả x = 10
Chương trình chạy và cho kết quả x = 15
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);
}
}
Chương trình chạy và cho kết quả x = 102
Chương trình chạy và cho kết quả x = 103
Chương trình chạy và cho kết quả x = 104
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() {}
}
default
protected
public
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;
Dòng 3
Dòng 4
Dòng 5
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;
Dòng 1
Dòng 2
Dòng 3
Tất cả đều đúng
Chọn câu phát biểu đúng:
Cả hai đều đúng
Một lớp final không thể chứa các phương thức trừu tượng
Cả hai đều sai
Một lớp trừu tượng không thể chứa phương thức final
