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:
Cho đoạn mã sau trong một chương trình Java. Chọn phát biểu đúng
submarine.dive(depth);
A. dive phải là tên thuộc tính
B. depth phải có kiểu dữ liệu int
C. submarine là tên của một lớp
D. dive phải là một phương thức
-
Câu 2:
Cho đoạn mã sau. Sau khi thực hiện, giá trị của y[2] là bao nhiêu?
int[] x = { 1, 2, 3, 4, 5 }; int[] y = x; System.out.println("s=" + y[2]);
A. 1
B. 2
C. 3
D. 4
-
Câu 3:
Cho đoạn mã sau. Sau khi thực hiện x[2] bằng bao nhiêu?
int[] x = { 1, 2, 3, 4, 5 }; int[] y = x; y[2] = 10; System.out.println("s=" + x[2]);
A. 1
B. 3
C. 5
D. 10
-
Câu 4:
Phương thức read() của lớp InputStream trả về kết quả gì?
A. Số byte nhận (đọc) được
B. Mảng các byte dữ liệu nhận (đọc) được
C. Chuỗi (String) dữ liệu nhận (đọc) được
D. Không trả về gì cả
-
Câu 5:
Cho đoạn mã sau. Phát biểu nào sau đây đúng với đoạn mã trên?
short s = 9; int i = 10; s = i;
A. Lỗi Thực Thi
B. Lỗi Biên Dịch
C. Không Có Lỗi
D. Mất độ chính xác dữ liệu
-
Câu 6:
Cho đoạn mã sau. Phát biểu nào sau đây đúng với đoạn mã trên?
short s = 9; int i = 10; i = s;
A. Lỗi biên dịch
B. Lỗi thực thi
C. Mất độ chính xác
D. Không có lỗi
-
Câu 7:
Cho đoạn mã sau. Hãy cho biết kết quả của st1[2] khi thực thi đoạn lệnh trên?
String st1[] = { "so1", "so2", "so3" }; String st2[] = st1; st2[2] = "so4";
A. so1
B. so2
C. so3
D. so4
-
Câu 8:
Để chuyển đổi kiểu dữ liệu số nguyên (int) thành một chuỗi chứa giá trị nguyên (String) thì sử dụng phương thức nào?
A. valueOf()
B. convert()
C. equals()
D. CompareTo()
-
Câu 9:
Câu lệnh nào sau đây hợp lệ?
A. int x = 9;
B. int y =!x;
C. double z = 9.00>>2
D. int i = ^7
-
Câu 10:
Phát biểu nào sau đây là đúng?
A. Một phương thức final thì không thể Override
B. Một lớp có chứa phương thức final sẽ không cho phép thừa kế
C. Một biến final chỉ có thể khai báo trong một lớp final
D. Một biến final chỉ có thể khai báo trong một lớp final
-
Câu 11:
Khai báo nào sau đây sẽ không gây ra lỗi biên dịch?
A. abstract int i;
B. native MyMethod();
C. default class MyClass {};
D. abstract final class MyClass {};
-
Câu 12:
Cho đoạn mã sau. Khối lệnh trên sẽ phát sinh Exception gì?
try { int i = Integer.parseInt("one"); }
A. ClassCastException
B. illegalStateException
C. NumberFormatException
D. ArrayIndexOutOfBoundsException
-
Câu 13:
Cho đoạn mã sau. Giá trị M là bao nhiêu để đoạn mã in ra tất cả các giá trị của mảng
int[] a = { 1, 2, 3, 4, 5, 6, 7, 8 }; for (int i = 0; i < M; i++) { System.out.println(String.valueOf(a[i])); }
A. 1
B. 7
C. 8
D. Không có giá trị nào vì đoạn mã bị lỗi
-
Câu 14:
Cho đoạn mã sau. Kết quả đoạn mã trên là ?
A. Hello,
B. Truongbt
C. Hello, Truongbt
D. Lỗi biên dịch
-
Câu 15:
Lớp Bao (Wrapper Class) nằm trong gói package nào?
A. java.io
B. java.lang
C. java.math
D. java.net
-
Câu 16:
Cho đoạn mã sau đây. Sau khi thực hiện, kết quả in lên màn hình là bao nhiêu?
int a = 6, b = 7; System.out.println((a > b) ? 10 : 9);
A. 9
B. 9.0
C. 10
D. 10.0
-
Câu 17:
Cho đoạn mã sau đây. Sau khi thực hiện, kết quả in lên màn hình là bao nhiêu?
int a = 6, b = 2; System.out.println((a > b) ? 10 : 9.0);
A. 9
B. 9.0
C. 10
D. 10.0
-
Câu 18:
Để chuyển đổi một chuỗi số sang dạng số thực, ta sử dụng phương thức nào sau đây
A. Integer.parseInt()
B. Float.parseFlt()
C. Double.parseDbl()
D. Double.parseDouble()
-
Câu 19:
Cho đoạn lệnh sau đây. Cho biết kết quả khi thực thi chương trình
if ("String".toString() == "String") System.out.println("Equal"); else System.out.println("Not Equal");
A. Equal
B. Not Equal
C. Lỗi Biên Dịch
D. Lỗi Thực Thi
-
Câu 20:
Cho chương trình sau đây. Hãy cho biết kết quả sau khi thực thi chương trình ?
class tbt { public static void main(String args[]) { System.out.println("In first main()"); } public static void main(char args[]) { System.out.println('' a ''); } }
A. Biên dịch có lỗi và đưa ra lỗi "Duplicate main() method declare"
B. Biên dịch thành công nhưng sẽ đưa ra lỗi xảy ra ngoại lệ khi chạy
C. Biên dịch thành công và in ra màn hình "In first main()"
D. Biên dịch thành công và in ra màn hình "a"
-
Câu 21:
Cho đoạn mã sau đây. Hãy cho biết kết quả khi thực thi
final int i = 100; byte b = i; System.out.println(b);
A. Lỗi Cú Pháp
B. Lỗi Luận Lý
C. 100
D. 100.0
-
Câu 22:
Cho đoạn mã sau đây. Hãy cho biết kết quả khi thực thi đoạn lệnh trên ?
String s1[] = new String[5]; String str = s1[0].toUpperCase(); System.out.println(str);
A. Đưa ra ngoại lệ NullPointException
B. Sẽ in ra giá trị null
C. Sẽ không thực thi được chương trình
D. Sẽ in ra giá trị NULL
-
Câu 23:
Cho chương trình sau.Cho biết kết quả sau khi thực thi chương trình trên?
public class TBT { public void method(Object o) { System.out.println("Object Verion"); } public void method(String s) { System.out.println("String Version"); } public static void main(String args[]) { TBT question = new TBT(); question.method(null); } }
A. Đoạn mã không biên dịch
B. Biên dịch thành công và hiển thị kết quả "String Version"
C. Biên dịch thành công và hiển thị kết quả "Object Verion"
D. Đoạn mã xảy ra ngoại lệ Exception khi thực hiện
-
Câu 24:
Cho đoạn mã lệnh sau. Hãy cho biết giá trị của sum sau khi thực hiện xong đoạn lệnh trên?
int i = 5, sum = 0; while (i > 0) { i--; sum = sum + i; }
A. 8
B. 10
C. 12
D. 15
-
Câu 25:
Để khai báo chuỗi, hay cho biết khai báo nào sau đây bị lỗi?
A. String st = new String();
B. String str2 = new String("Hello");
C. String st = String();
D. String st3 = "Bai thi";
-
Câu 26:
Cho đoạn mã sau. Sau khi thực hiện đoan lệnh trên, có kết quả ra sao?
int anar[] = new int[5]; System.out.println(anar[0]);
A. 0
B. 5
C. null
D. Lỗi : mảng anar được tham chiếu đến trước khi khởi tạo
-
Câu 27:
Cho đoạn mã sau. Hãy cho biết kết quả sau khi biên dịch và thực thi đoạn lệnh trên?
static int i; public static void main(String args[]) { System.out.println(i); }
A. 1
B. 0
C. null
D. Lỗi do chưa khởi tạo giá trị cho biến i
-
Câu 28:
Câu lệnh khai báo biến : int i,j và float x,y; các phép gán dưới đây phép gán nào sai:
A. x = Float.parseFloat("0.123");
B. i = Integer.parseInteger("123");
C. y = Float.parseFloat("123");
D. j = Integer.parseInt("123");
-
Câu 29:
Từ khoá nào khi thực thi sẽ tham khảo đến bản thân lớp chứa nó?
A. this
B. super
C. abstract
D. final
-
Câu 30:
Phương thức loại nào trong các loại sau không được quyền truy cập đến để thay đổi trong Java?
A. private
B. private
C. public
D. private protected
-
Câu 31:
Cho biết kết quả sau khi thực thi đoạn chương trình sau :
class C2 { public static void main(String args[]) { int k = 50; IncValue inc = new IncValue(); System.out.println("result = " + inc.increment(k)); System.out.println("k = " + k); } } class IncValue { public int increment(int v) { int z = v + 10; v = v - 3; return z; } }
A. result = 60 và k = 50
B. result = 50 và k = 50
C. result = 47 và k = 50
D. result = 60 và k = 47
-
Câu 32:
Cho đoạn chương trình sau. Hãy cho biết chương trình có lỗi hay không, nếu có thì sửa chữa thế nào để chương trình có thể biên dịch :
class C3 { private static int z = 10; private int t = 100; public static void main(String args[]) { C3 obj1 = new C3(); obj1.z++; obj1.t++; C3.t--; C3.z--; System.out.println(" t = " + C3.t); System.out.println(" z = " + z); } }
A. Sửa lại dòng số 8 thành obj1.t --;
B. Sửa lại dòng số 10 thành System.out.println ( " t = " + obj1.t );
C. Phải sửa cả hai dòng 8 và 10 từ C3.t thành obj1.t
D. Chương trình không có lỗi
-
Câu 33:
Cho biết với từ khoá khai báo thuộc tính nào để xác định quyền truy xuất sau : Không cho phép các lớp khác truy xuất mà chỉ có thể được truy xuất từ chính đối tượng đó?
A. pulic
B. private
C. protected
D. static
-
Câu 34:
Cho biết với từ khoá khai báo thuộc tính nào để xác định quyền truy xuất sau : Chỉ cho phép bản thân lớp đó và lớp dẫn xuất từ nó mới truy xuất được?
A. public
B. private
C. protected
D. static
-
Câu 35:
Cho biết với từ khoá khai báo thuộc tính nào để xác định quyền truy xuất sau : Thuộc tính được phép truy xuất từ tất cả các lớp đối tượng khác?
A. public
B. private
C. protected
D. static
-
Câu 36:
Cho đoạn chương trình sau. Cho biết kết quả in lên màn hình sau khi thực thi?
class Value { public int i = 15; } public class Test { public static void main(String args[]) { Test t = new Test(); t.first(); } public void first() { int i = 5; Value v = new Value(); v.i = 25; second(v, i); System.out.print(" " + v.i); } public void second(Value v, int i) { i = 0; v.i = 20; Value val = new Value(); v = val; System.out.print(v.i + " " + i); } }
A. 0 15 20
B. 15 0 20
C. 20 0 15
D. 20 15 0
-
Câu 37:
Cho đoạn chương trình sau:
import java.io. * ; import java.io. * ; class TBT { static BufferedReader buf = new BufferedReader(new InputStreamReader(System. in )); public static void main(String args[]) { String m = new String(); float x; m = buf.readLine(); try { x = Float.parseFloat(m); } catch(Exception e) {} } }
A. Không thể chuyển đổi một chuỗi sang số thực
B. Biến m,x khai báo trong phương thức main
C. Luồng nhập đặt ngoài cặp lệnh try...catch
D. Biến m,x không khai báo static
-
Câu 38:
Khởi tạo biến chuỗi String s = new String("Hello Truongbt"); Các lệnh dưới đây, lệnh nào không hợp lệ :
A. int i = s.length();
B. int i = length(s);
C. s.toLowerCase();
D. s.toUpperCase();
-
Câu 39:
Cho đoạn mã sau, kết quả in lên màn hình là gì?
String s = new String(); System.out.println("s = " + s);
A. "s = "
B. "s = null"
C. Lỗi biên dịch
D. Lỗi thực thi
-
Câu 40:
Cho đoạn mã sau. Sau khi thực thi, kết quả in lên màn hình là bao nhiêu?
String st = "0123\u456789"; System.out.println(st.length());
A. 6
B. 7
C. 8
D. 9
-
Câu 41:
Trong ngôn ngữ Java, ta không thể chuyển biến kiểu int và biến kiểu boolean như trong ngôn ngữ C/C++. Đúng hay Sai?
A. Đúng
B. Sai
-
Câu 42:
Giá trị mặc định cho một biến kiểu char là?
A. 0
B. 1
C. Nothing
D. null
-
Câu 43:
Cho biết kết quả của t sau khi thực hiện đoạn lệnh sau :
int i, t; for (i = 1, t = 0; i <= 5;) t = t + ++i; System.out.println("t = " + t);
A. 10
B. 15
C. 20
D. 25
-
Câu 44:
Cho biết kết quả của t sau khi thực hiện đoạn lệnh sau
int i, t; for (i = 1, t = 0; i <= 5; i++) t = t + i; System.out.println("t = " + t);
A. 10
B. 15
C. 20
D. 25
-
Câu 45:
Cho biết kết quả sau khi thực hiện đoạn lệnh sau:
int i; for (i = 10; i <= 99; i++) if ((i / 10) / (i % 10) == 2) System.out.print("\t " + i);
A. Lỗi Biên Dịch
B. Lỗi Thực Thi
C. Không hiển thị gì
D. 21 42 63 84
-
Câu 46:
Cho đoạn mã sau, khi thực hiện xong,biến w có giá trị bằng bao nhiêu?
int numbers[] = { 2, 1, 4, 3 }; int w = numbers[1] % numbers[2];
A. 0
B. 0.25
C. 1
D. 2
-
Câu 47:
Cho đoạn chương trình phía Server, chương trình giao tiếp qua mạng dùng cơ chế TCP. Chọn câu lệnh đúng nhất điền vào câu lệnh còn thiếu?
ServerSocket ssk = new ServerSocket(1234); Socket sk = ________________; //đoạn mã thiếu InputStream is = sk.getInputStream(); OutputStream out = sk.getOutputStream();
A. ssk.listen();
B. sk.accept()
C. sk.listen();
D. ssk.accept()
-
Câu 48:
Các giao thức TCP, UDP thuộc tầng ứng dụng nào trong mô hình OSI?
A. Network
B. Application
C. Presentation
D. Transport
-
Câu 49:
Lớp nào sau đây chỉ dùng trong chương trình Server mà không dùng trong chương trình Client?
A. Socket
B. InputStream
C. OutputStream
D. ServerSocket
-
Câu 50:
Khi truyền nhận dữ liệu cần độ tin cậy cao thì nên dùng giao thức nào?
A. UDP
B. TCP
C. TCP hoặc UDP
D. Tất cả đều sai