Java (đọc như Giava) là một ngôn ngữ lập trình dạng lập trình hướng đối tượng (OOP). Khác với phần lớn ngôn ngữ lập trình thông thường, thay vì biên dịch mã nguồn thành mã máy hoặc thông dịch mã nguồn khi chạy, Java được thiết kế để biên dịch mã nguồn thành bytecode, bytecode sau đó sẽ được môi trường thực thi (runtime environment) chạy. Hy vọng TẬP CÂU HỎI TRẮC NGHIỆM VÀ ĐÁP ÁN MÔN JAVA CƠ SỞ FULL 250 giúp bạn tự tin ôn thi và đạt kết quả cao
Trang 1BỘ CÂU HỎI THI MÔN: JAVA CƠ SỞ
Câu 1: File chứa mã nguồn java sau khi được biên dịch có đuôi là gì?
Câu 3: Java Virtual Machine là gì?
a Là một thành phần của Java platform dùng để đọc mã bytecode trong file class
b Là chương trình biên dịch của java dùng để biên dịch file nguồn java thành mã
a Thư viện mã nguồn của Java
b Là thư viện chứa các thành phần phần mềm tạo sẵn cung cấp các chức năng cho
Trang 2c Bộ công cụ giao diện người dùng
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
Đáp án: c
Câu 9: Câu lệnh khai báo chuẩn cho phương thức 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 Không khai báo class
d Không có từ khóa public tại mở đầu khai báo class
Đáp án: a
Câu 12: Đố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
Trang 3d 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 phương thức xử lý dữ liệu
Đáp án: d
Câu 13: 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 {}
Câu 18: Để 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
Đáp án: c
Trang 4Câu 19: Chọn câu trả lời đúng nhất Interface là gì?
a Là lớp chứa các phương thức 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 phương thức và kiểu lồng
c Là một phương thức 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
Đáp án: b
Câu 20: Để 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 22: Trường dữ liệu là các biến dạng nào sau đây?
a Biến đại diện và Tham số
b Biến đại diện và biến lớp
c Biến đại diện và biến cục bộ
Trang 5a final double d;
b private static id;
c volatile int sleepTime
Câu 30: Khái niệm phương thức start()?
a Mọi phương thức thực hiện tác vụ sau khi khởi tạo phải chèn lên phương thức start start() bắt đầu việc thực thi của applet
b Là phương thức bắt đầu của applet và chạy song song với applet
c Phương thức khởi tạo của applet và chạy song song với applet
d Tất cả đều sai
Đáp án: a
Câu 31: Khối lệnh sau có kết quả bao nhiêu?
String greeting = “Hello”;
int k = greeting.length();
Trang 6a Lấy ký tự bất kỳ trong chuỗi str
b Lấy độ dài chuỗi str
c Lấy ký tự có số chỉ mục n trong chuỗi k
d Không có lệnh này
Đáp án: d
Câu 33: Khối lệnh sau có kết quả bao nhiêu khi thực hiện?
char[] greet = new char[10];
Trang 7Câu 37: Hai câu lệnh sau ra kết quả s là bao nhiêu
String greetings = “Hello”;
Câu 38: Hai câu lệnh sau ra kết quả s là bao nhiêu
String greetings = “Hello”
Câu 39: 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
Đáp án: a
Câu 40: 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
Trang 8b Có thể truy cập đối tượng từ các lớp trong cùng package và lớp con nằm trong package khác
c Có thể truy cập đối tượng từ các phương thức khác trong lớp đó
d Có thể truy cập đối tượng từ bất kỳ vị trí nào của chương trình
Đáp án: a
Câu 43: 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 đó
Đáp án: d
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 đó
Đáp án: c
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 đó
Trang 9Câu 49: Cho khối lệnh như sau:
enum mausac { DEN, LAM, LUC, TRANG };
mausac color;
Trang 10Câu 50: Cho khối lệnh như sau:
enum mausac { DEN = 3, LAM, LUC, TRANG };
Trang 11Câu 52: Cho khối lệnh như sau:
int[] mang = new int[10];
Khối lệnh thực hiện chuyện gì?
a Nhập dữ liệu cho mang nguyên
b Tính tổng mảng nguyên
c Nhập dữ liệu và tính tổng mảng nguyên
d Tất cả đều sai
Đáp án: c
Câu 53: Cho khối lệnh như sau:
int[] mang = new int[10];
Trang 12Câu 54: Cho khối lệnh sau:
int[] mang = new int[10];
Trang 13boolean fountIt = false;
for ( i = 0; i < arrayOfInts.length; i++) {
if (arrayOfInts[i] == searchFor) {
fountIt = true;
break;
}
Trang 146 boolean fountIt = false;
7 for ( i = 0; i < arrayOfInts.length; i++) {
Trang 15for ( i = 0; i < arrayOfInts.length; i++) {
public static void main(String[] args) {
String searchMe = “peter piper picked a peck of pickled peppers”;
int max = searchMe.length();
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
Đáp án: a
Câu 63: Chương trình sau ra kết quả là gi?
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')
Trang 16a Found 9 p's in the string.
b Found 8 p's in the string
c Found 10 p's in the string
d Không có đáp án đúng
Đáp án: a
Câu 64: Chương trình sau ra kết quả là gi?
class ContinueDemo {
public static void main(String[] args) {
String searchMe = “peter piper picked a peck of pickled pepers”;
int max = searchMe.length();
a Found 9 p's in the string
b Found 8 p's in the string
c Found 10 p's in the string
Trang 17Câu 68: Chức năng của vòng lặp while là gi?
a Kiểm tra kết quả của biểu thức boolean
b Tránh mâu thuẫn giữa bên trong và bên ngoài switch
c Lặp lại khối lệnh chứng nào điều kiện là đúng
d Không có đáp án đúng
Đáp án: c
Câu 69: Java cung cấp một số câu lệnh làm thay đổi dòng điều khiển dựa trên các điều kiện Lệnh nào dừng việc hoạt động của vòng lòng trong cùng và bắt đầu câu lệnh tiếp theo ngay sau khối lệnh?
Câu 70: 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
Trang 18d Cả 3 cách khai báo đều đúng.
Đáp án: d
Câu 73: Cho khối lệnh như sau:
String[] students = new String[10];
String studentName = “Peter Parker”;
Câu 74: Cho khối lệnh như sau:
public class SomeWrong {
public static void main(String[] args) {
c Không có từ khóa static
d Chương trình không sai
Câu 76: Lệnh if CONDITION { Khối lệnh } có tác dụng gì?
a Nếu CONDITION đúng thì thực hiện Khối lệnh, nếu sai thì bỏ qua
b Nếu CONDITION sai thì thực hiện Khối lệnh, nếu đúng thì bỏ qua
c Tất cả đều sai
d Không có đáp án đúng
Trang 19Đáp án: a
Câu 77: Lệnh if CONDITION {Khối lệnh 1} else {Khối lệnh 2} có tác dụng gì?
a nếu CONDITION đúng thì thực hiện Khối lệnh 1, nếu sai thì thực hiện Khối lệnh 2
b nếu CONDITION sai thì thực hiện Khối lệnh 1, nếu đúng thì thực hiện Khối lệnh 2
c Nếu CONDITION sai thì thực hiện Khối lệnh 1, nếu đúng thì bỏ qua
d Nếu CONDITION đúng thì thực hiện Khối lệnh 2, nếu sai thì bỏ qua
Đáp án: a
Câu 78: Biến message sau đây có kết quả là:
String expletive = “Expletive”;
Câu 82: Lệnh sau trả về kết quả là bao nhiêu?
String greetings = “Hello”;
char letter = greetings.charAt(0);
Trang 20if (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
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
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
Trang 21if (b != 0) System.out.println(“Phuong trinh vo nghiem”);
else System.out.println(“Phuong trinh co vo so nghiem”);
if (delta < 0) System.out.println(“Phuong trinh vo nghiem”);
else if (delta == 0) System.out.println(“Phuong trinh co mot nghiem kep”);
else System.out.println(“Phuong trinh co hai nghiem phan biet”);
a Phuong trinh vo nghiem
b Phuong trinh co mot nghiem kep
c Phuong trinh co hai nghiem phan biet
if (delta < 0) System.out.println(“Phuong trinh vo nghiem”);
else if (delta == 0) System.out.println(“Phuong trinh co mot nghiem kep”);
else System.out.println(“Phuong trinh co hai nghiem phan biet”);
a Phuong trinh vo nghiem
b Phuong trinh co mot nghiem kep
c Phuong trinh co hai nghiem phan biet
if (delta < 0) System.out.println(“Phuong trinh vo nghiem”);
else if (delta == 0) System.out.println(“Phuong trinh co mot nghiem kep”);
else System.out.println(“Phuong trinh co hai nghiem phan biet”);
a Phuong trinh vo nghiem
b Phuong trinh co mot nghiem kep
c Phuong trinh co hai nghiem phan biet
d Lỗi biên dịch
Đáp án: b
Trang 22Câu 90: Lệnh sau in ra kết quả là bao nhiêu:
Câu 92: Chọn định dạng hiển thị khi thực hiện câu lệnh sau:
System.out.printf(“%tc”, new Date());
Câu 93: Chọn định dạng hiển thị khi thực hiện câu lệnh sau:
System.out.printf(“%1$s %2$tB %2$te, %2$tY”, “Due date:", new Date());
Trang 23Đáp án: c
Câu 96: Khai báo nào sau đây là đúng
1 char[] str;
2 char[] str = new char[15];
char[] str = new ['A', 'B'];
Câu 97: Định nghĩa interface nào sau đây là không hợp lệ?
a public interface inout {}
b protected interface inout { int i = 12;}
c interface inout { public final int MAX_INDEX = 100;}
d interface input { public void indl();}
Trang 24Câu 104: Cho khối lệnh sau:
for (int i = 0; i <= 10; i++) {
Trang 25Câu 107: Cho khối lệnh sau:
for (int i = 0; i <= 10; i++) {
Câu 108: Cho khối lệnh sau:
for (int i = 0; i <= 10; i++) {
Câu 109: Cho khối lệnh sau:
for (int i = 1; i < 10; i++) {
Trang 26Câu 110: Cho chương trình tên message.class:
public static void main(String[] args) {
Câu 111: Cho chương trình tên message.class:
public static void main(String[] args) {
Câu 112: Cho chương trình tên message.class:
public static void main(String[] args) {
Trang 27d -g cruel world
Đáp án: c
Câu 113: Cho chương trình tên message.class:
public static void main(String[] args) {
Câu 114: Cho chương trình tên message.class:
public static void main(String[] args) {
c Goodbye, cruel world
d Goodbye cruel world
Đáp án: c
Câu 115: Cho chương trình tên message.class:
public static void main(String[] args) {
c Goodbye, cruel world
d Chương trình báo lỗi
Đáp án: d
Câu 116: Cho class như sau:
class KiemTra {
Trang 28private int i;
private int nextId;
public void setId() {
private int nextId;
public void setId() {
private static int nextId;
public void setId() {
Trang 29private static int nextId = 1;
public void setId() {
Câu 120: Cho class như sau:
1: public interface Comparable {
2: int compareTo(Object other);
3: }
4: class Employee implements Comparable {
5: public int compareTo(Object other) {
6: Employee other = (Employee) otherObject;
Câu 121: Cho class như sau:
1: public interface Comparable {
2: int compareTo(Object other);
3: }
4: class Employee implement Comparable {
5: int compareTo(Object other) {
6: Employee other = (Employee) otherObject;
7: return 0;
Trang 30Câu 122: Cho class như sau:
1: public interface Comparable {
2: int compareTo(Object other);
3: }
4: class Employee implements Comparable {
5: public int compareTo(Object other) {
Câu 123: Cho class như sau:
1: public interface Comparable<Employee> {
2: int compareTo(Employee other);
3: }
4: class Employee implements Comparable {
5: public int compareTo(Employee other) {
Câu 124: Cho class như sau:
1: public interface Comparable<Employee> {
2: int compareTo(Employee other);
Trang 313: }
4: class Employee implements Comparable {
5: public int compareTo(Object other) {
Câu 125: Cho class như sau:
1: public interface Comparable<Employee> {
2: int compareTo(Employee other);
Câu 126: Cho class như sau:
1: public interface Comparable<Employee> {
2: int compareTo(Employee other);
Trang 32class Employee {
private double luong = 0;
public Employee (double d) {
public static void main(String[] args) {
Employee original = new Employee(50000);
Employee copy = original;
private double luong = 0;
public Employee (double d) {
public static void main(String[] args) {
Employee original = new Employee(50000);
Employee copy = original;
Trang 33private double luong = 0;
public void tangLuong() {
luong = s;
}
public static void main(String[] args) {
Employee original = new Employee(“John Public”,50000);
Employee copy = original;
Trang 34Câu 134: Cho biết kết quả khi thi hành đoạn chương trình sau:
1:public class Short {
2:public static void main(String[] args){
b Lỗi biên dịch tại dòng 4 và 5
c Lỗi biên dịch tại dòng 1
d Thông báo NullPointerException
Đáp án: a
Câu 135: Cho biết kết quả khi thi hành đoạn chương trình sau:
1:public class Short
2:public static void main(String[] args){
Trang 35a Value is Hello
b Lỗi biên dịch tại dòng 4 và 5
c Lỗi biên dịch tại dòng 1
d Thông báo NullPointerException
Trang 37Câu 143: Khi chạy đoạn chương trình sau cho kết quả bằng bao nhiêu?
public class JavaAppClass {
public static int sum() {
Câu 144: Khi chạy đoạn chương trình sau cho kết quả bằng bao nhiêu?
public class StatInit {
static int x = 6,y;
Trang 38Đáp án: b
Câu 145: Khi chạy đoạn chương trình sau cho kết quả bằng bao nhiêu?
public class StatInit {
static int x = 6,y;
Câu 146: Ưu điểm của nested class là gì?
a Cho phép nhóm logic các class
a Một package không thể có package con
b package có thể có 2 thành viên trùng tên
c Tên của package phải viết chữ thường
d Nếu một class hoặc interface được nhóm trong package, khi tham chiếu chúng, không cần phải sử dụng tên đầy đủ hợp lệ của chúng
public class Accountant {
public static void main(String[] args) {
System.out.print(new Employee().id);
}
}