300 Câu hỏi trắc nghiệm lập trình Java có đáp án - Phần 1
Đề thi

300 Câu hỏi trắc nghiệm lập trình Java có đáp án - Phần 1

A
Admin
IT TestTrắc nghiệm tổng hợp99 lượt thi
50 câu hỏi
1. Trắc nghiệm
1 điểm

Đâu là câu SAI về ngôn ngữ Java?

Ngôn ngữ Java có phân biệt chữ hoa – chữ thường

Java là ngôn ngữ lập trình hướng đối tượng

Dấu chấm phẩy được sử dụng để kết thúc lệnh trong java

Chương trình viết bằng Java chỉ có thể chạy trên hệ điều hành win

Xem đáp án

Đáp án đúng là D .Vì: Chương trình viết bằng java có thể chạy trên nhiều hệ điều hành khác nhau.

2. Trắc nghiệm
1 điểm

Đâu không phải là một kiểu dữ liệu nguyên thủy trong Java?

double

int

long

long float

Xem đáp án

Chọn đáp án D .Vì: double, int, long ở các là các kiểu dữ liệu nguyên thủy trong Java. Trong Java không có kiểu dữ liệu dẫn xuất long float.

3. Trắc nghiệm
1 điểm

Trong câu lệnh sau: public static void main(String[] agrs) thì phần tử agrs[0] chứa giá trị gì?

Tên của chương trình

Số lượng tham số

Tham số đầu tiên của danh sách tham số

Không câu nào đúng

Xem đáp án

Chọn đáp án C . Vì: + Trong khai báo đối số của hàm main() thì agrs là một mảng xâu kí tự, đồng thời hàm main có thể nhận nhiều đối số => agrs[0] là đối số đầu tiên trong danh sách đối số của hàm main()

4. Trắc nghiệm
1 điểm

Phương thức next() của lớp Scanner dùng để làm gì?

Nhập một số nguyên

Nhập một ký tự

Nhập một chuỗi

Không có phương thức này

Xem đáp án

Chọn đáp án C.Vì: Phương thức next() của lớp Scanner sử dụng để nhập một chuỗi ký tự bao gồm cả khoảng trắng.

5. Trắc nghiệm
1 điểm

Muốn chạy được chương trình java, chỉ cần cài phần mền nào sau đây?

Netbeans

Eclipse

JDK

Java Platform

Xem đáp án

Chọn đáp án D. Vì: Netbeans hoặc Eclipse là môi trường lập trình, chứ không phải để chạy 0ứng dụng Java. JDK ở đáp án C là để phát triển ứng dụng Java. Java Platform là vừa đủ để chạy ứng dụng Java.

6. Trắc nghiệm
1 điểm

Gói nào trong java chứa lớp Scanner dùng để nhập dữ liệu từ bàn phím?

java.net

java.io

java.util

java.awt

Xem đáp án

Chọn đáp án C. Vì: Theo cấu trúc của gói java.util

7. Trắc nghiệm
1 điểm

Phương thức nextLine() thuộc lớp nào ?

String

Scanner

Integer

System

Xem đáp án

Chọn đáp án B

8. Trắc nghiệm
1 điểm

Tên đầu tiên của Java là gì?

Java

Oak

Cafe

James golings

Xem đáp án

Chọn đáp án B.Vì: Theo lịch sử ngôn ngữ java tên đầu tiên của java là oak.

9. Trắc nghiệm
1 điểm

G/s đã định nghĩa lớp XX với một phương thức thông thường là Display, sau đó sinh ra đối tượng objX từ lớp XX. Để gọi phương thức Display ta sử dụng cú pháp nào?

XX.Display;

XX.Display();

objX.Display();

Display();

Xem đáp án

Chọn đáp án C .Vì: Để truy xuất và phương thức của đối tượng ta sử dụng cú pháp: tendoituong.tenphuongthuc();

10. Trắc nghiệm
1 điểm

Đâu KHÔNG phải là thành phần trong cấu trúc của lớp trong java.

Tên lớp

Thuộc tính

Phương thức

Biến

Xem đáp án

Chọn đáp án D.Vì Thành phần trong cấu trúc của lớp trong java bao gồm tên lớp, thuộc tính, phương thức

11. Trắc nghiệm
1 điểm

Hàm tạo được sử dụng để hủy đối tượng

Cả hai câu đều đúng

Cả hai câu đều sai

Câu 1 đúng, câu 2 sai

Câu 2 đúng, câu 1 sai

Xem đáp án

Chọn đáp án C .Vì: Trong java toán tử new được sử dụng kết hợp với hàm tạo để sinh ra đối tượng

12. Trắc nghiệm
1 điểm

Đọ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);
}
}

x=-1 y=2

Lỗi biên dịch: Uncompilable source code - incompatible types

x=-1 y=-13

x=-1 y=4

Xem đáp án

Chọn đáp án B .Vì: y là chuỗi, x là số không thể thực hiện cộng chuỗi và số.

13. Trắc nghiệm
1 điểm

Đối tượng là gì?

Các lớp được tạo thể hiện từ đó

Một thể hiện của lớp

Một tham chiếu đến một thuộc tính

Một biến

Xem đáp án

Chọn đáp án B .Vì: Lớp là một tập tất cả các đối tượng có cùng thuộc tính và hành vi. Vậy nói ngược lại đối tượng chính là một thể hiện cụ  thể của lớp

14. Trắc nghiệm
1 điểm

Đâu là khai báo biến đúng trong java?
(1) rollNumber
(2) $rearly_salary
(3) double
(4) $$_
(5) mount#balance

12345

123

124

125

Xem đáp án

Chọn đáp án C

15. Trắc nghiệm
1 điểm

Đọ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);

i = 6 and j = 5

i = 5 and j = 5

i = 6 and j = 4

i = 5 and j = 6

Xem đáp án

Chọn đáp án D.Vì:

+ Vòng lặp kiểm tra nếu i>j sẽ kết thúc vòng lặp
+ Mỗi bước lặp i tăng 1 và j giảm 1
+ Điều kiện kết thúc vòng lặp là i >=5

16. Trắc nghiệm
1 điểm

Với giá trị nào của x, biểu thức sau trả về giá trị true(x thuộc kiểu int). x%3==0

2

7

4

9

Xem đáp án

Chọn đáp án D. Vì x%3 trả về giá trị là 0 khi x là bội của 3. Trong các đáp án, chỉ có đáp án D có gia trị là bội của 3.

17. Trắc nghiệm
1 điểm

Lựa chọn đáp án phù hợp:
(a) byte       (1) 256
(b) char       (2) 5000
(c)int           (3) 4899.99
(d) short      (4)126
(e) double    (5) 'F'

a-4, b-5, c-2, d-1, e-3

a-1, b-2, c-2, d-1, e-3

a-1, b-5, c-4, d-4, e-3

a-5, b-4, c-1, d-2, e-3

Xem đáp án

Chọn đáp án A .Vì: byte: 126, char:'F', int:5000, short: 256, double:4899.99

18. Trắc nghiệm
1 điểm

Kiểu dữ liệu nào trong Java chứa giá trị bao gồm cả chữ và số?

int

byte

char

String

Xem đáp án

Chọn đáp án D.Vì: Kiểu dữ liệu String chứa giá trị bao gồm cả chữ và số.

19. Trắc nghiệm
1 điểm

Kết quả in ra của đoạn mã trên là gì?
int i = 0;
do {
flag = false;
System.out.print(i++);
flag = i < 10;
continue;
} while (( flag ) ? true: false);

000000000

0123456789

Lỗi biên dịch

Đoạn mã thực thi nhưng không in ra kết quả gì

Xem đáp án

Chọn đáp án B.Vì: Khi thực thi chương trình vòng lặp do/while sẽ chạy biến i từ 0 đến 9

20. Trắc nghiệm
1 điểm

Đâu là khai báo biến hợp lệ?

theOne

the One

1the_One

$the One

Xem đáp án

Chọn đáp án A.Vì: Theo quy tắc khai báo biến thì tên biến nên bắt đầu bởi ký tự, không có khoảng cách giữa tên biến và tên biến không được bắt đầu bởi số.

21. Trắc nghiệm
1 điểm

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.

true

x==true;

1==1

!x

Xem đáp án

Chọn đáp án D.Vì: Biểu thức x==true ở đáp án B trả về giá trị là true, 1==1 ở đáp án C cũng trả về giá trị là true. !x trả về giá trị là !true là false, khác các đáp án khách.

22. Trắc nghiệm
1 điểm

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

2

1

3

4

Xem đáp án

Chọn đáp án A. Vì: Khi truyền tham số vào cho phương thức có hai cách là: truyền theo kiểu tham trị và truyền theo kiểu tham biến.

23. Trắc nghiệm
1 điểm

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));
}
}

value = 3

value = 4

value = 5

value = 7

Xem đáp án

Chọn đáp án D.Vì: Khi thực thi chương trình, hàm main() sẽ gọi hàm switchIt(4), hàm switch() sẽ gán j=1, và so sánh x với các giá trị 1,2,3,4 và sẽ thực hiện các lệnh từ nhánh j=4 đến hết switch(vì không có lệnh break) do đó j tăng lên 2 => j=3. Cuối cùng sẽ trả về giá trị j+x =3+4=7

24. Trắc nghiệm
1 điểm

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);
}
}

10

12

22

24

Xem đáp án

Chọn đáp án B.Vì: Khi gọi hàm calTotal tham số truyền cho hàm là một đối tượng thuộc lớp A, do đó sẽ làm thay đổi thuộc tính x của lớp A sang giá trị là 12.

25. Trắc nghiệm
1 điểm

Đâu là khai báo đúng về lớp Cat? Chọn một câu trả lời

Class Cat{}

class public Cat(){}

class Cat{}

public Cat class{}

Xem đáp án

Chọn đáp án C

26. Trắc nghiệm
1 điểm

Đ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);
}
}

Không có lỗi biên dịch.

name has protected access.

age has protected access.

name has public access.

Xem đáp án

Chọn đáp án A. Vì: hàm main ở trong cùng lớp Person, nên có thể truy xuất tới tất cả các trường của Person.

27. Trắc nghiệm
1 điểm

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

Câu 1 sai, câu 2 đúng

Câu 1 đúng, câu 2 sai

Cả 2 câu cùng đúng

Cả 2 câu cùng sai [Không đúng]

Xem đáp án

Chọn đáp án B. Vì: + Các thành phần Protected có thể truy xuất từ lớp đó và các lớp con của lớp đó
+ Thành phần private chỉ có thể truy xuất từ trong lớp đó.

28. Trắc nghiệm
1 điểm

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

int a1[][] = new int[][3];

int a2[][] = new int[2][3];

int a3[][] = new int[2][];

int a4[][] = {{}, {}, {}};

Xem đáp án

Chọn đáp án A.Vì: + Bắt buộc phải xác định số dòng trong khai báo mảng hai chiều.

29. Trắc nghiệm
1 điểm

Phát biểu nào sau đây là đúng: Chọn một câu trả lời

Mảng có thể lưu giữ các phần tử thuộc nhiều kiểu dữ liệu khác nhau

Chỉ số của mảng có thể sử dụng kiểu số thực (float, double)

Biểu thức array.length được sử dụng để trả về số phần tử trong mảng

Một phần tử của mảng không thể truyền vào trong một phương thức.

Xem đáp án

Chọn đáp án C.Vì: biểu thức array.length trả về số phần tử trong mảng.

30. Trắc nghiệm
1 điểm

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]);
}
}

Có lỗi biên dịch: use new keyword to create object

Peter

Anna

Victor

Xem đáp án

Chọn đáp án B.Vì: Lệnh System.out.println(names[2]);sẽ in ra phần tử đứng thứ 3 trong mảng names (chỉ số mảng từ 0 => in ra Peter)

31. Trắc nghiệm
1 điểm

Nếu phương thức của bạn ghi đè một trong số các phương thức của lớp cha, bạn có thể gọi phương thức bị ghi đè thông qua từ khóa nào?
Chọn một câu trả lời

parent

super

this

static

Xem đáp án

Chọn đáp án B.Vì: Từ khóa super được sử dụng trong lớp con để gọi phương thức của lớp cha.

32. Trắc nghiệm
1 điểm

Đ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 String sayHello() {
return "Student";
}
}
public class Man extends Student {
public int sayHello() {
return 0;
}
}

Có lỗi biên dịch:sayHello() in Man cannot override sayHello() in Student return type int is not compatible with java.lang.String

Không có lỗi biên dịch.

Có lỗi biên dịch:sayHello() in Man cannot override sayHello() in Student because it is final

Có lỗi biên dịch:sayHello() in Man and in Student has the same access modifier

Xem đáp án

Chọn đáp án A.Vì:Lớp Man định viết đè sayHello() được viết ở Student, nhưng có kiểu dữ liệu trả về là int không thể chuyển thành String được.Và sayHello() không được đánh dấu là final, nên có thể được ghi đè. sayHello() ở cả hai lớp đều có cùng access modifier, điều này là hợp lệ.

33. Trắc nghiệm
1 điểm

Đ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);
}
}

Không có lỗi biên dịch.

name has protected access.

age has protected access.

name has public access.

Xem đáp án

Chọn đáp án A.Vì: hàm main ở trong cùng lớp Person, nên có thể truy xuất tới tất cả các trường của Person.

34. Trắc nghiệm
1 điểm

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

Câu 1 sai, câu 2 đúng

Câu 1 đúng, câu 2 sai

Cả 2 câu cùng đúng

Cả 2 câu cùng sai

Xem đáp án

Chọn đáp án B.Vì:+ Các thành phần Protected có thể truy xuất từ lớp đó và các lớp con của lớp đó
+ Thành phần private chỉ có thể truy xuất từ trong lớp đó.

35. Trắc nghiệm
1 điểm

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

int a1[][] = new int[][3];

int a2[][] = new int[2][3];

int a3[][] = new int[2][];

int a4[][] = {{}, {}, {}}

Xem đáp án

Chọn đáp án A.Vì: + Bắt buộc phải xác định số dòng trong khai báo mảng hai chiều.

36. Trắc nghiệm
1 điểm

Phát biểu nào sau đây là đúng: Chọn một câu trả lời

Mảng có thể lưu giữ các phần tử thuộc nhiều kiểu dữ liệu khác nhau

Chỉ số của mảng có thể sử dụng kiểu số thực (float, double)

Biểu thức array.length được sử dụng để trả về số phần tử trong mảng

Một phần tử của mảng không thể truyền vào trong một phương thức

Xem đáp án

Chọn đáp án C

37. Trắc nghiệm
1 điểm

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]);
}
}

Có lỗi biên dịch: use new keyword to create object

Peter

Anna

Victor

Xem đáp án

Chọn đáp án B.Vì: Lệnh System.out.println(names[2]);sẽ in ra phần tử đứng thứ 3 trong mảng names (chỉ số mảng từ 0 => in ra Peter)

38. Trắc nghiệm
1 điểm

Đ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();
}
}

Không có lỗi biên dịch.

Có lỗi biên dịch: Incompatible type, required Man, found Student.

Có lỗi biên dịch:Incompatible type, required Student, found Man.

Do not use extends to make subclass..

Xem đáp án

Chọn đáp án B.Vì: m thuộc kiểu Man, nên có thể chứa pointer tới đối tượng của lớp Man. Không chứa được pointer tới đối tượng của lớp Student.

39. Trắc nghiệm
1 điểm

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);
}
}

10

12

22

44

Xem đáp án

Chọn đáp án B.Vì: Khi gọi hàm calTotal tham số truyền cho hàm là một đối tượng thuộc lớp A,do đó sẽ làm thay đổi thuộc tính x của lớp A sang giá trị là 12.

40. Trắc nghiệm
1 điểm

Đâu là khai báo đúng về lớp Cat? Chọn một câu trả lời

Class Cat{}

class public Cat(){}

class Cat{}

public Cat class{}

Xem đáp án

Chọn đáp án C.Vì: Theo cú pháp khai báo lớp

41. Trắc nghiệm
1 điểm

Đâ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?

class Cat {String name = "noname";}

public class Cat{ String name; public Cat(){name = "noname";} }

public class Cat{ String name; public Cat(String x){name = x;} }

public class Cat{ String name; public Cat(){ String name = "noname"; } }

Xem đáp án

Chọn đáp án D.Vì: Sai về cách thức khởi tạo thuộc tính name của lớp Cat sai về cách thức khởi tạo thuộc tính name của lớp Cat .Biến name trong hàm tạo là biến cục bộ, không phải là thuộc tính name.

42. Trắc nghiệm
1 điểm

Đoạn mã sau có lỗi biên dịch gì?
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);
}
}

Không có lỗi biên dịch.

name has protected access.

age has protected access.

name has public access

Xem đáp án

Chọn đáp án A.Vì: hàm main ở trong cùng lớp Person, nên có thể truy xuất tới tất cả các trường của Person.

43. Trắc nghiệm
1 điểm

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

Câu 1 sai, câu 2 đúng

Câu 1 đúng, câu 2 sai

Cả 2 câu cùng đúng

Cả 2 câu cùng sai

Xem đáp án

Chọn đáp án B. Vì: + Các thành phần Protected có thể truy xuất từ lớp đó và các lớp con của lớp đó
+ Thành phần private chỉ có thể truy xuất từ trong lớp đó.

44. Trắc nghiệm
1 điểm

File chứa mã nguồn java sau khi được biên dịch có đuôi là gì?

java

class

jav

exe

Xem đáp án

Chọn đáp án B

45. Trắc nghiệm
1 điểm

Java platform gồm mấy thành phần?

1

2

3

4

Xem đáp án

Chọn đáp án B

46. Trắc nghiệm
1 điểm

Java Virtual Machine là gì?

Là một thành phần của Java platform dùng để đọc mã bytecode trong file .class

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ã bytecode

Là chương trình chạy cho java

Tất cả các đáp án đều đúng

Xem đáp án

Chọn đáp án A

47. Trắc nghiệm
1 điểm

Java chạy trên hệ điều hành nào sau đây:

Microsoft Windows

Linux

Sun Solaris OS

Tất cả các đáp án đều đúng.

Xem đáp án

Chọn đáp án D

48. Trắc nghiệm
1 điểm

API là gì?

Thư viện mã nguồn của Java.

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 chương trình Java.

Thư viện cung cấp giao diện đồ họa cho chương trình Java.

Tất cả đều sai.

Xem đáp án

Chọn đáp án B

49. Trắc nghiệm
1 điểm

Ngôn ngữ lập trình Java cung cấp các chức năng nào sau đây?

Tất cả đáp án trên

Giao diện lập trình ứng dụng

Bộ công cụ giao diện người dùng

Thư viện tích hợp

Xem đáp án

Chọn đáp án A

50. Trắc nghiệm
1 điểm

Có bao nhiêu cách viết chú thích trong Java?

1

2

3

4

Xem đáp án

Chọn đáp án C