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?. Chọn một câu trả lời
class Student { } public class Man extends Student { public static void main(String[] args) { Man m = new Student(); } }
A. Không có lỗi biên dịch.
B. Có lỗi biên dịch: Incompatible type, required Man, found Student.
C. Có lỗi biên dịch:Incompatible type, required Student, found Man.
D. Do not use extends to make subclass..
-
Câu 2:
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
-
Câu 3:
Kết quả in ra của đoạn mã trên là gì?
public class Delta { static boolean foo(char c) { System.out.print(c); return true; } public static void main(String[] argv) { int i = 0; for (foo(‘A’); foo(‘B’) && (i < 2); foo(‘C’)) { i++; foo(‘D’); 12. } } }
A. ABDCBDCB
B. ABCDABCD
C. Lỗi biên dịch
D. Chương trình không lỗi, nhưng khi chạy sẽ sinh lỗi
-
Câu 4:
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 5:
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 6:
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 7:
Chương trình sau in ra màn hình số mấy? Chọn một câu trả lời
public class Main { public static void main(String[] args) { String names[] = { "John", "Anna", "Peter", "Victor", "David" }; System.out.println(names.length); } }
A. 4
B. 5
C. 6
D. 7
-
Câu 8:
Trong Javascript sự kiện Onblur 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. Khi di chuyển con chuột qua form
D. Khi click chuột vào nút lệnh
-
Câu 9:
Những loại dịch vụ nào cần một hệ thống RPC?
A. Hoạt động đặt tên dịch vụ, hoạt động ràng buộc, Hoạt động đầu cuối
B. Hoạt động bảo mật, trao đổi dữ liệu
C. Hoạt động quản lý bộ nhớ, viết chương trình truy cập vào RPC
D. Tất cả đều đúng
-
Câu 10:
Giả sử chúng ta có thể hiện e của bộ lắng nghe sự kiện TextEvent là thể hiện r của lớp TextArea. Cho biết các để gắn bộ lắng nghe e vào r?
A. r.addTextListenner (e)
B. e.addTextListenner(t)
C. addTextListenner(e,t);
D. addTextListenner(t,e);
-
Câu 11:
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 12:
Kết quả in ra của đoạn mã trên là gì?
Chọn một câu trả lời
public class Foo { public static void main(String[] args) { try { return; } finally { System.out.println( "Finally" ); } } }
A. Finally
B. Lỗi biên dịch
C. Đoạn mã thực thi nhưng không in ra kết quả
D. Lỗi sinh ra trong quá trình chạy.
-
Câu 13:
Cho xâu kí tự s=”ABCDEF”. Để lấy kỳ tự thứ ‘E’ của xâu ký tự s(String) dùng câu lệnh nào sau đây?
A. s.charAt(5)
B. s.charAt(4)
C. s[5]
D. s[4]
-
Câu 14:
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 15:
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 16:
Kết quả sau khi biên dịch mã: class A { public static void main(String[] args) {A a = new B();}} class B extends A{}
A. Compiler error
B. Runtime Exception
C. No error
-
Câu 17:
Câu 1: Một thành viên protected của một lớp có thể được truy xuất từ bất kỳ lớp nào trong cùng một gói và từ một lớp con nằm bên ngoài gói nếu lớp bên ngoài đó là lớp con.
Câu 2:Một thành viên của một lớp được khai báo là private không những không thể được truy xuất từ bên trong lớp mà còn không nơi nào bên ngoài lớp.
Chọn một câu trả lời
A. Câu 1 sai, câu 2 đúng
B. Câu 1 đúng, câu 2 sai
C. Cả 2 câu cùng đúng
D. Cả 2 câu cùng sai
-
Câu 18:
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 19:
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 20:
Phát biểu nào sau đây là đúng:
Chọn một câu trả lời
A. Mảng có thể lưu giữ các phần tử thuộc nhiều kiểu dữ liệu khác nhau
B. Chỉ số của mảng có thể sử dụng kiểu số thực (float, double)
C. Biểu thức array.length được sử dụng để trả về số phần tử trong mảng
D. Một phần tử của mảng không thể truyền vào trong một phương thức.
-
Câu 21:
Khi biên dịch lớp Main có lỗi biên dịch không? Nếu có là lỗi nào?
package java.school; public class Student {} -- package java.test; public class Main { public static void main(String[] args) { Student s = new Student(); } }
A. Có lỗi biên dịch: can not find symbol test.Student
B. Không có lỗi biên dịch.
C. Có lỗi biên dịch: Add import java.school.Student
D. Có lỗi biên dịch: can not find constructor Student() for Student.
-
Câu 22:
Phạm vi truy cập của một đối tượng khi khai báo private là gì?
A. Có thể được truy cập bất kỳ vị trí nào trong chương trình.
B. Có thể được truy cập từ các lớp trong cùng package.
C. Có thể được truy cập từ các lớp trong cùng package và lớp con nằm trong package khác.
D. Chỉ có thể truy cập từ các phương thức khác trong class đó.
-
Câu 23:
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 24:
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 25:
Đoạn mã sau có lỗi biên dịch nào sau?
class Student { protected String name; } public class Man extends Student { public static void main(String[] args) { Man m = new Man(); m.name = "John"; } }
A. name has protected access in Student.
B. Không có lỗi biên dịch
C. class Man has no attribute name.
D. class Man has no attribute or method name.
-
Câu 26:
Lệnh result = condition ? value1 : value2 có nghĩa gì?
A. Nếu condition là true thì result = value2, nếu condition là false thì result = value1
B. Nếu condition là true thì result = value1, nếu condition là false thì result = value2
C. Không có lệnh này
D. Nếu condition là true thì result sẽ đảo giá trị của value1 và value2
-
Câu 27:
Java source code được trình biên dịch java biên dịch thành:
A. Bytecode
B. Executable code
C. Machine code
D. Tất cả đều sai
-
Câu 28:
Đọ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 29:
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 30:
Các thành phần RMI gồm:
A. Phương pháp Invoke trên đối tượng từ xa, tiến trình đó đang sở hữu đối tượng từ xa trình biên dịch idl
B. Phương pháp Invoke trên đối tượng từ xa, tiến trình đó đang sở hữu đối tượng từ xa, bộ đăng ký tên máy chủ mà các đối tượng liên quan với tên của chúng
C. Phương pháp Invoke trên đối tượng từ xa, trình biên dịch idl, tên máy chủ mà các đối tượng liên quan với tên của chúng
D. Phương pháp Invoke trên đối tượng từ xa, tình biên dịch idl, máy chủ mà các đối tượng liên quan với tên của chúng
-
Câu 31:
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 32:
Giá trị của x sau khi thực hiện lệnh trên sẽ cho kết quả gì?
Khi thực hiện lệnh:
A a = new A();
a.calTotal(a);
class A { int x = 10; public void calTotal(A a) { a.x = 12; System.out.println(a.x); } }
A. 10
B. 12
C. 22
D. 44
-
Câu 33:
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 34:
Đ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 35:
Biểu thức nào có giá trị khác các biểu thức còn lại trong các biểu thức sau?
Cho x=true thuộc kiểu boolean.
A. true
B. x==true;
C. 1==1
D. !x
-
Câu 36:
Phạm vi truy cập của một đối tượng khi được khai báo public là gì?
A. Có thể được truy cập từ bất kỳ vị trí nào trong chương trình.
B. Có thể được truy cập từ các lớp trong cùng package.
C. Có thể được truy cập từ các lớp trong cùng package và lớp con nằm trong package khác.
D. Chỉ có thể truy cập từ các phương thức khác trong class đó.
-
Câu 37:
Trong JavaScript sự kiện Onclick xảy ra khi nào?
A. Khi một đối tượng trong form nhận focus
B. Khi một đối tượng trong form mất 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 38:
Trong đoạn mã trên x nhận giá trị bao nhiêu?
StringBuffer s = new StringBuffer("hello how are you how?"); int x = s.indexOf("ow"); System.out.println(x);
A. 7
B. 6
C. 5
D. Lỗi biên dịch
-
Câu 39:
Câu nào sau đây là đúng?
A. float f=1.3
B. char c=*a*
C. byte b= 257
D. int = 10
-
Câu 40:
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 41:
Trong hai câu lệnh sau, lệnh substring có tác dụng gì?
String greetings = “ Hello “; String s = greetings.substring(0,3);
A. Lấy các ký tự từ vị trí chỉ mục 0 đến vị trí chỉ mục 2 của chuỗi greetings và đưa vào s
B. Thay đổi 3 ký tự đầu tiên của chuỗi greetings
C. Sao chép chuỗi greetings vào chuỗi s
D. Cắt các ký tự từ vị trí chỉ mục 0 đến chỉ mục 3 và đưa vào s
-
Câu 42:
Đâ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 43:
Phương thức next() của lớp Scanner dùng để làm gì?
A. Nhập một số nguyên
B. Nhập một ký tự
C. Nhập một chuỗi
D. Không có phương thức này
-
Câu 44:
Trong đoạn mã trên x nhận giá trị bao nhiêu?
StringBuffer s = new StringBuffer("hello how are you?"); int x = s.charAt(6); System.out.println(x);
A. 102
B. 104
C. h
D. Lỗi biên dịch
-
Câu 45:
Điều nào sau đây không phải của cấu trúc RMI?
A. Stub and Skeleton
B. Remote Reference
C. Transport Protocol
D. None of the above
-
Câu 46:
Java hỗ trợ RMI, RMI là gì?
A. Random Memory Interface
B. Remote Method Invocation
C. Random Method Invocation
D. Remote Memory Interface
-
Câu 47:
Đọ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 48:
Chương trình trên sai ở dòng nào?
class BreakDemo { public static void main(String[] args) { int[] arrayOfInts = { 32, 87, 3, 589, 12, 1076, 2000, 8, 622, 127 }; int searchFor = 12; int i; boolean fountIt = false; for (i = 0; i < arrayOfInts.length; i++) { if (arrayOfInts[i] == searchFor) { fountIt = true; break; } } if (fountIt) { System.out.println(“Found“ + searchFor + “at index“ + i); } else System.out.println(searchFor + “not in the array”); } }
A. 2 và 6
B. 3 và 11, 15
C. 5, 7, 9
D. Chương trình không sai
-
Câu 49:
Kết quả in ra của đoạn mã bên dưới là gì? Chọn một câu trả lời
public class Test { public static int switchIt(int x) { int j = 1; switch (x) { case 1: j++; case 2: j++; case 3: j++; case 4: j++; default: j++; } return j + x; } public static void main(String[] args) { System.out.println("value = " + switchIt(4)); } }
A. value = 3
B. value = 4
C. value = 5
D. value = 7
-
Câu 50:
Trong ứng dụng RMI, để thực hiện triệu gọi ( invocations) đối tượng từ xa, ta sử dụng...
A. rmic B
B. rmiregistry
C. invocation
D. Naming
- 1
- 2
- 3
- 4
- Đề ngẫu nhiên
Phần