300 Câu hỏi trắc nghiệm lập trình Java có đáp án - Phần 2
49 câu hỏi
public đứng trước static
static đứng trước public
Thứ tự bất kỳ nhưng thông thường public đứng trước
Tất cả đều sai.
Chọn đáp án C
public static void main(String[] a) {}
public static int main(String args) {}
public static main(String[] args) {}
public static final void main(String[] args) {}
Chọn đáp án A
/** chú thích */
/* chú thích */
/* chú thích
// chú thích
Chọn đáp án C
Đường dẫn chương trình sai.
Không có hàm main
Không khai báo class
Không có từ khóa public tại mở đầu khai báo class
Chọn đáp án A
Là một bó phần mềm gồm các hành vi và trạng thái có liên quan với nhau.
Là vật thể xác định của thế giới thực.
Là vật thể gồm hành vi và trạng thái.
Là các đối tượng được biểu diễn trong phần mềm gồm có 2 thuộc tính trường dữ liệu và các cách xử lý dữ liệu.
Chọn đáp án D
public class default {}
protected inner class engine {}
final class outer {}
Tất cả đều sai.
Chọn đáp án C
2word
*word
main
Tất cả đều sai.
Chọn đáp án D
1
2
3
4
Chọn đáp án D
1
2
3
4
Chọn đáp án A
2
3
4
Vô số
Chọn đáp án D
class Xedap1 extend Xedap {}
public classs Xedap1 extend Xedap {}
class Xedap1 extends Xedap {}
Tất cả đều sai.
Chọn đáp án C
Là lớp chứa các cách rỗng có liên quan với nhau.
Là một kiểu tham chiếu, tương tự như class, chỉ có thể chứa hằng giá trị, khai báo cách và kiểu lồng.
Là một cách thực hiện của lớp khác.
Là lớp nối giữa lớp cơ sở và lớp cha
Chọn đáp án B
class Xedap1 implement Xedap {}
public class Xedap1 implement Xedap {}
class Xedap1 implements Xedap {}
public class Xedap1 extends Xedap {}
Chọn đáp án C
1
2
3
4
Chọn đáp án D
Biến thay mặt và Tham số
Biến thay mặt và biến lớp
Biến thay mặt và biến cục bộ
Biến lớp và Tham số
Chọn đáp án B
Biến lớp và Tham số
Biến cục bộ và Tham số
Biến cục bộ và biến lớp
Các đáp án đều sai.
Chọn đáp án B
float f;
public static f;
double CA(int f)
Không có giá trị đúng
Chọn đáp án A
final double d;
private static id;
volatile int sleepTime
Không có đáp án đúng
Chọn đáp án B
final
dem
_final
$final
Chọn đáp án A
7
8
9
5
Chọn đáp án B
1
2
3
4
Chọn đáp án D
1
2
3
4
Chọn đáp án A
Mọi cách thực hiện tác vụ sau khi khởi tạo phải chèn lên cách start. start() bắt đầu việc thực thi của applet.
Là cách bắt đầu của applet và chạy song song với applet.
cách khởi tạo của applet và chạy song song với applet.
Tất cả đều sai.
Chọn đáp án A
String greeting = “Hello”;
int k = greeting.length();
System.out.print(k);
4
5
6
7
Chọn đáp án B
public class Person {
private 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 private access.
age has protected access.
name has public access.
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.
class Person {
protected String name;
public int age;
};
public class Main {
public static void main(String[] args) {
Person p = new Person();
p.name = "Tom";
}
}
Không có lỗi biên dịch.
name has protected access.
age has protected access.
name has public access.
Chọn đáp án B.Vì:+ name là thành phần protected do đó không thể truy xuất từ bên ngoài lớp (chỉ có thể truy xuất từ bên trong lớp và các lớp con).
int a1[][] = new int[][3];
int a2[][] = new int[2][3];
int a3[][] = new int[2][];
int a4[][] = {{}, {}, {}};
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.
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
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)
String s = "cabcab";
StringTokenizer sten = new StringTokenizer(s, "ab");
int x = sten.countTokens();
System.out.println(x);
0
1
2
3
Chọn đáp án C.Vì:Đối tượng StringTokenizer chia chuỗi "cabcab" thành các token theo chuỗi"ab" thì được 2 token là cab, cab.
class Student {}
public class Man extends Student {
public boolean isMan() {
return true;
}
}
Không có lỗi biên dịch
Có lỗi biên dịch:class Student is empty.
Có lỗi biên dịch:class Man has no constructor.
Có lỗi biên dịch:class Student is empty, class Man has no constructor.
Chọn đáp án A.Vì:Chúng ta có thể khai báo các lớp không có thuộc tính và phương thức trống(empty). Khi một lớp không có constructor, trình biên dịch sẽ tự động thêm vào một constructor mặc định.Vậy đoạn mã đã cho không có lỗi biên dịch nào.
class Student {
public String sayHello() {
return "Student";
}
}
public class Man extends Student {
public String sayHello() {
return "man";
}
public static void main(String[] args) {
Man m = new Student();
System.out.println(m.sayHello());
}
}
Có lỗi biên dịch:Incompatible type, requiered Man, found Student.
Không có lỗi biên dịch. In ra màn hình "man"
Có lỗi biên dịch:access modified of sayHello in Student and Man are different
Không có lỗi biên dịch. In ra màn hình "student"
Chọn đáp án A.Vì:m thuộc lớp Man, nhưng lại dùng để trỏ đển đối tượng của Student mà Man không phải là lớp con của Student. Và access modified của cùng phương thức ở lớp con chỉ cần mạnh hơn hoặc bằng cảu lớp cha la được.
class Student {
public int getAge() {
return 10;
}
}
public class Man extends Student {
protected int getAge(int added) {
return super.getAge() + added;
}
}
Không có lỗi biên dịch.
Có lỗi biên dịch: getAge() has in Man can not have weaker same access modifier than in Student.
Có lỗi biên dịch:call to super, must be the first in constructor in class Man.
Có lỗi biên dịch: getAge() in Student and Man can not have the same access arguments.
Chọn đáp án A.Vì:getAge() ở Student và Man có arguments khác nhau, nên chúng là các phương thức khác nhau.
package java.class;
class Student {}
Chọn một câu trả lời
Có lỗi biên dịch incorrect package
Có lỗi biên dịch vì Student is empty
Không có lỗi biên dịch
Có lỗi biên dịch package must be java
Chọn đáp án A.Vì: Ta có:Tên của package không thể trùng với từ khóa class Một lớp có thể không có khai báo gì. Tên package chỉ cần là một định danh đúng.
package pac02;
public class ClassA {
public int xA;
public String yA;
}
---------
package pac01;
import pac02.ClassA;
public class Test {
public static void main(String[] args) {
ClassA a = new ClassA();
a.xA = 12;
a.yA = "Hello";
System.out.println("a.xA = " + a.xA + "; a.yA = " + a.yA);
}
}
Lỗi biên dịch dòng 2.5, 2.6, 2.7
Lỗi biên dịch dòng 2.5
Lỗi biên dịch dòng 2.6, 2.7
a.xA = 12; a.yA = Hello
Chọn đáp án D.Vì:Thuộc tính xA, yA của lớp ClassA được khai báo với từ khóa public nên được truy xuất và in ra kết quả chương trình là xA = 12, yA = Hello.
Lấy ký tự bất kỳ trong chuỗi st
Lấy độ dài chuỗi str
Lấy ký tự có số chỉ mục n trong chuỗi k
Không có lệnh này
Chọn đáp án D
char[] greet = new char[10];
greet = “Hello”;
k = greet.length();
System.out.print(k);
4
5
6
Lỗi biên dịch
Chọn đáp án D
Dương vô cực
Âm vô cực
NaN
Cả 3 giá trị trên
Chọn đáp án D
UTF-8
UTF-16
UTF-32
Tất cả các mã trên
Chọn đáp án B
u0000
\uFFFF
0F
0x
Chọn đáp án A
String greetings = “Hello”;
String s = greetings.substring(0,3);
Hell
Hel
ello
Hello
Chọn đáp án B
String greetings = “ Hello “;
String s = greetings.substring(0,3);
Lấy các ký tự từ vị trí chỉ mục 0 đến vị trí chỉ mục 2 của chuỗi greetings và đưa vào s
Thay đổi 3 ký tự đầu tiên của chuỗi greetings
Sao chép chuỗi greetings vào chuỗi s
Cắt các ký tự từ vị trí chỉ mục 0 đến chỉ mục 3 và đưa vào s
Chọn đáp án A
Có thể được truy cập bất kỳ vị trí nào trong chương trình.
Có thể được truy cập từ các lớp trong cùng package.
Có thể được truy cập từ các lớp trong cùng package và lớp con nằm trong package khác.
Chỉ có thể truy cập từ các phương thức khác trong class đó.
Chọn đáp án D
Là kiểu dữ liệu gồm các trường chứa một tập hợp cố định các hằng số.
Là kiểu dữ liệu liệt kê các biến số.
Là một kiểu dữ liệu trong java.
Tất cả đều sai.
Chọn đáp án A
Có thể được truy cập từ bất kỳ vị trí nào trong chương trình.
Có thể được truy cập từ các lớp trong cùng package.
Có thể được truy cập từ các lớp trong cùng package và lớp con nằm trong package khác.
Chỉ có thể truy cập từ các phương thức khác trong class đó.
Chọn đáp án C
Có thể được truy cập từ bất kỳ vị trí nào trong chương trình.
Có thể được truy cập từ các lớp trong cùng package.
Có thể được truy cập từ các lớp trong cùng package và lớp con nằm trong package khác.
Chỉ có thể truy cập từ các phương thức khác trong class đó.
Chọn đáp án A
switch (thu) {
case 2:
System.out.println(“Van, Toan”);
break;
case 3:
System.out.println(“Hoa, Ly”);
break;
default:
System.out.println(“Ngay nghi”);
break;
}
Van, Toan
Hoa, Ly
Ngay nghi
Không có đáp án đúng
Chọn đáp án C
switch (thu) {
case 2:
System.out.println(“Van, Toan”);
break;
case 3:
System.out.println(“Hoa, Ly”);
break;
default:
System.out.println(“Ngay nghi”);
break;
}
Van, Toan
Hoa, Ly
Ngay nghi
Không có đáp án đúng
Chọn đáp án A
switch (thu) {
case 2:
System.out.println(“Van, Toan”);
break;
case 3:
System.out.println(“Hoa, Ly”);
break;
default:
System.out.println(“Ngay nghi”);
break;
}
Van, Toan
Hoa, Ly
Ngay nghi
Không có đáp án đúng
Chọn đáp án B
enum mausac { DEN,
LAM,
LUC,
TRANG
};mausac color;
char * t;
switch (color) {
case 0:
t = “Mau trang”;
break;
case 1:
t = “Mau den”;
break;
case 2:
t = “Mau lam”;
break;
case 3:
t = “Mau luc”;
break;
default:
t = “Khong co trong danh sach mau”;
break;
}
System.out.println(t);
Mau trang.
Mau den.
Mau luc.
Khong co trong danh sach mau.
Chọn đáp án A



