Professional Documents
Culture Documents
Trac Nghiem Se204 7519
Trac Nghiem Se204 7519
Trac Nghiem Se204 7519
1
Đâu là câu SAI về ngôn ngữ Java?
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
Đúng. Đáp án đúng là: Chương trình viết bằng Java chỉ có thể chạy trên hệ điều hành win
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.
Tham khảo: Giáo trình: [1] mục 1.2
Câu2 [Góp ý]
Đâ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
Đúng. Đáp án đúng là: long float
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.
Tham khảo: Giáo trình: [1] mục 1. 4
Câu3 [Góp ý]
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ố
B) Nhập một ký tự
B) Eclipse
C) JDK
D) Java Platform
Sai. Đáp án đúng là: : Java Platform
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.
Tham khảo: Giáo trình: [1] mục 1.1
Câu6 [Góp ý]
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
Sai. Đáp án đúng là: "java.util "
Vì:
Theo cấu trúc của gói java.util
Tham khảo: Giáo trình: [1] mục 1.4
Câu7 [Góp ý]
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
Sai. Đáp án đúng là: Scanner
Vì:
phương thức nextLine() thuộc lớp Scanner.
Tham khảo: Giáo trình: [1] mục 1.4
Câu8 [Góp ý]
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
Sai. Đáp án đúng là: Oak
Vì:
Theo lịch sử ngôn ngữ java tên đầu tiên của java là oak.
Tham khảo: Giáo trình: [1] mục 1.1
Câu9 [Góp ý]
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();
Sai. Đáp án đúng là: objX.Display();
Vì:
Để truy xuất và phương thức của đối tượng ta sử dụng cú pháp: tendoituong.tenphuongthuc();
Tham khảo: Giáo trình: [1] mục 1.3
Câu10 [Góp ý]
Đâ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
Đúng. Đáp án đúng là: Biến
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.
Tham khảo: Giáo trình: [1] mục 1.3
Câu3 [Góp ý]
Câu 1: Từ khóa new kết hợp với hàm tạo để tạo ra đối tượng.
Câu 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
A) x=-1 y=2
C) x=-1 y=-13
D) x=-1 y=4
Đúng. Đáp án đúng là: Lỗi biên dịch: Uncompilable source code - incompatible types
Vì:
y là chuỗi, x là số không thể thực hiện cộng chuỗi và số.
Tham khảo: Giáo trình: [1] mục 1.3
Câu9 [Góp ý]
Đ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);
D) Một biến
Đúng. Đáp án đúng là: Một thể hiện của lớp
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.
Tham khảo: Giáo trình: [1] mục 1.3
Câu1 [Gó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
A) 12345
B) 123
C) 124
D) 125
Đúng. Đáp án đúng là: 124
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 (#).
Tham khảo: Giáo trình: [1] mục 2.1
Câu2 [Góp ý]
Đọ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
Sai. Đáp án đúng là: "i = 5 and j = 6" 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
Tham khảo: Giáo trình: [1] mục 2.3
Câu3 [Góp ý]
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
Đúng. Đáp án đúng là: 9
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.
Tham khảo: Giáo trình: [1] mục 2.1
Câu4 [Góp ý]
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) byte
C) char
D) String
Đúng. Đáp án đúng là: String
Vì:
Kiểu dữ liệu String chứa giá trị bao gồm cả chữ và số.
Tham khảo: Giáo trình: [1] mục 2.1
Câu6 [Góp ý]
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
A) x = 1
B) x = 3
B) 1
C) 2
B) the One
C) 1the_One
D) $the One
Đúng. Đáp án đúng là: theOne
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ố.
Tham khảo: Giáo trình: [1] mục 2.1
Câu10 [Góp ý]
Đâ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();
D) new Animal("name");
Sai. Đáp án đúng là: Animal a = new Animal()
Vì:
Trong lớp Animal không có hàm tạo mà không có tham số truyền vào.
Tham khảo: Giáo trình: [1] mục 2.1
Câu3 [Góp ý]
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. Đáp án đúng là: Cả 2 câu đều đúng
Tham khảo: Giáo trình: [1] mục 2.1
Câu4 [Góp ý]
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
Đúng. Đáp án đúng là: !x
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.
Tham khảo: Giáo trình: [1] mục 2.1
Câu6 [Góp ý]
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
Đúng. Đáp án đúng là: 2
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.
Tham khảo: Giáo trình: [1] mục 2.2.4
Câu8 [Góp ý]
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
Đúng. Đáp án đúng là: value = 7
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.
Tham khảo: Giáo trình: [1] mục 1.
Câu10 [Góp ý]
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
Đúng. Đáp án đúng là: 12
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.
Tham khảo: Giáo trình: [1] mục 2.2.4
7
Đâu là khai báo đúng về lớp Cat?
Chọn một câu trả lời
A) Class Cat{}
C) class Cat{}
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";
}
}
D) Một phần tử của mảng không thể truyền vào trong một phương thức
Sai. Đáp án đúng là: Biểu thức array.length được sử dụng để trả về số phần tử trong mảng
Vì:
biểu thức array.length trả về số phần tử trong mảng.
Tham khảo: Giáo trình: [1] mục 4.2
Không đúng
Điểm: 0/1.
Câu6 [Góp ý]
Điểm : 1
Chương trình sau in ra màn hình xâu nào?
01: public class Main{
02: public static void main(String[] args) {
03: String names[] = {"John","Anna","Peter","Victor","David"};
04: System.out.println(names[2]);
05: }
06:}
Chọn một câu trả lời
A) Có lỗi biên dịch: use new keyword to create object
B) Peter
C) Anna
D) Victor
Đúng. Đáp án đúng là: Peter
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)
Tham khảo: Giáo trình: [1] mục 4.2
Đúng
Điểm: 1/1.
Câu7 [Góp ý]
Điểm : 1
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
Sai. Đáp án đúng là: super
Vì:
Từ khóa super được sử dụng trong lớp con để gọi phương thức của lớp cha.
Tham khảo: Giáo trình: [1] mục 5.2
Không đúng
Điểm: 0/1.
Câu8 [Góp ý]
Điểm : 1
Hãy cho biết kết quả khi chạy đoạn chương trình sau?
class Student {
public int getAge(){
return 10;
}
}
public class Man extends Student{
public int getAge(int added) {
return super.getAge()+added;
}
public static void main(String[] args) {
Man s = new Man();
System.out.println(s.getAge()); System.out.println(s.getAge());
}
}
Chọn một câu trả lời
A)
10
11
B)
10
10
C)
11
11
D)
Không in gì và báo lỗi
Sai. Đáp án đúng là: Không có lỗi biên dịch. In ra 10
10
Vì:
+ Lệnh đầu tiên trong hàm main() sẽ sinh ra đối tượng s từ lớp Man.
+ Lệnh thứ 2 của hàm main sẽ gọi phương thức getAge() của đối tượng s, tuy nhiên s kế thừa từ lớp
Student do đó sẽ triệu gọi phương thức getAge của lớp Student => in ra 10
+ Lệnh thứ 3 của hàm main() sẽ gọi phương thức getAge() của đối tượng s => gọi đến phương thức
getAge() của lớp Student => in ra 10
Tham khảo: Giáo trình: [1] mục 5.2
Không đúng
Điểm: 0/1.
Câu9 [Góp ý]
Điểm : 1
Đoạn mã sau có lỗi biên dịch nào?
class Student {
}
public class Man extends Student{
public static void main(String[] args) {
Man m = new Student();
}
}
Chọn một câu trả lời
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..
Sai. Đáp án đúng là: Có lỗi biên dịch: Incompatible type, required Man, found Student.
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.
Tham khảo: Giáo trình: [1] mục 5.2
Không đúng
Điểm: 0/1.
Câu10 [Góp ý]
Điểm : 1
Đoạn mã sau có lỗi biên dịch nào?
class Student {
public String sayHello(){
return "Student";
}
}