200+ Trắc nghiệm Java (có đáp án)
200+ Trắc nghiệm Java (có đáp án)
Tổng hợp trên 200 câu hỏi trắc nghiệm Java có đáp án với các câu hỏi đa dạng, phong phú từ nhiều nguồn giúp sinh viên ôn trắc nghiệm Java đạt kết quả cao.
200+ Trắc nghiệm Java (có đáp á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
Chọn đáp án 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.
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
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.
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ì?
Chọn một Câu trả lời
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
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()
Câu 4. Phương thức next() của lớp Scanner dùng để làm gì?
Chọn một Câu trả lời
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
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.
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?
Chọn một Câu trả lời
A. Netbeans
B. Eclipse
C. JDK
D. Java Platform
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 ứ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.
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?
Chọn một Câu trả lời
A. java.net
B. java.io
C. java.util
D. java.awt
Chọn đáp án C
Vì: Theo cấu trúc của gói java.util
Câu 7. Phương thức nextLine() thuộc lớp nào ?
Chọn một Câu trả lời
A. String
B. Scanner
C. Integer
D. System
Chọn đáp án B
Vì: phương thức nextLine() thuộc lớp Scanner.
Câu 8. Tên đầu tiên của Java là gì?
Chọn một Câu trả lời
A. Java
B. Oak
C. Cafe
D. James golings
Chọn đáp án B
Vì: Theo lịch sử ngôn ngữ java tên đầu tiên của java là oak.
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?
Chọn một Câu trả lời
A. XX.Display;
B. XX.Display();
C. objX.Display();
D. Display();
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();
Câu 10. Đâu KHÔNG phải là thành phần trong cấu trúc của lớp trong java.
Chọn một Câu trả lời
A. Tên lớp
B. Thuộc tính
C. Phương thức
D. Biế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.
Câu 11
1: Từ khóa new kết hợp với hàm tạo để tạo ra đối tượng.
2: Hàm tạo được sử dụng để hủy đối tượng
Chọn một Câu trả lời
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
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
Câu 12 Đọc đoạn mã lệnh sau
1:public class Main {
2: public static void main(String[] args) {
3: int x = -1;
4: String y = x + 3;
5: System.out.println("x = " + x + "y = " + y);
6: }
7:}
Sau khi thực thi chương trình sẽ in ra kết quả gì ?
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
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ố.
Câu 13. Đoạn mã KHÔNG in ra màn hình số 13?
A. int x=13;
System.out.println(x);
B. int x=13;
System.out.println("x");
C. int x=13;
System.out.println("13");
D. int x=13;
System.out.println(""+x);
Chọn đáp án B
Vì:
- Đáp án int x=13; System.out.println(x); in ra giá trị của x là 13.
- Đáp án int x=13; System.out.println("x"); in ra xâu ký tự "x", in ra x.
- Đáp án int x=13; System.out.println("13"); in ra xâu ký tự "13", in ra 13
- Đáp án int x=13; System.out.println(""+x); in ra xâu ký tự ""+x, in ra 13
Câu 14. Đố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
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.
Câu 15. Đâu là khai báo biến đúng trong java?
(1) rollNumber
(2) $rearly_salary
(3) double
(4) $$_
(5) mount#balance
Chọn một Câu trả lời
A. 12345
B. 123
C. 124
D. 125
Chọn đáp án C
Vì: Tên biến không được trùng tên với từ khóa (double), không chứa các kí tự đặc biệt (#).
Câu 16. Đọc đoạn mã sau:
11: int i = 1,j = 10;
12: do {
13: if(i>j) {
14: break;
15: }
16: j--;
17: } while (++i <5);
18: System.out.printIn("i = " +i+" and j = "+j);
Kết quả in ra của đoạn mã trên là gì?
Chọn một Câu trả lời
A. i = 6 and j = 5
B. i = 5 and j = 5
C. i = 6 and j = 4
D. i = 5 and j = 6
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
Câu 17. 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
Chọn một Câu trả lời
A. 2
B. 7
C. 4
D. 9
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.
Câu 18. 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'
Chọn một Câu trả lời
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
Chọn đáp án A
Vì: byte: 126, char:'F', int:5000, short: 256, double:4899.99
Câu 19. Kiểu dữ liệu nào trong Java chứa giá trị bao gồm cả chữ và số?
Chọn một Câu trả lời
A. int
B. byte
C. char
D. String
Chọn đáp án D
Vì: Kiểu dữ liệu String chứa giá trị bao gồm cả chữ và số.
Câu 20
int i=0;
do {
flag = false;
System.out.print( i++ );
flag = i < 10;
continue;
}while ( (flag)? true:false );
Kết quả in ra của đoạn mã trên là gì?
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ì
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
Câu 21. Đọc đoạn mã sau:
11: int x = 3;
12: int y = 1;
13: if (x = y) {
14: System.out.println("x = " + x);
15: }
Kết quả in ra của đoạn mã trên là gì?
A. x = 1
B. x = 3
C. Lỗi biên dịch
D. Chương trình chạy nhưng không in ra kết quả
Chọn đáp án C
Vì: Sử dụng sai phép so sánh trong lệnh if, toán tử = là toán tử gán không sử dụng trong biểu thức của lệnh if.
Câu 22. Đọc đoạn code sau:
1:public class Test {
2:public int aMethod() {
3:int i = 0;
4:i++;
5:return i;
6:}
7:public static void main (String[]args){
8:Test test = new Test();
9:test.aMethod();
10:int j = test.aMethod();
11:System.out.println(j);
12:}
13:}
Kết quả là gì?
Chọn một Câu trả lời
A. 0
B. 1
C. 2
D. Lỗi biên dịch
Chọn đáp án B
Vì:
+ Lệnh Test test=new Test() sẽ khởi tạo một đối tượng test
+ test.aMethod() sẽ khởi tạo thuộc tính i=0
+ int j=test.Method() sẽ tăng thuộc tính i lên 1 (bằng 1) và gán giá trị cho j => j=1
Câu 23. Đâu là khai báo biến hợp lệ?
Chọn một Câu trả lời
A. theOne
B. the One
C. 1the_One
D. $the One
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ố.
Câu 24. Đâu là cách thức tạo SAI về đối tượng của lớp Animal sau:
class Animal{
String name;
public Animal(String x){
this.name = x;
}
}
Chọn một Câu trả lời
A. Animal a = new Animal();
B. Animal a = new Animal("name");
C. Animal a = new Animal("");
D. new Animal("name");
Chọn đáp án A
Vì: Trong lớp Animal không có hàm tạo mà không có tham số truyền vào.
Câu 25. Xét 2 Câu sau:
Câu 1: Biến được khai báo bên trong lớp được dùng để lưu trữ các giá trị thuộc tính của đối tượng
Câu 2: Biến địa phương là biến được khai báo bên trong phương thức và các khối lệnh.
Đúng.
Câu 26. 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
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.
Câu 27. 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
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.
Câu 28
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));
}
}
Kết quả in ra của đoạn mã trên là gì?
Chọn một Câu trả lời
A. value = 3
B. value = 4
C. value = 5
D. value = 7
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.
Câu 29
01:class A {
02: int x = 10;
03: public void calTotal(A a){
04: a.x = 12;
05: 06:System.out.println(a.x);
07: }
08:}
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ì?
A. 10
B. 12
C. 22
D. 1012
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.
Câu 30
Đâ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{}
Chọn đáp án C
Vì: Theo cú pháp khai báo lớp
................................
................................
................................