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:
Lệnh break kết hợp với vòng for dùng để?
A. Ngưng vòng for nếu gặp lệnh này
B. Không có ý nghĩa trong vòng lặp
C. Nhảy đến một tập lệnh khác
D. Không thể kết hợp được
-
Câu 2:
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 3:
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 4:
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 5:
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 6:
Đâ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 7:
Khối lệnh dưới sẽ cho kết quả là bao nhiêu nếu ta nhập thu = 3?
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 8:
Hãy cho biết kết quả khi chạy đoạn chương trình sau?
class Student { public int getAge() { return 10; } } public class Man extends Student { public int getAge(int added) { return super.getAge() + added; } public static void main(String[] args) { Man s = new Man(); System.out.println(s.getAge()); System.out.println(s.getAge()); } }
A. 10 11
B. 10 10
C. 11 11
D. Không in gì và báo lỗi
-
Câu 9:
Để đối tượng Remote Server tạo ra một Java RMI Registry , ta cần sử dụng phương thức của lớp nào sau đây?
A. Socket
B. ServerSocket
C. LocalRegistry
D. Registry
-
Câu 10:
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 11:
Phạm vi truy cập của một đối tượng khi được khai bao protected 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 12:
Chọn vòng lặp đúng cú pháp?
A. Int I =2 ; While int I <7 { I ++; System.out.println(“ I la”+i); }
B. Int I =3; While { System.out.println(“ I la”+i); }
C. Int j = 3; for (int k =0; j+k != 10 , j++,k++); System.out.println(“j is”+j+ “k is” +k); }
D. Int j =0; Do { System.out.println(“j is”+ j ++); If(j==3) continue; } while(j<10)
-
Câu 13:
Muốn chạy được chương trình java, chỉ cần cài phần mền nào sau đây?
A. Netbeans
B. Eclipse
C. JDK
D. Java Platform
-
Câu 14:
Muốn lấy mã của môt nước(country code) theo chuẩn ISO-3166 của một locate thì ta dùng phương thức nào sau đây?
A. String getLanguage()
B. String getDisplayLanguge()
C. String getDisplayLanguge(Locate loc)
D. Không có phương thức nào
-
Câu 15:
Có bao nhiêu kiểu dữ liệu cơ sở trong Java?
A. 7
B. 8
C. 9
D. 5
-
Câu 16:
Để quy định kết nối theo TCP hay UDP ta sử dụng câu lệnh nào sau đây để tạo một Socket?
A. public Socket(String host,int port)
B. public Socket(InetAddress address,int port)
C. public Socket(String host,int port,boolean stream)
D. Tất cả đều sai
-
Câu 17:
Khối lệnh sau có kết quả bao nhiêu khi thực hiện?
char[] greet = new char[10]; greet = “Hello”; k = greet.length(); System.out.print(k);
A. 4
B. 5
C. 6
D. Lỗi biên dịch
-
Câu 18:
Khai báo lớp Student trong package java.class sau có lỗi biên dịch hay không, nếu có thì là lỗi gì?
package java.class;
class Student {}
Chọn một câu trả lời
A. Có lỗi biên dịch incorrect package
B. Có lỗi biên dịch vì Student is empty
C. Không có lỗi biên dịch
D. Có lỗi biên dịch package must be java
-
Câu 19:
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 20:
Đ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 21:
Đối tượng trong phần mềm là gì?
A. Là một bó phần mềm gồm các hành vi và trạng thái có liên quan với nhau.
B. Là vật thể xác định của thế giới thực.
C. Là vật thể gồm hành vi và trạng thái.
D. Là các đối tượng được biểu diễn trong phần mềm gồm có 2 thuộc tính trường dữ liệu và các cách xử lý dữ liệu.
-
Câu 22:
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 23:
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 24:
Đâ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 25:
Giá trị cuối cùng của i tại dòng 7 là bao nhiêu?
public class Test { public static void main(string args[]) { int i = 0; while (true) { if (i == 4) break; ++i; System.out.println(i); } } }
A. 0
B. Lỗi biên dịch
C. 4
D. 5
-
Câu 26:
Đ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 27:
Lệnh charAt(n) có tác dụng gì?
A. Tìm kiếm ký tự thứ n
B. Trả về ký tự thứ n-1
C. Trả về ký tự thứ n
D. Trả về ký tự có vị trí chỉ mục n
-
Câu 28:
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 29:
Chọn phát biểu đúng:
A. Thể hiện của TextField có thể phát sinh ActionEvent
B. Thể hiện của TextArea có thể phát sinh ActionEvent
C. Thể hiện của Button có thể phát sinh ActionEvent
D. A&C đúng
-
Câu 30:
Đâu là một khai báo lớp kế thừa từ hai giao điện đúng?
Chọn một câu trả lời
A. interface Summable {} interface Eatable {} class Math implements Summable;Eatable{}
B. interface Summable {} interface Eatable {} class Math implements Summable and Eatable{}
C. interface Summable {} interface Eatable {} class Math: Summable,Eatable{}
D. interface Summable {} interface Eatable {} class Math implements Summable,Eatable{}
-
Câu 31:
Trong JavaScript hàm parseInt() dùng để làm gì?
A. Chuyển một chuỗi thành số
B. Chuyển một chuỗi thành số thực
C. Chuyển một số nguyên thành một chuỗi
D. Chuyển một chuỗi thành số nguyên
-
Câu 32:
Muốn lấy tên của một locate được chỉ định 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 33:
Đoạn lệnh nào sẽ đưa ra lỗi biên dịch?
Chọn một câu trả lời
A. class A { public A(int x) {} }
B. class A {} class B extends A { B() {}}
C. Class A { A() {}} class B { public B() {} }
D. class Z { public Z(int) {} } class A extends Z { }
-
Câu 34:
Chương trình sẽ in ra kết quả gì khi thực thi đoạn mã sau?
package pac02; public class ClassA { protected 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.7
B. Lỗi biên dịch dòng 2.5
C. Lỗi biên dịch dòng 2.5, 2.7
D. a.xA = 12; a.yA = Hello
-
Câu 35:
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 36:
Lớp DatagramSocket dùng để?
A. Chuyển đi một gói dữ liệu theo giao thức UDP
B. Chứa dữ liệu để gửi đi trên mạng
C. Định vị địa chỉ tài nguyên trên mạng
D. Tất cả A,B,C đều sai
-
Câu 37:
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 38:
Khai báo lớp nào dưới đây là đúng?
A. public class default {}
B. protected inner class engine {}
C. final class outer {}
D. Tất cả đều sai.
-
Câu 39:
Đ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 40:
Biến dữ liệu là các biến dạng nào sau đây?
A. Biến lớp và Tham số
B. Biến cục bộ và Tham số
C. Biến cục bộ và biến lớp
D. Các đáp án đều sai.
-
Câu 41:
Lệnh sau trả về kết quả là bao nhiêu?
String greetings = “Hello”; char letter = greetings.charAt(0);
A. H
B. e
C. I
D. o
-
Câu 42:
Khối lệnh dưới sẽ cho kết quả là bao nhiêu nếu ta nhập thu = 2?
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 43:
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 44:
Phương thức nào dùng để tìm kiếm một chuỗi trong một chuỗi khác trong class
String của Java?
A. lastIndexOf()
B. substring()
C. toString()
D. Không có đáp án đúng
-
Câu 45:
Hàm tạo được sử dụng để hủy đối tượng
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 46:
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 47:
Đoạn mã sau in ra màn hình xâu ký tự nào sau:
class Student { public String sayHello() { return "Student"; } } public class Man extends Student { public String sayHello() { return super.sayHello(); } public static void main(String[] args) { Student m = new Student(); System.out.println(m.sayHello()); } }
A. Student
B. Man
C. Student Man
D. Man Student
-
Câu 48:
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 49:
Đâu là một khai báo interface đúng?
Chọn một câu trả lời
A. public interface MyInterface {}
B. public interface MyInterface { default int x; }
C. public interface MyInterface { protected int sum(int x, int y); }
D. public interface MyInterface { private int sum(int x, int y); }
-
Câu 50:
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
- 1
- 2
- 3
- 4
- Đề ngẫu nhiên
Phần