300 Câu hỏi trắc nghiệm lập trình Java có đáp án và lời giải chi tiết
Tổng hợp 300 câu hỏi trắc nghiệm Java có đáp án đầy đủ + lời giải chi tiết 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)
-
Câu 1:
Câu lệnh sau in ra kết quả gì?
int age = 13; String message = “PG” + age;
A. PG13
B. PG 13
C. PG age
D. PGage
-
Câu 2:
Câu 1: Nếu 2 đối tượng bằng nhau trong cùng một mảng và mảng đó được sắp xếp, các phần tử bằng nhau không thể thay đối thứ tự của chúng?
Câu 2: Chỉ số mảng bắt đầu từ 1
Chọn một câu trả lời
A. Cả hai câu đều đúng
B. Cả hai câu đều sai
C. Câu 1 đúng, câu 2 sai
D. Câu 2 đúng, câu 1 sai
-
Câu 3:
Chọn phát biểu đúng?
A. Mỗi đối tượng của TextField có thể phát sinh ActionEvent
B. Mỗi đối tượng của TextArea có thể phát sinh ActionEvent
C. Một đối tượng của Button có thể phát sinh ActionEvent
D. 3 câu đúng
-
Câu 4:
Phương thức nào đưa vào dòng 6 sẽ sinh lỗi?
class Super { public float getNum() { return 3.0f; } } public class Sub extends Super { }
A. public getNum() { }
B. public float getNum(double d) { }
C. public float getNum() { return 4.0f; }
D. public double getNum(float d) { return 4.0d; }
-
Câu 5:
Chương trình sau thực hiện công việc gì?
class ContinueDemo { public static void main(String[] args) { String searchMe = “peter piper picked a peck of pickled peppers”; int max = searchMe.length(); int numPs = 0; for (int i = 0; i < max; i++) { if (searchMe.charAt(i) != 'p') continue; numPs++; } System.out.println(“Found“ + numPs + “p 's in the string.”); } }'
A. Đếm chữ cái p trong chuỗi ký tự
B. Tìm xem chữ p có đứng trước chữ i trong chuỗi hay không
C. Tìm kiếm chữ cái p trong chuỗi
D. Cả 3 đáp án đều sai.
-
Câu 6:
Lớp UnicastRemoteObject dùng để:
A. Trả về hostname của client gọi phương thức từ xa
B. Truyền tin trực tiếp với một trình đăng kí đang chạy trên server
C. Tìm kiếm một tên đối tượng từ xa gắn với tên đối tượng
D. Tạo ra một đối tượng từ xa thực thi giao tiếp
-
Câu 7:
Trong Javascript sự kiện Onchange thực hiện khi nào?
A. Khi một đối tượng trong form mất focus
B. Khi một đối tượng trong form có focus
C. Xảy ra khi giá trị của một trường trong form được người dùng thay đổi
D. Khi click chuột vào nút lệnh
-
Câu 8:
Có bao nhiêu kiểu số nguyên trong Java?
A. 1
B. 2
C. 3
D. 4
-
Câu 9:
Đoạn mã sau có lỗi biên dịch gì?
public class Person { private String name; protected int age; public static void main(String[] args) { Person p = new Person(); p.name = "Tom"; System.out.println(p.name); } }
A. Không có lỗi biên dịch.
B. name has private access.
C. age has protected access.
D. name has public access.
-
Câu 10:
Khi tạo một socket trên máy chủ cổng 5000 sử dụng phương thức khởi tạo socket[host, post] thì cầ xử lý ngoại lệ nào?
A. unknownHostException
B. IOException
C. Cả 1 và 2
D. AnithmeticException
-
Câu 11:
Muốn lấy tên mô tả của một locate được biểu diễn trong locate hiện tại thì ta dùng phương thức nào?
A. Static Locate getDefault()
B. Static void setDefault(Locate loc)
C. String getDisplayName()
D. String getDisplayName(Locate loc)
-
Câu 12:
Khối lệnh sau ra kết quả là bao nhiêu với a = 0, b = 0?
double a, b; if (a == 0) if (b != 0) System.out.println(“Phuong trinh vo nghiem”); else System.out.println(“Phuong trinh co vo so nghiem”); else System.out.println(-b/a);
A. Phuong trinh vo nghiem
B. Phuong trinh co vo so nghiem
C. -1.6
D. Lỗi biên dịch
-
Câu 13:
Cho các khai báo sau:
1: byte [] array1, array2[];
2: byte array3 [][];
3: byte[][] array4;
Nếu các mảng trên đều được khởi tạo thì lệnh nào sau sẽ gặp lỗi?
Chọn một câu trả lời
A. array2 = array1;
B. array2[0] = array3[0];
C. array2 = array4;
D. array1=array2;
-
Câu 14:
Lệnh sau in ra cái gì?
final int ARRAY_SIZE = 5; ARRAY_SIZE = 10; System.out.println("size = " + ARRAY_SIZE);
A. size = 10
B. size = 5
C. Lỗi ở dòng 3
D. Lỗi ở dòng 2
-
Câu 15:
Đoạn mã sau có lỗi biên dịch gì?
public class Person { protected String name; protected int age; public static void main(String[] args) { Person p = new Person(); p.name = "Tom"; System.out.println(p.name); } }
A. Không có lỗi biên dịch.
B. name has protected access.
C. age has protected access.
D. name has public access.
-
Câu 16:
Đâu là đặc tính của giao thức POP?
A. Hỗ trợ thư mục cho mỗi người dùng
B. Định nghĩa kiểu nội dung của thông điệp
C. Phân phối email (Delivering of email)
D. Hỗ trợ maiibox đơn
-
Câu 17:
Đọc đoạn mã sau. Kết quả in ra của đoạn mã trên là gì?
int i = 1, j = 10; do { if (i > j) { break; } j--; } while (++ i < 5 ); System.out.printIn("i = " + i + " and j = " + j);
A. i = 6 and j = 5
B. i = 5 and j = 5
C. i = 6 and j = 4
D. i = 5 and j = 6
-
Câu 18:
Các đối tượng trong mô hình phân tán được gọi là:
A. Đơn vị phân tán
B. Node trên mô hình phân tán
C. Tài nguyên phân tán
D. Cả 3 đáp án trên
-
Câu 19:
Đối tượng nào là đối tượng Component:
A. Button
B. Panel
C. Frame
D. Dialog
-
Câu 20:
Kết quả in ra là gì?
public class foo { public static void main(String[] args) { String s; System.out.println("s=" + s); } }
A. s=NULL
B. s=null
C. Lỗi sẽ đưa ra dòng 3
D. Lỗi sẽ đưa ra dòng 4
-
Câu 21:
Giá trị mặc định của một biến kiểu char là?
A. u0000
B. \uFFFF
C. 0F
D. 0x
-
Câu 22:
Đâu là câu lệnh đúng để tạo được địa chỉ mail?
A. Adress ioAddress = new InternetAddress( “lan@yahoo.com”);
B. Adress ioAddesss = new InternetAddress(“yahoo.com”);
C. Adress ioAddesss = new InternetAddress(“lan.ictu.edu.vn”);
D. Adress ioAddesss = new InternetAddress(“”);
-
Câu 23:
Phương thức nào của class String trả về index của chuỗi ký tự con xuất hiện đầu
tiên trong chuỗi ký tự char "
A. concat()
B. charAt()
C. indexOf()
D. Không có đáp án đúng.
-
Câu 24:
Đối tượng Jtree có thể sử dụng để hiển thị?
A. Hệ thống file trong 1 hệ điều hành
B. Cấu trúc phân nhánh C
C. Cả 1 và 2 đúng
D. Cả 1 , 2 sai
-
Câu 25:
Đoạn mã sau có lỗi biên dịch nào?
class Student { public String name; } public class Man extends Student { private String name; }
A. Có lỗi biên dịch:name has private access in Man.
B. Không có lỗi biên dịch.
C. Có lỗi biên dịch:for name access modifier in Man for name is weaker in Student.
D. Có lỗi biên dịch:name has public access in Student.
-
Câu 26:
Chương trình sẽ in ra kết quả gì khi thực thi đoạn mã sau?
package pac02; public class ClassA { public int xA; public String yA; } --------- package pac01; import pac02.ClassA; public class Test { public static void main(String[] args) { ClassA a = new ClassA(); a.xA = 12; a.yA = "Hello"; System.out.println("a.xA = " + a.xA + "; a.yA = " + a.yA); } }
A. Lỗi biên dịch dòng 2.5, 2.6, 2.7
B. Lỗi biên dịch dòng 2.5
C. Lỗi biên dịch dòng 2.6, 2.7
D. a.xA = 12; a.yA = Hello
-
Câu 27:
Đọc đoạn mã lệnh sau. Sau khi thực thi chương trình sẽ in ra kết quả gì ?
public class Main { public static void main(String[] args) { int x = -1; String y = x + 3; System.out.println("x = " + x + "y = " + y); } }
A. x=-1 y=2
B. Lỗi biên dịch: Uncompilable source code - incompatible types
C. x=-1 y=-13
D. x=-1 y=4
-
Câu 28:
Đâu không phải là một kiểu dữ liệu nguyên thủy trong Java?
A. double
B. int
C. long
D. long float
-
Câu 29:
Trong hệ thống phân tán người ta sử dụng kỹ thuật bản sao để xây dựng nhắm mục đích gì sau đây?
A. Tăng độ tin cậy
B. Tăng tính sẵn sàng của hệ thống
C. Tăng hiệu năng (Tăng quy mô hệ thống)
D. Cả 3 đều đúng
-
Câu 30:
Trong JavaScript sự kiện OnMouseOver xảy ra khi nào?
A. Khi một đối tượng trong form mất focus
B. Khi di chuyển con chuột qua một đối tượng trong form
C. Khi kích chuột vào nút lệnh
D. Khi một đối tượng trong form nhận focus
-
Câu 31:
Khái niệm cách start()?
A. Mọi cách thực hiện tác vụ sau khi khởi tạo phải chèn lên cách start. start() bắt đầu việc thực thi của applet.
B. Là cách bắt đầu của applet và chạy song song với applet.
C. cách khởi tạo của applet và chạy song song với applet.
D. Tất cả đều sai.
-
Câu 32:
Nếu phương thức của bạn ghi đè một trong số các phương thức của lớp cha, bạn có thể gọi phương thức bị ghi đè thông qua từ khóa nào?
Chọn một câu trả lời
A. parent
B. super
C. this
D. static
-
Câu 33:
API là gì?
A. Thư viện mã nguồn của Java.
B. Là thư viện chứa các thành phần phần mềm tạo sẵn cung cấp các chức năng cho chương trình Java.
C. Thư viện cung cấp giao diện đồ họa cho chương trình Java.
D. Tất cả đều sai.
-
Câu 34:
Đoạn mã sau có lỗi biên dịch gì?
public class Person { private String name; protected int age; public static void main(String[] args) { Person p = new Person(); p.name = "Tom"; System.out.println(p.name); } }
A. Không có lỗi biên dịch
B. name has private access.
C. age has protected access.
D. name has public access.
-
Câu 35:
Chương trình sẽ in ra cái gì?
class A { final public int method1(int a, int b) { return 0; } } class B extends A { public int method1(int a, int b) { return 1; } } public class Test { public static void main(Strings args[]) { B b; System.out.println("x = " + b.method1(0, 1)); } }
A. x = 0
B. x = 1
C. Lỗi biên dịch
D. x=10
-
Câu 36:
Phát biểu đúng về hệ phân tán:
A. Hệ phân tán là một hệ thống có chức năng và dữ liệu phân tán trên các trạm (máy tính) được kết nối với nhau qua mạng máy tính
B. Hệ phân tán là một tập hợp các máy tính tự trị kết nối với nhay bởi mạng máy tính và được cài đặt phần mềm hệ phân tán
C. Hệ phân tán = Mạng máy tính + phần mềm hệ phân tán
D. Cả 3 đều đúng
-
Câu 37:
Đoạn mã sau có lỗi biên dịch không? Nếu có là lỗi nào sau?
class Student {} public class Man extends Student { }
A. Không có lỗi biên dịch.
B. Có lỗi biên dịch:class Student is empty.
C. Có lỗi biên dịch:class Man is empty.
D. Có lỗi biên dịch:class Student is empty, class Man is empty.
-
Câu 38:
Một lớp trong Java có thể có bao nhiêu lớp cha?
A. 1
B. 2
C. 3
D. 4
-
Câu 39:
Cơ chế quản lý bộ nhớ của Java gồm 2 heap, static heap và dynamic heap. Chọn phát biểu đúng?
A. Static heap chứa các định nghĩa class + dữ liệu của các đối tượng + code chương trình
B. Static heap chứa các định nghĩa class + code chương trình
C. Dynamic heap chứa các định nghĩa class + dữ liệu của các đối tượng + code chương trình
D. Dynamic heap chứa các định nghĩa class + code chương trình
-
Câu 40:
Một hệ thống phân tán được gọi là hệ thống có độ tin cậy cao thì nó phải thỏa mãn yêu cầu nào sau đây?
A. Đảm bảo tính sẵn sàng
B. Đảm bảo tính bảo trì được
C. Đảm bảo tính an toàn
D. Cả 3 đáp án trên
-
Câu 41:
Stub tạo ra bởi trình biên dịch riêng biệt nhờ lệnh?
A. Rmic
B. Rmiregistry
C. Invocation
D. Naming
-
Câu 42:
Đoạn mã sau có lỗi biên dịch KHÔNG? Nếu có là lỗi nào sau?
class Student {} public class Man extends Student { public boolean isMan() { return true; } }
A. Không có lỗi biên dịch.
B. Có lỗi biên dịch:class Student is empty.
C. Có lỗi biên dịch:class Man has no constructor.
D. Có lỗi biên dịch:class Student is empty, class Man has no constructor.
-
Câu 43:
Khi thực hiện khối lệnh trên sẽ cho kết quả là bao nhiêu?
int s = 0; for (int i = 0; i < 10; i++) s += i; System.out.println(s);
A. 45
B. 0
C. 55
D. Không có kết quả đúng
-
Câu 44:
Trong các khai báo sau đâu là khai báo không hợp lệ?
Chọn một câu trả lời
A. int a1[][] = new int[][3];
B. int a2[][] = new int[2][3];
C. int a3[][] = new int[2][];
D. int a4[][] = {{}, {}, {}}
-
Câu 45:
Đâu là đặc tính của javamain?
A. Hỗ trợ đa thư mục cho người dùng
B. Định nghĩa kiểu nội dung của thông điệp
C. API
D. Hỗ trợ maibox đơn
-
Câu 46:
Cấu trúc nào sau đây là sai?
A. JFC (Java Foundation Classes) được giới thiệu từ JDK 2.0
B. JFC (Java Foundation Classes) hỗ trợ 2D Graphics
C. JFC (Java Foundation Classes) là một Graphical framework
D. JFC (Java Foundation Classes) là nền tảng của swing
-
Câu 47:
Thứ tự các từ khóa public và static khi khai bao như thế nào?
A. public đứng trước static
B. static đứng trước public
C. Thứ tự bất kỳ nhưng thông thường public đứng trước
D. Tất cả đều sai.
-
Câu 48:
Trong Javascript sự kiện OnUnload thực hiện khi nào?
A. Khi bắt đầu chương trình chạy
B. Khi click chuột
C. Khi kết thúc một chương trình
D. Khi di chuyển chuột qua
-
Câu 49:
Làm thế nào để ngăn chặn tuần tự hóa một biến (Serialized)?
A. Khai báo private
B. Khai báo là volatile
C. Khai báo là transient
D. Không thể ngăn được
-
Câu 50:
Đâu KHÔNG phải là cách thức để khởi tạo giá trị cho thuộc tính name có kiểu chuỗi của lớp Cat?
A. class Cat {String name = "noname";}
B. public class Cat{ String name; public Cat(){name = "noname";} }
C. public class Cat{ String name; public Cat(String x){name = x;} }
D. public class Cat{ String name; public Cat(){ String name = "noname"; } }
- 1
- 2
- 3
- 4
- Đề ngẫu nhiên
Phần