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)
Chọn phần
-
Câu 1:
Đâ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 2:
Đâ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 3:
Trong câu lệnh sau: public static void main(String[] agrs) thì phần tử agrs[0] chứa giá trị gì?
A. Tên của chương trình
B. Số lượng tham số
C. Tham số đầu tiên của danh sách tham số
D. Không câu nào đúng
-
Câu 4:
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 5:
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 6:
Gói nào trong java chứa lớp Scanner dùng để nhập dữ liệu từ bàn phím?
A. java.net
B. java.io
C. java.util
D. java.awt
-
Câu 7:
Phương thức nextLine() thuộc lớp nào ?
A. String
B. Scanner
C. Integer
D. System
-
Câu 8:
Tên đầu tiên của Java là gì?
A. Java
B. Oak
C. Cafe
D. James golings
-
Câu 9:
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?
A. XX.Display;
B. XX.Display();
C. objX.Display();
D. Display();
-
Câu 10:
Đâu KHÔNG phải là thành phần trong cấu trúc của lớp trong java.
A. Tên lớp
B. Thuộc tính
C. Phương thức
D. Biến
-
Câu 11:
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 12:
Đọ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); } }
A. x=-1 y=2
B. Lỗi biên dịch: Uncompilable source code - incompatible types
C. x=-1 y=-13
D. x=-1 y=4
-
Câu 13:
Đối tượng là gì?
A. Các lớp được tạo thể hiện từ đó
B. Một thể hiện của lớp
C. Một tham chiếu đến một thuộc tính
D. Một biến
-
Câu 14:
Đâu là khai báo biến đúng trong java?
(1) rollNumber
(2) $rearly_salary
(3) double
(4) $$_
(5) mount#balance
A. 12345
B. 123
C. 124
D. 125
-
Câu 15:
Đọ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);
A. i = 6 and j = 5
B. i = 5 and j = 5
C. i = 6 and j = 4
D. i = 5 and j = 6
-
Câu 16:
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
A. 2
B. 7
C. 4
D. 9
-
Câu 17:
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. a-4, b-5, c-2, d-1, e-3
B. a-1, b-2, c-2, d-1, e-3
C. a-1, b-5, c-4, d-4, e-3
D. a-5, b-4, c-1, d-2, e-3
-
Câu 18:
Kiểu dữ liệu nào trong Java chứa giá trị bao gồm cả chữ và số?
A. int
B. byte
C. char
D. String
-
Câu 19:
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);
A. 000000000
B. 0123456789
C. Lỗi biên dịch
D. Đoạn mã thực thi nhưng không in ra kết quả gì
-
Câu 20:
Đâu là khai báo biến hợp lệ?
A. theOne
B. the One
C. 1the_One
D. $the One
-
Câu 21:
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 22:
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 23:
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)); } }
A. value = 3
B. value = 4
C. value = 5
D. value = 7
-
Câu 24:
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 25:
Đâ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 26:
Đ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); } }
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:
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 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:
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 30:
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 31:
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
A. parent
B. super
C. this
D. static
-
Câu 32:
Đ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; } }
A. 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
B. Không có lỗi biên dịch.
C. Có lỗi biên dịch:sayHello() in Man cannot override sayHello() in Student because it is final
D. Có lỗi biên dịch:sayHello() in Man and in Student has the same access modifier
-
Câu 33:
Đ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); } }
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 34:
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 35:
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 36:
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 37:
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 38:
Đ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(); } }
A. Không có lỗi biên dịch.
B. Có lỗi biên dịch: Incompatible type, required Man, found Student.
C. Có lỗi biên dịch:Incompatible type, required Student, found Man.
D. Do not use extends to make subclass..
-
Câu 39:
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); } }
A. 10
B. 12
C. 22
D. 44
-
Câu 40:
Đâ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 41:
Đâ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 42:
Đ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); } }
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 43:
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
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 44:
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 45:
Java platform gồm mấy thành phần?
A. 1
B. 2
C. 3
D. 4
-
Câu 46:
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ã bytecode.
C. Là chương trình chạy cho java
D. Tất cả các đáp án đều đúng
-
Câu 47:
Java chạy trên hệ điều hành nào sau đây:
A. Microsoft Windows
B. Linux
C. Sun Solaris OS
D. Tất cả các đáp án đều đúng.
-
Câu 48:
API là gì?
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 chương trình Java.
C. Thư viện cung cấp giao diện đồ họa cho chương trình Java.
D. Tất cả đều sai.
-
Câu 49:
Ngôn ngữ lập trình Java cung cấp các chức năng nào sau đây?
A. Tất cả đáp án trên
B. Giao diện lập trình ứng dụng
C. Bộ công cụ giao diện người dùng
D. Thư viện tích hợp
-
Câu 50:
Có bao nhiêu cách viết chú thích trong Java?
A. 1
B. 2
C. 3
D. 4
- 1
- 2
- 3
- 4
- Đề ngẫu nhiên
Phần