350 Câu hỏi trắc nghiệm môn Lập trình mạng
Tổng hợp 350 câu hỏi trắc nghiệm môn lập trình mạng có đáp án đầy đủ nhằm giúp các bạn dễ dàng ôn tập lại toàn bộ các kiến thức. Để ôn tập hiệu quả các bạn có thể ôn theo từng phần trong bộ câu hỏi này bằng cách trả lời các câu hỏi và xem lại đáp án và lời giải chi tiết. Sau đó các bạn hãy chọn tạo ra đề ngẫu nhiên để kiểm tra lại kiến thức đã ôn.
Chọn hình thức trắc nghiệm (50 câu/60 phút)
Chọn phần
-
Câu 1:
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
-
Câu 2:
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
-
Câu 3:
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
-
Câu 4:
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
-
Câu 5:
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(); }
-
Câu 6:
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
-
Câu 7:
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
-
Câu 8:
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.
-
Câu 9:
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
-
Câu 10:
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')
-
Câu 11:
Kết quả của biểu thức : 15 & 29 là bao nhiêu?
A. 12
B. 44
C. 14
D. 13
-
Câu 12:
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
-
Câu 13:
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"
-
Câu 14:
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
-
Câu 15:
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 = "
-
Câu 16:
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
-
Câu 17:
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
-
Câu 18:
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
-
Câu 19:
Lớp nào sau đây không phải là lớp bao?
A. String
B. Integer
C. Boolean
D. Character
-
Câu 20:
Đ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
-
Câu 21:
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
-
Câu 22:
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
-
Câu 23:
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
-
Câu 24:
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
-
Câu 25:
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
-
Câu 26:
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
-
Câu 27:
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)
-
Câu 28:
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 ý
-
Câu 29:
Cho câu lệnh sau. Chọn kết quả đúng sau khi thi hành câu lệnh trên
int[] x = new int[25];
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
-
Câu 30:
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
-
Câu 31:
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
-
Câu 32:
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
-
Câu 33:
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
-
Câu 34:
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
-
Câu 35:
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
-
Câu 36:
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;
-
Câu 37:
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
-
Câu 38:
Đ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
-
Câu 39:
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
-
Câu 40:
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
-
Câu 41:
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
-
Câu 42:
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
-
Câu 43:
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
-
Câu 44:
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
-
Câu 45:
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ì
-
Câu 46:
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
-
Câu 47:
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
-
Câu 48:
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
-
Câu 49:
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
-
Câu 50:
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