200+ câu trắc nghiệm Java cơ bản có đáp án - Phần 1
30 câu hỏi
Đâ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
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.
Đâu không phải là một kiểu dữ liệu nguyên thủy trong Java?
double
int
long
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.
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
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
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()
Phương thức next() của lớp Scanner dùng để làm gì?
Chọn một Câu trả lời
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
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.
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
Netbeans
Eclipse
JDK
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.
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
java.net
java.io
java.util
java.awt
Chọn đáp án C
Vì:
Theo cấu trúc của gói java.util
Phương thức nextLine() thuộc lớp nào ?
Chọn một Câu trả lời
String
Scanner
Integer
System
Chọn đáp án B
Vì:
phương thức nextLine() thuộc lớp Scanner.
Tên đầu tiên của Java là gì?
Chọn một Câu trả lời
Java
Oak
Cafe
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.
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
XX.Display;
XX.Display();
objX.Display();
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();
Đâ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
Tên lớp
Thuộc tính
Phương thức
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.
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
Cả hai Câu đều đúng
Cả hai Câu đều sai
(1) đúng, (2) sai
(2) đúng, (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 đ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ì ?
x=-1 y=2
Lỗi biên dịch: Uncompilable source code - incompatible types
x=-1 y=-13
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ố.
Đoạn mã KHÔNG in ra màn hình số 13?
int x=13;
System.out.println(x);
int x=13;
System.out.println("x");
int x=13;
System.out.println("13");
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
Đố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
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.
Đâ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
12345
123
124
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 đ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
i = 6 and j = 5
i = 5 and j = 5
i = 6 and j = 4
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
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
2
7
4
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.
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-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
Chọn đáp án A
Vì:
byte: 126, char:'F', int:5000, short: 256, double:4899.99
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
int
byte
char
String
Chọn đáp án D
Vì:
Kiểu dữ liệu String chứa giá trị bao gồm cả chữ và số.
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ì?
000000000
0123456789
Lỗi biên dịch
Đ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 đ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ì?
x = 1
x = 3
Lỗi biên dịch
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 đ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
0
1
2
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
Đâu là khai báo biến hợp lệ?
Chọn một Câu trả lời
theOne
the One
1the_One
$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ố.
Đâ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
Animal a = new Animal();
Animal a = new Animal("name");
Animal a = new Animal("");
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.
Xét 2 Câu sau:
(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
(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.
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
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ó 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
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.
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
value = 3
value = 4
value = 5
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.
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ì?
10
12
22
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.
Đâ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{}
Chọn đáp án C








