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:
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
-
Câu 2:
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
-
Câu 3:
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
-
Câu 4:
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
-
Câu 5:
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
-
Câu 6:
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
-
Câu 7:
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
-
Câu 8:
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
-
Câu 9:
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
-
Câu 10:
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 );
-
Câu 11:
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
-
Câu 12:
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
-
Câu 13:
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
-
Câu 14:
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
-
Câu 15:
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
-
Câu 16:
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
-
Câu 17:
Tên biến nào sau đây là tên biến hợp lệ?
A. Int
B. char
C. case
D. 1MyNumber
-
Câu 18:
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
-
Câu 19:
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
-
Câu 20:
Để 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()
-
Câu 21:
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
-
Câu 22:
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
-
Câu 23:
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
-
Câu 24:
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
-
Câu 25:
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;
-
Câu 26:
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
-
Câu 27:
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
-
Câu 28:
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ề
-
Câu 29:
Đị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];
-
Câu 30:
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
-
Câu 31:
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
-
Câu 32:
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
-
Câu 33:
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
-
Câu 34:
Từ nào không phải là từ khóa trong Java?
A. class
B. void
C. Public
D. static
-
Câu 35:
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
-
Câu 36:
Lớp String thuộc package
A. java.util
B. java.lang
C. javax.uti
D. java.string
-
Câu 37:
Để 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
-
Câu 38:
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
-
Câu 39:
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
-
Câu 40:
Để 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()
-
Câu 41:
Đ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
-
Câu 42:
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
-
Câu 43:
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
-
Câu 44:
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
-
Câu 45:
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 46:
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''
-
Câu 47:
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
-
Câu 48:
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
-
Câu 49:
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
-
Câu 50:
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)