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:
Đoạn mã sau có lỗi biên dịch nào?
class Student { public String sayHello() { return "Student"; } } public class Man extends Student { public String sayHello() { return "man"; } public static void main(String[] args) { Man m = new Student(); System.out.println(m.sayHello()); } }
A. Có lỗi biên dịch:Incompatible type, requiered Man, found Student.
B. Không có lỗi biên dịch. In ra màn hình "man"
C. Có lỗi biên dịch:access modified of sayHello in Student and Man are different
D. Không có lỗi biên dịch. In ra màn hình "student"
-
Câu 2:
IDL là viết tắt của cụm từ?
A. International Definition Language
B. Interface Definition Language
C. Interface Define Language
D. Tất cả đều sai
-
Câu 3:
Có mấy cách để truyền tham số vào cho một phương thức?
Chọn một câu trả lời
A. 2
B. 1
C. 3
D. 4
-
Câu 4:
Để đảo giá trị của một biến boolean, ta dùng toán tử nào?
A. !
B. >>
C. <<
D. >>>
-
Câu 5:
Để xây dựng ứng dụng RMI thì phải xây dựng giao diện kế thừa giao diện nào sau đây?
A. Java r mi Remote
B. Java r m I Stub
C. Java. Net Remote
D. Java.net.Socket
-
Câu 6:
Stubs 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 7:
Vòng lặp (Do.. while) là dạng vòng lặp?
A. Không xác định và xét điều kiện rồi mới lặp
B. Không xác định và lặp rồi mới xét điều kiện
C. Cả hai dạng trên
D. Không có dạng nào
-
Câu 8:
Để khai báo lớp Xedap1 kế thừa lớp Xedap phải làm như thế nào?
A. class Xedap1 extend Xedap {}
B. public classs Xedap1 extend Xedap {}
C. class Xedap1 extends Xedap {}
D. Tất cả đều sai.
-
Câu 9:
ORB (Object Remote Broker) có các chức năng nào sau đây:
A. Quản lý đối tượng (tạo , kích hoạt, xóa bỏ các đối tượng)
B. Xác định và tìm các đối tượng kết buộc Client
C. Thực hiện các phương thức triệu gọi trên đối tượng
D. Cả 3 đáp án trên
-
Câu 10:
Đâ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"; } }
-
Câu 11:
Kiểu trình bày để đặt các Component dưới dạng bảng?
A. CardLayout
B. GridLayout
C. FlowLayout
D. BorderLayout
-
Câu 12:
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 13:
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 14:
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 15:
Giao diện (interface) nào mà tất cả các giao diện chi dịch vụ từ xa (Remote service) đều phải kế thứa?
A. Java.rmi.RemoteService
B. Java.rmi.Remotable
C. Java.rmi.server.Remote
D. Java.rmi.Remote
-
Câu 16:
RMI Sever không load được các lớp từ vị trí nào sau đây?
A. CLASSPATH của RMI client
B. CLASSPATH của RMI của sever
C. Từ một HTTP hoặc FPT sever trên mạng tại vị trí cụ thể client
D. Từ một HTTP hoặc FPT sever trên mạng tại vị trí cụ thể sever
-
Câu 17:
Đâu KHÔNG phải là thành phần trong cấu trúc của lớp trong java.
A. Tên lớp
B. Thuộc tính
C. Phương thức
D. Biến
-
Câu 18:
Cách đặt tên nào sau đây là không chính xác?
A. final
B. dem
C. _final
D. $final
-
Câu 19:
Đoạn mã sau có lỗi biên dịch gì? Chọn một câu trả lời
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 20:
Thành phần nào sau đây thuộc vào cấu trúc của một JTree?
A. Nút gốc(Root node)
B. Nút Nhánh (Branch Node)
C. Nút lá(Leaf Node)
D. Tất cả
-
Câu 21:
Có bao nhiêu đổi tham chiếu của đối tượng mảng và biến tồn tại sau khi thực hiện khối
lệnh?String[] students = new String[10]; String studentName = “Peter Parker”; students[0] = studentName; studentName = null;
A. 1
B. 2
C. 3
D. 4
-
Câu 22:
Đâu là khai báo đúng về lớp Cat?
Chọn một câu trả lời
A. Class Cat{}
B. class public Cat(){}
C. class Cat{}
D. public Cat class{}
-
Câu 23:
Khai báo nào sau đây là khai báo biến lớp?
A. final double d;
B. private static id;
C. volatile int sleepTime
D. Không có đáp án đúng
-
Câu 24:
File chứa mã nguồn java sau khi được biên dịch có đuôi là gì?
A. .java
B. .class
C. .jav
D. .exe
-
Câu 25:
Cổng (port) mặc định cho các dịch vụ chạy trên môi trường J2EE là gì?
A. 1099
B. 1024
C. 1025
D. 1098
-
Câu 26:
Trong Java, kiểu dữ liệu nào là một địa chỉ của đối tượng hoặc một mảng được
tạo ra trong bộ nhớ?
A. Kiểu primitive
B. Kiểu reference
C. Kiểu format
D. Không có đáp án đúng.
-
Câu 27:
Thẻ <input type=”Radio” …> dùng để làm gì?
A. Tạo một ô text để nhập dữ liệu
B. Tạo một nhóm đối tượng chọn nhưng chọn duy nhất
C. Tạo một cùng có nhiều cột nhiều dòng
D. Tất cả các ý trên
-
Câu 28:
Một lớp trong Java có bao nhiêu lớp con?
A. 2
B. 3
C. 4
D. Vô số
-
Câu 29:
Lệnh lặp for có dạng như thế nào?
A. for ( biến = Giá trị đầu; Điều kiện; Giá trị tăng)
B. for ( biến = Giá trị đầu; Giá trị tăng; điều kiện)
C. for ( biến = Điều kiện; Giá trị tăng; Giá trị cuối)
D. Tất cả các dạng trên
-
Câu 30:
Làm thế nào để đoạn mã trên biên dịch thành công?
public abstract class Test { public abstract void methodA(); public abstract void methodB() { System.out.printIn("Hello"); } }
A. Cài đặt cụ thể phần thân cho phương thức methodA()
B. Thay thế từ khóa public ở dòng 2 thành private
C. Xóa từ khóa abstract ở dòng 4
D. Xóa từ khóa abstract ở dòng 2
-
Câu 31:
Đâu là câu SAI về ngôn ngữ Java?
A. Ngôn ngữ Java có phân biệt chữ hoa – chữ thường
B. Java là ngôn ngữ lập trình hướng đối tượng
C. Dấu chấm phẩy được sử dụng để kết thúc lệnh trong java
D. Chương trình viết bằng Java chỉ có thể chạy trên hệ điều hành win
-
Câu 32:
Để tạo một liên kết ta sử dụng đoạn mã nào sau đây?
A. String url =”jdbc.odbc WithoutBook”; Connection con = new DriverManager getConection(url, “username”,”password”);
B. String url =”jdbc.odbc WithoutBook”; Connection con = new DriverManager getConection(url);
C. Connection con = new DriverManager getConection(jdbc.odbc WithoutBook);
D. Tất cả đều đúng
-
Câu 33:
Kiểu enum là gì?
A. Là kiểu dữ liệu gồm các trường chứa một tập hợp cố định các hằng số.
B. Là kiểu dữ liệu liệt kê các biến số.
C. Là một kiểu dữ liệu trong java.
D. Tất cả đều sai.
-
Câu 34:
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 35:
RPC (Remote Procedure Call) là gì?
A. Cơ chế triệu gọi trên 2 máy tính
B. Cơ chế kết nối 2 máy tính trên mạng
C. Cơ chế liên lạc giữa các máy tính
D. Cơ chế trao đổi dữ liệu giữa các máy tính
-
Câu 36:
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 37:
Vòng lặp While là dạng vòng lặp?
A. Không xác định và xét điều kiện rồi mới lặp
B. Không xác định và lặp rồi mới xét điều kiện
C. Cả hai dạng trên
D. Không tồn tại dạng nào ở trên
-
Câu 38:
SMIP cần khai báo nào sau đây?
A. Import .java.net.smtp.*;
B. Import .java.net.Message.*;
C. Import .sun.net.smtp.*; (.sun)
D. Import.sun.net.pop3.*;
-
Câu 39:
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 40:
Trong Javascript sự kiện Onclick xảy ra 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. Khi click chuột vào một đối tượng trong form
D. Khi click chuột vào nút lệnh
-
Câu 41:
Gói nào trong java chứa lớp Scanner dùng để nhập dữ liệu từ bàn phím?
A. java.net
B. java.io
C. java.util
D. java.awt
-
Câu 42:
ORB (Object Remote Broker) trong hệ thống phân tán được gọi là:
A. Đối tượng môi giới yêu cầu
B. Đối tượng tái tạo
C. Đối tượng tự trị
D. Đối tượng di trú
-
Câu 43:
Một chương trình gồm 2 class sẽ có bao nhiêu cách main?
A. 1
B. 2
C. 3
D. 4
-
Câu 44:
Muốn lưu trữ một biến số nguyên dương mà có giá trị lớn nhất là một triệu thì sử dụng kiểu dữ liệu nào là tiết kiệm bộ nhớ nhất?
A. int
B. float
C. Double
D. Byte
-
Câu 45:
Trong câu lệnh sau: public static void main(String[] agrs) thì phần tử agrs[0] chứa giá trị gì?
A. Tên của chương trình
B. Số lượng tham số
C. Tham số đầu tiên của danh sách tham số
D. Không câu nào đúng
-
Câu 46:
Java hỗ trợ những đặc điểm nào sau đây?
A. Hướng đối tượng
B. Độc lập platform
C. Bảo mật
D. Tất cả các đặc điểm trên
-
Câu 47:
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 48:
Cách đặt tên nào sau đây là sai?
A. 2word
B. *word
C. main
D. Tất cả đều sai.
-
Câu 49:
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 50:
Trong đoạn mã trên x nhận giá trị bao nhiêu?
String s = "cabcab"; StringTokenizer sten = new StringTokenizer(s, "ab"); int x = sten.countTokens(); System.out.println(x);
A. 0
B. 1
C. 2
D. 3
- 1
- 2
- 3
- 4
- Đề ngẫu nhiên
Phần