Đề thi, bài tập trắc nghiệm online Lập trình javaĐề 14 – Bài tập, đề thi trắc nghiệm online Lập trình java Đăng vào 2 Tháng 5, 2026 bởi admin Đề 14 – Bài tập, đề thi trắc nghiệm online Lập trình java Đề 14 – Bài tập, đề thi trắc nghiệm online Lập trình java Số câu30Quiz ID10869 Làm bài Câu 1 1. Trong lập trình Java, từ khóa nào được sử dụng để khai báo một biến hằng số? A A. static B B. final C C. const D D. immutable Câu 2 2. Phương thức `equals()` trong Java được sử dụng để làm gì? A A. So sánh tham chiếu của hai đối tượng B B. So sánh giá trị của hai đối tượng C C. Kiểm tra xem một đối tượng có phải là null không D D. Sao chép một đối tượng Câu 3 3. Loại ngoại lệ nào KHÔNG cần phải được xử lý (checked exception) hoặc khai báo trong mệnh đề `throws`? A A. IOException B B. SQLException C C. NullPointerException D D. ClassNotFoundException Câu 4 4. Trong Java, interface có thể chứa thành phần nào sau đây? A A. Các phương thức khởi tạo (constructor) B B. Các biến thể hiện (instance variables) C C. Các phương thức trừu tượng (abstract methods) D D. Các khối static Câu 5 5. Đâu là mục đích chính của từ khóa `static` trong Java? A A. Tạo ra các đối tượng không thể thay đổi B B. Cho phép truy cập các thành viên của lớp mà không cần tạo đối tượng C C. Đảm bảo tính kế thừa của lớp D D. Khai báo một lớp là lớp trừu tượng Câu 6 6. Vòng lặp `for-each` trong Java thường được sử dụng để làm gì? A A. Lặp qua các phần tử của một mảng hoặc collection B B. Lặp vô hạn cho đến khi có điều kiện dừng C C. Thực hiện một khối lệnh một lần duy nhất D D. Xử lý ngoại lệ trong vòng lặp Câu 7 7. Trong Java, 'garbage collection' là quá trình gì? A A. Thu gom các lỗi cú pháp trong mã nguồn B B. Giải phóng bộ nhớ không còn được sử dụng bởi chương trình C C. Tối ưu hóa hiệu suất của chương trình D D. Kiểm tra và sửa lỗi logic trong chương trình Câu 8 8. Phương thức `toString()` trong Java có mục đích gì? A A. Chuyển đổi một đối tượng thành một kiểu dữ liệu khác B B. Trả về một chuỗi đại diện cho đối tượng C C. So sánh hai đối tượng dựa trên giá trị chuỗi D D. Tạo ra một bản sao của đối tượng Câu 9 9. Đâu là cách khai báo đúng một mảng các số nguyên trong Java? A A. int array[]; B B. array int[]; C C. int[] array; D D. array[] int; Câu 10 10. Tính chất 'đa hình' (polymorphism) trong OOP Java cho phép điều gì? A A. Một lớp có thể có nhiều lớp con B B. Một đối tượng có thể có nhiều kiểu dữ liệu C C. Một phương thức có thể có nhiều cách thực hiện khác nhau tùy thuộc vào đối tượng gọi nó D D. Một lớp có thể kế thừa từ nhiều lớp khác Câu 11 11. Trong Java, từ khóa `super` được sử dụng để làm gì? A A. Tham chiếu đến lớp hiện tại B B. Tham chiếu đến lớp cha trực tiếp C C. Gọi một phương thức static D D. Khai báo một lớp cha Câu 12 12. Kiểu dữ liệu nào sau đây KHÔNG phải là kiểu dữ liệu nguyên thủy (primitive data type) trong Java? A A. int B B. boolean C C. String D D. char Câu 13 13. Mục đích của từ khóa `synchronized` trong Java là gì? A A. Tăng tốc độ thực thi của chương trình B B. Đảm bảo tính đồng bộ và loại trừ lẫn nhau khi truy cập tài nguyên chung trong môi trường đa luồng C C. Khai báo một phương thức là phương thức trừu tượng D D. Tạo ra một bản sao của đối tượng Câu 14 14. Trong lập trình hướng đối tượng (OOP), 'tính đóng gói' (encapsulation) đề cập đến điều gì? A A. Khả năng kế thừa giữa các lớp B B. Che giấu thông tin và hiện thực bên trong của đối tượng, chỉ cung cấp giao diện bên ngoài C C. Khả năng một đối tượng có nhiều hình thức D D. Khả năng tái sử dụng mã nguồn Câu 15 15. Lệnh nào sau đây được sử dụng để tạo một đối tượng từ một lớp trong Java? A A. declare B B. instanceof C C. new D D. create Câu 16 16. Phương thức `main` trong Java có vai trò gì? A A. Định nghĩa lớp chính của chương trình B B. Điểm bắt đầu thực thi của chương trình Java C C. Khai báo các biến toàn cục D D. Xử lý ngoại lệ chung cho toàn chương trình Câu 17 17. Trong Java Collections Framework, `List`, `Set`, và `Map` là gì? A A. Các kiểu dữ liệu nguyên thủy B B. Các interface định nghĩa các kiểu cấu trúc dữ liệu khác nhau C C. Các từ khóa để quản lý bộ nhớ D D. Các lớp để xử lý ngoại lệ Câu 18 18. Annotation `@Override` trong Java được sử dụng để làm gì? A A. Khai báo một lớp là lớp cha B B. Chỉ ra rằng một phương thức trong lớp con đang ghi đè một phương thức từ lớp cha C C. Tạo ra một đối tượng mới D D. Đánh dấu một phương thức là không thể thay đổi Câu 19 19. Trong Java, 'constructor' là gì? A A. Một phương thức đặc biệt được gọi khi một đối tượng được tạo ra B B. Một từ khóa để khai báo biến C C. Một interface để định nghĩa hành vi của lớp D D. Một loại vòng lặp đặc biệt Câu 20 20. Đâu là cách đúng để đóng một luồng (stream) trong Java sau khi sử dụng, đảm bảo giải phóng tài nguyên? A A. Gán stream cho null B B. Gọi phương thức `finalize()` C C. Sử dụng khối `try-with-resources` hoặc gọi phương thức `close()` trong khối `finally` D D. Không cần đóng, garbage collector sẽ tự động xử lý Câu 21 21. Trong Java, 'serialization' là quá trình gì? A A. Chuyển đổi mã Java sang bytecode B B. Chuyển đổi một đối tượng thành một chuỗi byte để lưu trữ hoặc truyền tải C C. Kiểm tra lỗi cú pháp trong mã D D. Tối ưu hóa hiệu suất của chương trình Câu 22 22. Trong Java, class `Scanner` thường được sử dụng để làm gì? A A. Vẽ đồ họa trên màn hình B B. Đọc dữ liệu đầu vào từ người dùng hoặc từ file C C. Kết nối đến cơ sở dữ liệu D D. Tạo giao diện người dùng đồ họa (GUI) Câu 23 23. Phương thức `hashCode()` trong Java thường được sử dụng cùng với phương thức nào? A A. toString() B B. equals() C C. compareTo() D D. clone() Câu 24 24. Trong Java, 'generics' (kiểu tham số hóa) được sử dụng để làm gì? A A. Tăng tốc độ biên dịch chương trình B B. Cho phép định nghĩa các lớp và phương thức có thể làm việc với nhiều kiểu dữ liệu khác nhau một cách an toàn kiểu C C. Giảm dung lượng bộ nhớ sử dụng D D. Tạo ra mã nguồn dễ đọc hơn Câu 25 25. Đâu là cách khai báo một lớp trừu tượng (abstract class) trong Java? A A. class AbstractClass {} B B. abstract class MyClass {} C C. interface MyClass {} D D. final class MyClass {} Câu 26 26. Trong Java, 'lambda expression' (biểu thức lambda) được giới thiệu từ phiên bản nào? A A. Java 1.5 B B. Java 6 C C. Java 7 D D. Java 8 Câu 27 27. Mục đích chính của Dependency Injection (DI) trong lập trình Java là gì? A A. Tăng hiệu suất ứng dụng B B. Giảm sự phụ thuộc giữa các thành phần của ứng dụng, làm cho mã nguồn dễ bảo trì và kiểm thử hơn C C. Tự động sinh mã boilerplate D D. Quản lý bộ nhớ hiệu quả hơn Câu 28 28. Trong Java, `StringBuilder` và `StringBuffer` khác nhau chủ yếu ở điểm nào? A A. StringBuilder nhanh hơn StringBuffer B B. StringBuffer nhanh hơn StringBuilder C C. StringBuilder là bất biến, StringBuffer là khả biến D D. StringBuffer được giới thiệu sau StringBuilder Câu 29 29. Trong Java, 'marker interface' là gì? A A. Interface chứa các phương thức đánh dấu (marker methods) B B. Interface không chứa bất kỳ phương thức nào, chỉ được sử dụng để đánh dấu lớp thực hiện nó với một thuộc tính đặc biệt C C. Interface được sử dụng để đánh dấu các phương thức deprecated D D. Interface đánh dấu các lớp là lớp trừu tượng Câu 30 30. Ứng dụng nào sau đây KHÔNG phải là một ứng dụng phổ biến của Java? A A. Ứng dụng web doanh nghiệp (Enterprise Web Applications) B B. Ứng dụng di động Android C C. Phát triển game console thế hệ mới nhất D D. Hệ thống nhúng (Embedded Systems) Đề 13 – Bài tập, đề thi trắc nghiệm online Chi tiết máy Đề 15 – Bài tập, đề thi trắc nghiệm online Ngữ pháp lý thuyết tiếng Anh