300 Câu hỏi trắc nghiệm lập trình Java có đáp án - Phần 3
Đề thi

300 Câu hỏi trắc nghiệm lập trình Java có đáp án - Phần 3

A
Admin
IT TestTrắc nghiệm tổng hợp93 lượt thi
50 câu hỏi
1. Trắc nghiệm
1 điểm

Khi thực hiện khối lệnh trên sẽ cho kết quả là bao nhiêu?
int s = 0;
for (int i = 0; i < 10; i++)
s += i;
System.out.println(s);

45

0

55

Không có kết quả đúng

Xem đáp án

Chọn đáp án A

2. Trắc nghiệm
1 điểm

Khối lệnh thực hiện chuyện gì?
int[] mang = new int[10];
int s = 0;
int j = 0;
for (int i: mang) {
i = ++j;
s += i;
}
System.out.println(“S = “ + s);

Nhập dữ liệu cho mang nguyên.

Tính tổng mảng nguyên.

Nhập dữ liệu và tính tổng mảng nguyên.

Tất cả đều sai.

Xem đáp án

Chọn đáp án C

3. Trắc nghiệm
1 điểm

Cho xâu kí tự s=”ABCDEF”. Để lấy kỳ tự thứ ‘E’ của xâu ký tự s(String) dùng câu lệnh nào sau đây?

s.charAt(5)

s.charAt(4)

s[5]

s[4]

Xem đáp án

Chọn đáp án B

4. Trắc nghiệm
1 điểm

Phát biểu nào sau đây là đúng: Chọn một câu trả lời

Mảng có thể lưu giữ các phần tử thuộc nhiều kiểu dữ liệu khác nhau

Chỉ số của mảng có thể sử dụng kiểu số thực (float, double)

Biểu thức array.length được sử dụng để trả về số phần tử trong mảng

Một phần tử của mảng không thể truyền vào trong một phương thức.

Xem đáp án

Chọn đáp án C.Vì: biểu thức array.length trả về số phần tử trong mảng.

5. Trắc nghiệm
1 điểm

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

int a1[][] = new int[][3];

int a2[][] = new int[2][3];

int a3[][] = new int[2][];

int a4[][] = {{}, {}, {}}

Xem đáp án

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.

6. Trắc nghiệm
1 điểm

Câu 1: Nếu 2 đối tượng bằng nhau trong cùng một mảng và mảng đó được sắp xếp, các phần tử bằng nhau không thể thay đối thứ tự của
chúng?
Câu 2: Chỉ số mảng bắt đầu từ 1Chọn một câu trả lời

Cả hai câu đều đúng

Cả hai câu đều sai

Câu 1 đúng, câu 2 sai

Câu 2 đúng, câu 1 sai

Xem đáp án

Chọn đáp án B.Vì: mảng truy xuất phần tử theo chỉ số của nó, nếu 2 phần tử có giá trị giống nhau thì cũng sẽ nằm ở vị trí khác nhau, do dó không thể thay đổi thứ tự của chúng được.
+ Chỉ số mảng bắt đầu từ 0.

7. Trắc nghiệm
1 điểm

Phát biểu sau nào là SAI

Mảng có kích thước không đổi trong toàn bộ chương trình

Mảng là cấu trúc dữ liệu có khả năng lưu trữ nhiều thành phần (phần tử) dữ liệu với kiểu khác nhau

Mảng N phần tử được đánh chỉ số từ 0 đến N - 1

Chỉ số mảng bắt đầu bằng 0

Xem đáp án

Chọn đáp án B.Vì: Mảng chỉ có thể lưu trữ các phần tử có cùng kiểu dữ liệu.

8. Trắc nghiệm
1 điểm

Lệnh sau in ra cái gì?
final int ARRAY_SIZE = 5;
ARRAY_SIZE = 10;
System.out.println("size = " + ARRAY_SIZE);

size = 10

size = 5

Lỗi ở dòng 3

Lỗi ở dòng 2

Xem đáp án

Chọn đáp án D.Vì: + Không thể gán giá trị cho các biến kiểu final

9. Trắc nghiệm
1 điểm

Chương trình sẽ in ra cái gì?
class A {
final public int method1(int a, int b) {
return 0;
}
}
class B extends A {
public int method1(int a, int b) {
return 1;
}
}
public class Test {
public static void main(Strings args[]) {
B b;
System.out.println("x = " + b.method1(0, 1));
}
}

x = 0

x = 1

Lỗi biên dịch

x=10

Xem đáp án

Chọn đáp án C.Vì: Lớp A là lớp con của lớp B và phương thức method1() trong lớp cha đã khai báo là final do vậy không thể thực hiện ghi đè trong lớp con.

10. Trắc nghiệm
1 điểm

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());
}
}

10 11

10 10

11 11

Không in gì và báo lỗi

Xem đáp án

Chọn đáp án B. 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()

11. Trắc nghiệm
1 điểm

Đoạn mã sau có lỗi biên dịch nào?
class Student {
public String name;
}
public class Man extends Student {
private String name;
}

Có lỗi biên dịch:name has private access in Man.

Không có lỗi biên dịch.

Có lỗi biên dịch:for name access modifier in Man for name is weaker in Student.

Có lỗi biên dịch:name has public access in Student.

Xem đáp án

Chọn đáp án B. Vì: Thuộc tính không có ràng buộc về access modifier ở lớp con và lớp cha.Và thuộc tính ở mỗi lớp có thể nhận default, protected, private, public là access modified

12. Trắc nghiệm
1 điểm

Đoạn mã sau có lỗi biên dịch nào sau?
class Student {
protected String name;
}
public class Man extends Student {
public static void main(String[] args) {
Man m = new Man();
m.name = "John";
}
}

name has protected access in Student.

Không có lỗi biên dịch

class Man has no attribute name.

class Man has no attribute or method name.

Xem đáp án

Chọn đáp án B.Vì: Thuộc tính name ở Student là protected, nên không lớp con Man được thừa kế.

13. Trắc nghiệm
1 điểm

Đoạn mã sau có kết quả như thế nào?
class Student {
private String name;
}
public class Man extends Student {
private String name;
public static void main(String[] args) {
Student m = new Student();
m.name = "Peter";
}
}

Có lỗi biên dịch:name has private access in Student.

Không có lỗi biên dịch.

In ra chữ “student”

In ra chữ “Peter”

Xem đáp án

Chọn đáp án A. Vì:+ Không thể truy xuất vào thuộc tính private từ bên ngoài lớp Tham khảo: Giáo trình: [1] mục 5.2

14. Trắc nghiệm
1 điểm

Đoạn lệnh nào sẽ đưa ra lỗi biên dịch? Chọn một câu trả lời

class A { public A(int x) {} }

class A {} class B extends A { B() {}}

Class A { A() {}} class B { public B() {} }

class Z { public Z(int) {} } class A extends Z { }

Xem đáp án

Chọn đáp án D.Vì:Tham số truyền cho hàm tạo của lớp Z chưa xác định tên nên sinh lỗi.Tham khảo: Giáo trình: [1] mục 5.2

15. Trắc nghiệm
1 điểm

Đoạn mã sau có lỗi biên dịch không? Nếu có là lỗi nào sau?
class Student {}
public class Man extends Student {
}

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 is empty.

Có lỗi biên dịch:class Student is empty, class Man is empty

Xem đáp án

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). Nên đáp án A đúng và D, C, D sai.

16. Trắc nghiệm
1 điểm

Đoạn mã sau có lỗi biên dịch gì?
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

Xem đáp án

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).

17. Trắc nghiệm
1 điểm

Đoạn mã sau có lỗi biên dịch gì?
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.

Xem đáp án

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.

18. Trắc nghiệm
1 điểm

Đ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);
}
}

Không có lỗi biên dịch.

name has protected access.

age has protected access.

name has public access.

Xem đáp án

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.

19. Trắc nghiệm
1 điểm

Chương trình sẽ in ra kết quả gì khi thực thi đoạn mã sau?
package pac02;
public class ClassA {
protected 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.7

Lỗi biên dịch dòng 2.5

Lỗi biên dịch dòng 2.5, 2.7

a.xA = 12; a.yA = Hello

Xem đáp án

Chọn đáp án D.Vì: Thuộc tính xA của lớp ClassA được khai báo với từ khóa protected nên không được truy xuất từ ngoài gói pac02.

20. Trắc nghiệm
1 điểm

Cho hai lớp Student và Main như sau. Khi biên dịch lớp Main có lỗi biên dịch không? Nếu có là lỗi nào?
package java.school;
public class Student {}
--
package java.test;
public class Main {
public static void main(String[] args) {
java.school.Student s = new java.school.Student();
}
}

Có lỗi biên dịch: can not find symbol test.Student

Không có lỗi biên dịch.

Có lỗi biên dịch: Add import java.school.Student

Có lỗi biên dịch: can not find constructor Student() for Student.

Xem đáp án

Chọn đáp án A.Vì: Lớp Student không ở package java.test mà ở java.school, và bạn không import vào gói java.test, nhưng khi dùng bạn đã chỉ rõ lớp ở package java.school.Student. Nên trình biên dịch hiểu. Nên đáp án: Có lỗi biên dịch:can not find symbol test.Student Và Có lỗi biên dịch: Add import java.school.Student sai và đáp án: Không có lỗi biên dịch đúng. Khi bạn không khai báo một constructor nào thì trình biên dịch tự động tạo ra một constructor mặc định (không có tham số) cho lớp đó. Nên đáp án: Có lỗi biên dịch: can not find constructor Student() for Student sai.

21. Trắc nghiệm
1 điểm

Đoạn mã sau có lỗi biên dịch gì?
public class Person {
private String name;
private 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.

\ge has private access.

name has public access.

Xem đáp án

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.

22. Trắc nghiệm
1 điểm

Khi biên dịch lớp Main có lỗi biên dịch không? Nếu có là lỗi nào?
package java.school;
public class Student {}
--
package java.test;
public class Main {
public static void main(String[] args) {
Student s = new Student();
}
}

Có lỗi biên dịch: can not find symbol test.Student

Không có lỗi biên dịch.

Có lỗi biên dịch: Add import java.school.Student

Có lỗi biên dịch: can not find constructor Student() for Student.

Xem đáp án

Chọn đáp án A. Vì: -Lớp Student không ở package java.test mà ở java.school, mà bạn lại không import vào gói java.test, nên trình biên dịch tìm lớp Student ở cùng package java.test, nhưng không có.
-Add import java.school.Student là một gợi ý

23. Trắc nghiệm
1 điểm

Chương trình sau in ra mà hình xâu nào?
public class Main {
public static void main(String[] args) {
String names[] = {
"John",
"Anna",
"Peter",
"Victor",
"David"
};
names = new String[5];
System.out.println(names[2]);
}
}

Có lỗi biên dịch: use new keyword to create object

Peter

Anna

null

Xem đáp án

Chọn đáp án D. Vì: + Lệnh 3 sẽ khai báo một mảng names và khởi tạo các giá trị cho mảng lần lượt là “John”, “Anna”,….
+ Tuy nhiên lệnh sau (4) lại tạo lại mảng names và không gán giá trị cho các phần tử mảng => các phần tử sẽ có giá trị null

24. Trắc nghiệm
1 điểm

Câu 1: Nếu 2 đối tượng bằng nhau trong cùng một mảng và mảng đó được sắp xếp, các phần tử bằng nhau không thể thay đối thứ tự của
chúng?Câu 2: Chỉ số mảng bắt đầu từ 1 Chọn một câu trả lời

Cả hai câu đều đúng

Cả hai câu đều sai

Câu 1 đúng, câu 2 sai

Câu 2 đúng, câu 1 sai

Xem đáp án

Chọn đáp án B. Vì: mảng truy xuất phần tử theo chỉ số của nó, nếu 2 phần tử có giá trị giống nhau thì cũng sẽ nằm ở vị trí khác nhau, do dó không thể thay đổi thứ tự của chúng được.
+ Chỉ số mảng bắt đầu từ 0.

25. Trắc nghiệm
1 điểm

Kết quả in ra của đoạn mã trên là gì?
public class Delta {
static boolean foo(char c) {
System.out.print(c);
return true;
}
public static void main(String[] argv) {
int i = 0;
for (foo(‘A’);
foo(‘B’) && (i < 2); foo(‘C’)) {
i++;
foo(‘D’);
12.
}
}
}

ABDCBDCB

ABCDABCD

Lỗi biên dịch

Chương trình không lỗi, nhưng khi chạy sẽ sinh lỗi

Xem đáp án

Chọn đáp án A

Vì: + Bắt đầu vòng lặp sẽ gọi foo(‘A’) => In ra chữ A + Thực hiện lệnh foo(‘B’) && i<2 => in ra B + Thực hiện foo(‘D’) => in ra D + Thực hiện foo(‘C’) => in ra C Tiếp theo tăng i lên 1 và thực hiện lần lượt các lệnh foo(‘B’), foo(‘D’), foo(‘C’) => in ra BDC Và cuối cùng tăng i=2 rồi thực hiện lệnh foo(‘B’)&i<2 => in ra B và kết thúc vòng lặp ð In ra là: ABDCBDCB

26. Trắc nghiệm
1 điểm

Trong đoạn mã trên x nhận giá trị bao nhiêu?
StringBuffer s = new StringBuffer("hello how are you how?");
int x = s.indexOf("ow");
System.out.println(x);

7

6

5

Lỗi biên dịch

Xem đáp án

Chọn đáp án A.Vì: Hàm indexOf trả về vị trí đầu tiên xuất hiện của chuỗi ow trong chuỗi s( là ở vị trí thứ 7).

27. Trắc nghiệm
1 điểm

Phát biểu sau nào là SAI Chọn một câu trả lời

Mảng có kích thước không đổi trong toàn bộ chương trình

Mảng là cấu trúc dữ liệu có khả năng lưu trữ nhiều thành phần (phần tử) dữ liệu với kiểu khác nhau

Mảng N phần tử được đánh chỉ số từ 0 đến N - 1

Chỉ số mảng bắt đầu bằng 0

Xem đáp án

Chọn đap án B.Vì: Mảng chỉ có thể lưu trữ các phần tử có cùng kiểu dữ liệu.

28. Trắc nghiệm
1 điểm

Lệnh sau in ra cái gì?
final int ARRAY_SIZE = 5;
ARRAY_SIZE = 10;
System.out.println("size = " + ARRAY_SIZE);

size = 10

size = 5

Lỗi ở dòng 3

Lỗi ở dòng 2

Xem đáp án

Chọn đáp án D. Vì: + Không thể gán giá trị cho các biến kiểu final

29. Trắc nghiệm
1 điểm

Đoạn mã sau có lỗi biên dịch KHÔNG? Nếu có là lỗi nào sau?
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

Xem đáp án

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.

30. Trắc nghiệm
1 điểm

Đoạn mã sau có lỗi biên dịch KHÔNG? Nêu KHÔNG thì in ra màn hình
kết quả nào?
class Student {
String sayHello() {
return "Student";
}
}
public class Man extends Student {
protected String sayHello() {
return "man";
}
public static void main(String[] args) {
Student s = new Man();
System.out.println(s.sayHello());
}
}

Có lỗi biên dịch.

Student

Man

Student Man

Xem đáp án

Chọn đáp án A. Vì: phương thức sayHello() có mức truy xuất ở lớp Student là default, nhưng ở lớp con(Man) lại có mức truy xuất yếu hơn(Không cho phép điều này).

31. Trắc nghiệm
1 điểm

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());
}
}

10 11

10 10

11 11

Không in gì và báo lỗi

Xem đáp án

Chọn đáp án B. 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

32. Trắc nghiệm
1 điểm

G/s đã khai báo lớp Student như sau. Đâu là cách tạo lớp Man là lớp
con của Student?
Class Student
{
Public String name;
}

public class Man extends Student{ }

public class Man extend Student{ }

public class Man :Student{ }

public class Man => Student{ }

Xem đáp án

Chọn đáp án A. Vì:Theo cú pháp khai báo lớp kế thừa trong java, từ khóa extends được dùng để mô tả một lớp là lớp con của lớp khác.

33. Trắc nghiệm
1 điểm

Đoạn lệnh nào sẽ đưa ra lỗi biên dịch? Chọn một câu trả lời

class A { public A(int x) {} }

class A {} class B extends A { B() {}}

class A { A() {}} class B { public B() {} }

class Z { public Z(int) {} } class A extends Z { }

Xem đáp án

Chọn đáp án D. Vì: Tham số truyền cho hàm tạo của lớp Z chưa xác định tên nên sinh lỗi.

34. Trắc nghiệm
1 điểm

Phương thức nào đưa vào dòng 6 sẽ sinh lỗi?
class Super {
public float getNum() {
return 3.0f;
}
}
public class Sub extends Super {
}

public getNum() { }

public float getNum(double d) { }

public float getNum() { return 4.0f; }

public double getNum(float d) { return 4.0d; }

Xem đáp án

Chọn đáp án A. Vì: Phương thức này chưa xác định kiểu dữ liệu trả về.

35. Trắc nghiệm
1 điểm

Đâu là một khai báo lớp kế thừa từ hai giao điện đúng? Chọn một câu trả lời

interface Summable {} interface Eatable {} class Math implements Summable;Eatable{}

interface Summable {} interface Eatable {} class Math implements Summable and Eatable{}

interface Summable {} interface Eatable {} class Math: Summable,Eatable{}

interface Summable {} interface Eatable {} class Math implements Summable,Eatable{}

Xem đáp án

Chọn đáp án D. vì: dấu phẩn(,) là dấu để cách ra các interface/class trong danh sách thừa kế hoặc triển khai. Một lớp triển khai interface thì từ khóa implements được dùng.

36. Trắc nghiệm
1 điểm

Cho khai báo mảng sau. Lệnh trên in ra cái gì?
String[][] str = {"lap", "trinh", "java"};
System.out.println(str[1][1]);

trinh

java

Lỗi biên dịch ở dòng 1

Không in ra gì

Xem đáp án

Chọn đáp án C.Vì: + Lỗi ở dòng lệnh 1, sai cú pháp khai báo mảng 2 chiều

37. Trắc nghiệm
1 điểm

Đoạn mã sau in ra màn hình xâu ký tự nào sau:
class Student {
public String sayHello() {
return "Student";
}
}
public class Man extends Student {
public String sayHello() {
return super.sayHello();
}
public static void main(String[] args) {
Student m = new Student();
System.out.println(m.sayHello());
}
}

Student

Man

Student Man

Man Student

Xem đáp án

Chọn đáp án B. Vì: s là đối tượng của Student, nên phương thức được gọi là của Student.

38. Trắc nghiệm
1 điểm

Chương trình trên sai ở dòng nào?
class BreakDemo {
public static void main(String[] args) {
int[] arrayOfInts = {
32,
87,
3,
589,
12,
1076,
2000,
8,
622,
127
};
int searchFor = 12;
int i;
boolean fountIt = false;
for (i = 0; i < arrayOfInts.length; i++) {
if (arrayOfInts[i] == searchFor) {
fountIt = true;
break;
}
}
if (fountIt) {
System.out.println(“Found“ + searchFor + “at index“ + i);
} else System.out.println(searchFor + “not in the array”);
}
}

2 và 6

3 và 11, 15

5, 7, 9

Chương trình không sai

Xem đáp án

Chọn đáp án D

39. Trắc nghiệm
1 điểm

Chương trình thực hiện công việc gì?
class BreakDemo {
public static void main(String[] args) {
int[] arrayOfInts = {
32,
87,
3,
589,
12,
1076,
2000,
8,
622,
127
};
int searchFor = 12;
int i;
boolean fountIt = false;–Môn Java cơsở14
Trang 14
Ket - noi.com diễnđàn công nghệ,
giáo dục
for (i = 0; i < arrayOfInts.length; i++) {
if (arrayOfInts[i] == searchFor) {
fountIt = true;
break;
}
}
if (fountIt) {
System.out.println(“Found“ + searchFor + “at index“ + i);
} else System.out.println(searchFor + “not in the array”);
}
}

Tìm 1 phần tử trong mảng.

So sánh các phần tử mảng với nhau.

Tính tổng mảng.

Tất cả đáp án đều sai.

Xem đáp án

Chọn đáp án A

40. Trắc nghiệm
1 điểm

Chương trình sau thực hiện công việc gì?
class ContinueDemo {
public static void main(String[] args) {
String searchMe = “peter piper picked a peck of pickled peppers”;
int max = searchMe.length();
int numPs = 0;
for (int i = 0; i < max; i++) {
if (searchMe.charAt(i) != 'p') continue;
numPs++;
}
System.out.println(“Found“ + numPs + “p 's in the string.”);
}
}

Đếm chữ cái p trong chuỗi ký tự

Tìm xem chữ p có đứng trước chữ i trong chuỗi hay không

Tìm kiếm chữ cái p trong chuỗi

Cả 3 đáp án đều sai.

Xem đáp án

Chọn đáp án A

41. Trắc nghiệm
1 điểm

Chương trình sau ra kết quả là gì?
class ContinueDemo {
public static void main(String[] args) {
String searchMe = “peter piper picked a peck of pickled pepers”;
int max = searchMe.length();
int numPs = 0;
for (int i = 0; i < max; i++) {
if (searchMe.charAt(i) != 'p') continue;
numPs++;
}
System.out.println(“Found“ + numPs + “p 's in the string.”);
}
}

Found 9 p's in the string.

Found 8 p's in the string.

Found 10 p's in the string.

Không có đáp án đúng.

Xem đáp án

Chọn đáp án B

42. Trắc nghiệm
1 điểm

Phương thức nào của class String trả về index của chuỗi ký tự con xuất hiện đầu tiên trong chuỗi ký tự char "

concat()

charAt()

indexOf()

Không có đáp án đúng.

Xem đáp án

Chọn đáp án C

43. Trắc nghiệm
1 điểm

Phương thức nào dùng để tìm kiếm một chuỗi trong một chuỗi khác trong class String của Java?

lastIndexOf()

substring()

toString()

Không có đáp án đúng

Xem đáp án

Chọn đáp án A

44. Trắc nghiệm
1 điểm

Trong Java, kiểu dữ liệu nào là một địa chỉ của đối tượng hoặc một mảng được tạo ra trong bộ nhớ?

Kiểu primitive

Kiểu reference

Kiểu format

Không có đáp án đúng

Xem đáp án

Chọn đáp án B

45. Trắc nghiệm
1 điểm

Chức năng của vòng lặp while là gi?

Kiểm tra kết quả của biểu thức boolean

Tránh mâu thuẫn giữa bên trong và bên ngoài switch

Lặp lại khối lệnh chứng nào điều kiện là đúng

Không có đáp án đúng

Xem đáp án

Chọn đáp án C

46. Trắc nghiệm
1 điểm

Java cung cấp một số câu lệnh làm thay đổi dòng điều khiển dựa trên các điều kiện. Lệnh nào dừng việc hoạt động của vòng lòng trong cùng và bắt đầu câu lệnh tiếp theo ngay sau khối lệnh?

break

continue

change

Jump

Xem đáp án

Chọn đáp án A

47. Trắc nghiệm
1 điểm

Trong đoạn mã trên x nhận giá trị bao nhiêu?
StringBuffer s = new StringBuffer("hello how are you?");
int x = s.charAt(6);
System.out.println(x);

102

104

h

Lỗi biên dịch

Xem đáp án

Chọn đáp án B. Vì: s.charAt(6) truy xuất phần tử thứ 7 là kí tự 0, trong mã asscii thì kí tự 0 là 104

48. Trắc nghiệm
1 điểm

Đâu là một khai báo interface đúng? Chọn một câu trả lời

public interface MyInterface {}

public interface MyInterface { default int x; }

public interface MyInterface { protected int sum(int x, int y); }

public interface MyInterface { private int sum(int x, int y); }

Xem đáp án

Chọn đáp án A. Vì: Trong đáp án B default là từ khóa dùng trong lệnh switch chứ không phải là một từ khóa truy xuất.
Trong đáp án C, D không thể mức truy xuất private hoặc protected cho thuộc tính cúng như phương thức. Trong khai báo interface có thể không khai báo gì.

49. Trắc nghiệm
1 điểm

Lệnh result = condition ? value1 : value2 có nghĩa gì?

Nếu condition là true thì result = value2, nếu condition là false thì result = value1

Nếu condition là true thì result = value1, nếu condition là false thì result = value2

Không có lệnh này

Nếu condition là true thì result sẽ đảo giá trị của value1 và value2

Xem đáp án

Chọn đáp án B

50. Trắc nghiệm
1 điểm

Lệnh nào ngừng vòng lặp hiện thời và bắt đầu vòng lặp tiếp theo?

continue

break

cease

end

Xem đáp án

Chọn đáp án A