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:
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 2:
Đâ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 3:
Đối tượng nào là đối tượng Component:
A. Button
B. Panel
C. Frame
D. Dialog
-
Câu 4:
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 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:
Lớp nào không thuộc gói java.net?
A. SocketOption
B. SocketAddress
C. SocketImpl
D. DatagramPacket
-
Câu 7:
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
-
Câu 8:
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 9:
Hàm prompt(…) trong JavaScript dùng để làm gì?
A. Hiển thị thông báo nhập thông tin
B. Hiển thị một thông báo Yes, No
C. Không phương án nào đúng
D. Cả hai dạng trên
-
Câu 10:
Chọn phát biểu đúng:
A. InputStream và OutputStream là 2 luồng dữ liệu kiểu byte
B. Reader và Writer là hai luồng dữ liệu kiểu Character
C. A&B đúng
D. Tất cả đều sai
-
Câu 11:
Đâ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 12:
Thẻ <input type=”Submit” dùng để làm gì?
A. Tạo một ô text để nhập dữ liệu
B. Tạo một nút lệnh dùng để gửi tin trong form đi
C. Tạo một nút lệnh dùng để xóa thông tin trong form
D. Tất cả các ý trên
-
Câu 13:
Phát biểu nào sau đây sai khi nói về “tuần tự hóa đối tượng”?
A. Các đối tượng đó cần cài đặt giao tiếp java.io.Serializable
B. Cung cấp khả năng lưu lại toàn bộ đối tượng xuống 1 tập tin
C. Có thể khôi phục lại trạng thái ban đầu của đối tượng đó bằng toán tử new
D. Có thể khôi phục cả các đối tượng con chứa trong đối tượng cần lưu
-
Câu 14:
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 [Không đúng]
-
Câu 15:
Câu lệnh nào sau đây ko xác đinh được đối tượng từ xa “obj” trên máy www.jguru.com(địa chỉ IP là 216.217.9.172), nơi đăng ký chuẩn RMI?
A. Naming lookup (“rmi://www.jguru.com/obj1”);
B. Naming lookup(“rmi ://216.217.9.172/obj1”);
C. Naming lookup(“rmi://www.jguru.com.1199/obj1”)
D. Naming lookup(“//www.jguru.com.1099/obj1”)
-
Câu 16:
Trong Javascript sự kiện OnMouseOver 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 một đối tượng trong form
D. Khi click chuột vào nút lệnh
-
Câu 17:
Để khởi tạo một đối tượng URL với giao thức http, host www.yahoo.com có post 80 , file index.html ta sử dụng đoạn mã nào?
A. Try{ URL url = new URL ( “www.yahoo.com”,80, “index.html”); }catch (MainformedURLException e)
B. Try{ URL url = new URL (“http”, “www.yahoo.com”,80, “index.html”); }catch (MainformedURLException e)
C. Try{ URL url = new URL (“http”, 80, “www.yahoo.com”, “index.html”); }catch (MainformedURLException e)
D. Try{ URL url = new URL (“http”, “www.yahoo.com”,80, “index.ht”); }catch (MainformedURLException e) System.out.prinln(“Exception”+ e);
-
Câu 18:
Phát biểu nào sau đây là ĐÚNG?
A. Hầu hết các ngôn ngữ lập trình (C,C++,Java,...) có khái niệm về các gọi thủ tục từ xa
B. Ngôn ngữ trình biên dịch sẽ tạo ra Stubs client và server
C. Phải sử dụng một trình biên dịch riêng biệt để phát sinh ra stubs
D. Để thực hiện gọi thủ tục từ xa cần có cơ chế phần cứng
-
Câu 19:
Phương thức getHostAddress() trong lớp InetAddress là phương thức?
A. Lấy về tên file của một URL
B. Mở một kết nối từ URL
C. Lấy về tên của một host từ URL
D. Lấy về địa chỉ IP của local host
-
Câu 20:
Biến f nào sau đây là biến đại diện?
A. float f;
B. public static f;
C. double CA(int f)
D. Không có giá trị đúng
-
Câu 21:
Hai câu lệnh sau ra kết quả s là bao nhiêu?
String greetings = “Hello” String s = greetings.substring(0,3);
A. Hell
B. Hel
C. Lệnh sai
D. Hello
-
Câu 22:
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 23:
Để kiểm tra 2 chuỗi có bằng nhau hay không, sử dụng phương thức nào?
A. string1== string2
B. string1 = string2
C. string1.equals(string2)
D. string1.equal(string2)
-
Câu 24:
Khối lệnh dưới sẽ cho kết quả là bao nhiêu nếu ta nhập thu = 1?
switch (thu) { case 2: System.out.println(“Van, Toan”); break; case 3: System.out.println(“Hoa, Ly”); break; default: System.out.println(“Ngay nghi”); break; }
A. Van, Toan
B. Hoa, Ly
C. Ngay nghi
D. Không có đáp án đúng
-
Câu 25:
Khi thực hiện lệnh:
A a = new A();
a.calTotal(a);
Giá trị của x sau khi thực hiện lệnh trên sẽ cho kết quả gì?
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. 24
-
Câu 26:
Có bao nhiêu cách viết chú thích trong Java?
A. 1
B. 2
C. 3
D. 4
-
Câu 27:
Có những cách nào viết code JavaScript để chạy trong trang web?
A. Cả hai dạng viết tệp riêng hoặc viết trong trang HTML
B. Viết chung với HTML
C. Viết trên một tệp riêng
D. Không thuộc dạng nào
-
Câu 28:
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 29:
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 30:
Awt (abstract windown toolkit)?
A. Không phụ thuộc vào Platform
B. Gồm các thành phần lightweght
C. Gồm các thành phần heavyweight
D. Gồm các thành phần có thể thay đồi viền
-
Câu 31:
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 32:
Cổng mặc định của bộ đăng kí từ xa rmiregistry:
A. 1099
B. 1098
C. 1025
D. 1024
-
Câu 33:
Thẻ <input type=”checkbox” …> 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 được nhiều đối tượng
C. Tạo một cùng có nhiều cột nhiều dòng
D. Tất cả ý trên
-
Câu 34:
Đoạn mã sau có lỗi biên dịch gì?
public class Person { private String name; private 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. \ge has private access.
D. name has public access.
-
Câu 35:
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 36:
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 37:
Phát biểu nào sau đây sai khi nói về factory object?
A. Cung cấp các đối tượng con cho máy khách
B. Có thể khởi tạo độc lập mà không cần khai báo với rmiregistry
C. Lắng nghe và đáp ứng các yêu cầu khởi tạo và tham chiếu các đối tượng con từ phía máy khách
D. Triệu gọi các đối tượng con theo yêu cầu.
-
Câu 38:
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 39:
Đâ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 40:
Chương trình sau in ra màn hình xâu nào? 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[2]); } }
A. Có lỗi biên dịch: use new keyword to create object
B. Peter
C. Anna
D. Victor
-
Câu 41:
Câu lệnh khai báo chuẩn cho cách main như thế nào?
A. public static void main(String[] a) {}
B. public static int main(String args) {}
C. public static main(String[] args) {}
D. public static final void main(String[] args) {}
-
Câu 42:
Trình nào cho phép ta chạy applet bên ngoài trình duyệt (browser)?
A. appletviewer
B. www
C. java
D. Tất cả đều đúng
-
Câu 43:
Đâ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 44:
Thẻ <Frameset rows > </frameset>
A. Dùng để chia trang web ra nhiều phần theo cột
B. Dùng để chia trang web ra nhiều phần theo dòng
C. Tất cả dạng trên
D. Không có ý nào ở trên
-
Câu 45:
Đ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 46:
Trong các kiểu giá trị số thực đặc biệt dưới đây, kiểu nào là đúng?
A. Dương vô cực
B. Âm vô cực
C. NaN
D. Cả 3 giá trị trên
-
Câu 47:
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 48:
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 49:
Đ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 50:
Câu nào sau đây là đúng?
A. float f=1.3
B. char c=*a*
C. byte b= 257
D. int = 10
- 1
- 2
- 3
- 4
- Đề ngẫu nhiên
Phần