200 Câu Hỏi Trắc Nghiệm Lập Trình Java Miễn Phí Có Đáp Án
Khám phá 200 câu hỏi trắc nghiệm Lập trình Java hoàn toàn miễn phí với đáp án chi tiết. Bộ đề thi này bao gồm các chủ đề quan trọng như cú pháp Java, lập trình hướng đối tượng, và xử lý ngoại lệ. Phù hợp cho sinh viên, lập trình viên mới, hoặc bất kỳ ai muốn củng cố kiến thức Java. Luyện tập dễ dàng, tiết kiệm thời gian, và cải thiện kỹ năng lập trình của bạn ngay hôm nay!
Từ khoá: Java Lập Trình Java Câu Hỏi Trắc Nghiệm Java Đáp Án Java Học Lập Trình Java Đề Thi Java Miễn Phí Lập Trình Hướng Đối Tượng Xử Lý Ngoại Lệ Java Trắc Nghiệm Java Cơ Bản Ôn Tập Java
Câu 1: 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
Câu 2: 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 4: Khi biên dịch gặp lỗi Exception in thread main java.lang.NoClassDefFoundError: myprogram. Lỗi này có nghĩa gì?
A. Đường dẫn chương trình sai.
D. Không có từ khóa public tại mở đầu khai báo class
Câu 5: Đố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 6: Khai báo lớp nào dưới đây là đúng?
A. public class default {}
B. protected inner class engine {}
Câu 7: Cách đặt tên nào sau đây là sai?
Câu 8: Một chương trình gồm 2 class sẽ có bao nhiêu cách main?
Câu 9: Một lớp trong Java có thể có bao nhiêu lớp cha?
Câu 10: Một lớp trong Java có bao nhiêu lớp con?
Câu 11: Để 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 {}
Câu 12: Chọn câu trả lời đúng nhất. Interface là gì?
A. Là lớp chứa các cách rỗng có liên quan với nhau.
B. Là một kiểu tham chiếu, tương tự như class, chỉ có thể chứa hằng giá trị, khai báo cách và kiểu lồng.
C. Là một cách thực hiện của lớp khác.
D. Là lớp nối giữa lớp cơ sở và lớp cha
Câu 13: Để sử dụng giao diện Xedap cho lớp Xedap1, ta làm thế nào?
A. class Xedap1 implement Xedap {}
B. public class Xedap1 implement Xedap {}
C. class Xedap1 implements Xedap {}
D. public class Xedap1 extends Xedap {}
Câu 14: Có bao nhiêu loại biến trong Java?
Câu 15: Trường dữ liệu là các biến dạng nào sau đây?
A. Biến thay mặt và Tham số
B. Biến thay mặt và biến lớp
C. Biến thay mặt và biến cục bộ
Câu 16: Biến dữ liệu là các biến dạng nào sau đây?
B. Biến cục bộ và Tham số
C. Biến cục bộ và biến lớp
Câu 17: Biến f nào sau đây là biến đại diện?
Câu 18: Khai báo nào sau đây là khai báo biến lớp?
C. volatile int sleepTime
Câu 19: Cách đặt tên nào sau đây là không chính xác?
Câu 20: Có bao nhiêu kiểu dữ liệu cơ sở trong Java?
Câu 21: Có bao nhiêu kiểu số nguyên trong Java?
Câu 22: : Có bao nhiêu kiểu dữ liệu ký tự cơ sở trong Java?
Câu 23: A. Mọi cách thực hiện tác vụ sau khi khởi tạo phải chèn lên cách start. start() bắt đầu việc thực thi của applet.
B. Là cách bắt đầu của applet và chạy song song với applet.
C. cách khởi tạo của applet và chạy song song với applet.
Câu 24: Khối lệnh sau có kết quả bao nhiêu?
String greeting = “Hello”;
int k = greeting.length();
System.out.print(k);
Câu 25: Đ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 26: Đoạn mã sau có lỗi biên dịch gì?
class Person {
protected String name;
public int age;
};
public class Main {
public static void main(String[] args) {
Person p = new Person();
p.name = "Tom";
}
}
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 27: 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 28: 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
Câu 29: 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);
Câu 30: Đ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 31: Đ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 32: Đoạn mã sau có lỗi biên dịch nào?
class Student {
public int getAge() {
return 10;
}
}
public class Man extends Student {
protected int getAge(int added) {
return super.getAge() + added;
}
}
A. Không có lỗi biên dịch.
B. Có lỗi biên dịch: getAge() has in Man can not have weaker same access modifier than in Student.
C. Có lỗi biên dịch:call to super, must be the first in constructor in class Man.
D. Có lỗi biên dịch: getAge() in Student and Man can not have the same access arguments.
Câu 33: 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 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 {
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 35: Lệnh str.charat(n) có tác dụng gì?
A. Lấy ký tự bất kỳ trong chuỗi st
C. Lấy ký tự có số chỉ mục n trong chuỗi k
Câu 36: 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);
Câu 37: Trong các kiểu giá trị số thực đặc biệt dưới đây, kiểu nào là đúng?
Câu 38: Trong Java, kiểu char biểu diễn bộ mã code nào dưới đây?
Câu 39: Giá trị mặc định của một biến kiểu char là?
Câu 40: Hai câu lệnh sau ra kết quả s là bao nhiêu?
String greetings = “Hello”;
String s = greetings.substring(0,3);
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: 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 43: 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.
Câu 44: 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 45: 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 46: 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;
}
Câu 47: 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;
}
Câu 48: 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;
}
Câu 49: Nếu cho color = DEN thì đoạn lệnh dưới in kết quả là bao nhiêu?
enum mausac { DEN,
LAM,
LUC,
TRANG
};mausac color;
char * t;
switch (color) {
case 0:
t = “Mau trang”;
break;
case 1:
t = “Mau den”;
break;
case 2:
t = “Mau lam”;
break;
case 3:
t = “Mau luc”;
break;
default:
t = “Khong co trong danh sach mau”;
break;
}
System.out.println(t);
D. Khong co trong danh sach mau.
Câu 50: Đâu KHÔNG phải là thành phần trong cấu trúc của lớp trong java.