Luyện tập trắc nghiệm: Giới thiệu về lập trình Java

Câu 1: Máy tính hiện diện ở đâu trong cuộc sống hàng ngày của chúng ta?




Đáp án đúng: C) Khắp nơi trong cuộc sống hàng ngày
Giải thích: Nội dung bài viết nêu rõ rằng máy tính hiện diện trong nhiều khía cạnh của cuộc sống hàng ngày, từ việc chia sẻ ảnh đến tìm kiếm thông tin.

Câu 2: Theo nội dung, điều gì là cần thiết cho việc truy cập vào nguồn thông tin vô hạn?




Đáp án đúng: B) Internet
Giải thích: Bài viết nhấn mạnh rằng Internet mang lại cho chúng ta truy cập vào nguồn thông tin gần như vô hạn.

Câu 3: Khóa học đầu tiên về khoa học máy tính thường là gì?




Đáp án đúng: A) Lập trình
Giải thích: Nội dung đề cập rằng hầu hết các trường đại học bắt đầu với khóa học lập trình trong lĩnh vực khoa học máy tính.

Câu 4: Theo Don Knuth, yếu tố nào là trung tâm của khoa học máy tính?




Đáp án đúng: B) Thuật toán
Giải thích: Don Knuth khẳng định rằng hầu hết các nhà khoa học máy tính làm việc với các thuật toán theo cách nào đó.

Câu 5: Khái niệm "máy tính" được định nghĩa là gì?




Đáp án đúng: A) Thiết bị tính toán
Giải thích: Theo định nghĩa trong bài viết, máy tính được coi là một thiết bị tính toán, bao gồm nhiều loại thiết bị khác nhau.

Câu 6: Đặc điểm nào phân biệt máy tính với máy tính bỏ túi?




Đáp án đúng: B) Tính linh hoạt
Giải thích: Máy tính có thể thực hiện nhiều nhiệm vụ khác nhau tùy thuộc vào chương trình mà nó đang chạy, điều này không có ở máy tính bỏ túi.

Câu 7: Phần mềm chính chạy trên máy tính là gì?




Đáp án đúng: B) Hệ điều hành
Giải thích: Hệ điều hành cung cấp môi trường cho các chương trình chạy và kết nối giữa phần cứng, phần mềm và người dùng.

Câu 8: Tại sao máy tính sử dụng hệ nhị phân?




Đáp án đúng: A) Dễ dàng tạo ra và đáng tin cậy
Giải thích: Việc xây dựng các hệ thống máy tính trên cơ sở hiện tượng nhị phân đơn giản hơn so với việc có nhiều trạng thái khác nhau.

Câu 9: Một byte tương đương với bao nhiêu bit?




Đáp án đúng: C) 8 bit
Giải thích: Một byte được định nghĩa là 8 bit, và đây là khái niệm cơ bản trong lưu trữ thông tin trong máy tính.

Câu 10: Trình biên dịch có chức năng gì?




Đáp án đúng: B) Chuyển đổi ngôn ngữ lập trình bậc cao sang ngôn ngữ máy
Giải thích: Trình biên dịch dịch một chương trình máy tính viết bằng ngôn ngữ bậc cao sang ngôn ngữ máy để có thể thực thi trên máy tính.

Câu 11: Java được phát hành lần đầu bởi ai?




Đáp án đúng: B) Sun Microsystems
Giải thích: Java được phát hành lần đầu vào năm 1995 bởi Sun Microsystems.

Câu 12: Đặc điểm nào sau đây không phải là một phần của mô tả Java trong tài liệu "white paper"?




Đáp án đúng: C) Thống kê
Giải thích: Java được mô tả là đơn giản, hướng đối tượng, và đa luồng, nhưng không có yếu tố "thống kê" trong mô tả.

Câu 13: Java hỗ trợ loại lập trình nào?




Đáp án đúng: B) Lập trình hướng đối tượng
Giải thích: Java là một ngôn ngữ lập trình hướng đối tượng, giúp phát triển các hệ thống phần mềm lớn và phức tạp.

Câu 14: Thư viện lớp Java được sử dụng để làm gì?




Đáp án đúng: B) Cung cấp mã sẵn cho các vấn đề lập trình thông thường
Giải thích: Thư viện lớp Java cung cấp các giải pháp mã sẵn cho nhiều vấn đề lập trình thông thường.

Câu 15: Java có tính chất nào nổi bật về khả năng thực thi?




Đáp án đúng: B) Độc lập với nền tảng
Giải thích: Một trong những ưu điểm của Java là cùng một chương trình có thể chạy trên nhiều hệ điều hành khác nhau mà không cần thay đổi.

Câu 16: Tệp chương trình Java có phần mở rộng nào?




Đáp án đúng: C) .java
Giải thích: Tệp chương trình Java phải có phần mở rộng .java, trong khi bytecode được biên dịch sẽ có phần mở rộng .class.

Câu 17: IDE là gì trong môi trường lập trình Java?




Đáp án đúng: B) Môi trường phát triển tích hợp
Giải thích: IDE (Integrated Development Environment) là môi trường cung cấp tất cả các công cụ cần thiết để lập trình, biên dịch, và chạy các ứng dụng Java.

Câu 18: Chương trình Java mẫu "Hello.java" in ra dòng nào?




Đáp án đúng: B) Hello, world!
Giải thích: Chương trình "Hello.java" được thiết kế để in ra dòng chữ "Hello, world!" khi chạy.

Câu 19: Quy trình phát triển chương trình Java bao gồm mấy bước chính?




Đáp án đúng: C) 3 bước
Giải thích: Quy trình cơ bản gồm nhập chương trình, biên dịch tệp chương trình, và chạy phiên bản đã biên dịch.

Câu 20: Cửa sổ điều khiển trong Java được sử dụng để làm gì?




Đáp án đúng: B) Tương tác với người dùng thông qua văn bản
Giải thích: Cửa sổ điều khiển cho phép các chương trình Java tương tác với người dùng bằng cách hiển thị văn bản và nhận đầu vào từ người dùng.

Câu 21: Trong ngôn ngữ lập trình Java, một chương trình hoàn chỉnh được lưu trữ trong gì?




Đáp án đúng: B) Một lớp
Giải thích: Tất cả các chương trình Java đều được lưu trữ trong một lớp.

Câu 22: Chương trình "Hello, world!" có mục đích gì?




Đáp án đúng: B) Để kiểm tra cú pháp và cấu trúc cơ bản của Java
Giải thích: Chương trình "Hello, world!" được sử dụng để giới thiệu cú pháp và cách viết một chương trình Java đơn giản.

Câu 23: Cú pháp của một lớp Java cơ bản là gì?




Đáp án đúng: C) public class  <name>  { }
Giải thích: Đây là cú pháp đúng cho việc định nghĩa một lớp Java, trong đó <name> là tên của lớp.

Câu 24: Dòng đầu tiên trong chương trình Java "Hello.java" là gì?




Đáp án đúng: B) public class  Hello
Giải thích: Dòng đầu tiên của chương trình "Hello.java" định nghĩa một lớp có tên là Hello.

Câu 25: Phương thức main trong Java có cú pháp nào?




Đáp án đúng: B) public static void main(String[] args)
Giải thích: Đây là cú pháp chính xác cho phương thức main, cho phép Java chạy chương trình.

Câu 26: Câu lệnh nào sau đây là đúng để in ra "Hello, world!" trong Java?




Đáp án đúng: C) System.out.println("Hello, world!");
Giải thích: Câu lệnh này sử dụng phương thức println để in ra văn bản và kết thúc bằng dấu chấm phẩy.

Câu 27: Trong đoạn mã Java, dấu chấm phẩy (;) được sử dụng để làm gì?




Đáp án đúng: C) Kết thúc các câu lệnh
Giải thích: Dấu chấm phẩy được sử dụng để kết thúc một câu lệnh trong Java, tương tự như dấu chấm trong tiếng Anh.

Câu 28: Trong một chương trình Java, có thể có bao nhiêu phương thức trong một lớp?




Đáp án đúng: C) Nhiều phương thức
Giải thích: Một lớp Java có thể định nghĩa nhiều phương thức khác nhau, không bị giới hạn số lượng.

Câu 29: Đoạn mã sau đây là đúng hay sai?

public class  Hello3  {
    public static void main(String[] args)  {
        System.out.println("Hello, world!");
    }
}
    

Đáp án đúng: A) Đúng
Giải thích: Đoạn mã này tuân thủ đúng cú pháp và quy tắc của Java.

Câu 30: Tại sao cú pháp của phương thức main thường được gọi là "câu thần chú ma thuật"?




Đáp án đúng: A) Bởi vì nó không cần phải hiểu
Giải thích: Nhiều lập trình viên mới chỉ cần ghi nhớ cú pháp mà không cần hiểu từng phần của nó, giống như một câu thần chú.

Câu 30: Ai là tác giả của chương trình "Hello, World!" đầu tiên?




Đáp án đúng: C) Brian Kernighan và Dennis Ritchie
Giải thích: Chương trình "Hello, World!" đầu tiên được viết bởi Brian Kernighan và Dennis Ritchie trong cuốn sách "The C Programming Language".

Câu 31: Ngôn ngữ lập trình nào được xem là "cha đẻ" của C++ và Java?




Đáp án đúng: B) C
Giải thích: C++ và Java đều vay mượn cú pháp và cấu trúc từ ngôn ngữ lập trình C.

Câu 32: Chuỗi ký tự (string) trong Java phải được bao quanh bằng dấu gì?




Đáp án đúng: B) Dấu nháy kép
Giải thích: Trong Java, chuỗi ký tự phải được bao quanh bằng dấu nháy kép, ví dụ: "This is a string."

Câu 33: Dòng nào sau đây là một chuỗi ký tự hợp lệ trong Java?




Đáp án đúng: B) "Hello, world!"
Giải thích: Dòng này là hợp lệ vì nó được bao quanh bằng dấu nháy kép.

Câu 34: Câu lệnh System.out.println() không có gì bên trong dấu ngoặc đơn sẽ tạo ra gì?




Đáp án đúng: B) Một dòng đầu ra trống
Giải thích: Câu lệnh này sẽ tạo ra một dòng đầu ra trống trong cửa sổ điều khiển.

Câu 35: Câu lệnh nào sau đây sẽ in ra dòng chữ "This line uses the println method."?




Đáp án đúng: B) System.out.println("This line uses the println method.");
Giải thích: Đây là cú pháp đúng để in ra văn bản trong Java.

Câu 36: Chuỗi thoát nào được sử dụng để đại diện cho ký tự tab trong Java?




Đáp án đúng: B) \t
Giải thích: Chuỗi thoát \t được sử dụng để đại diện cho ký tự tab trong Java.

Câu 37: Kết quả của câu lệnh sau đây sẽ là gì?

        System.out.println("What \"characters\" does this \\ print?");
    



Đáp án đúng: A) What  "characters"  does   this   \   print?
Giải thích: Câu lệnh sử dụng chuỗi thoát để in ra dấu ngoặc kép và ký tự gạch chéo ngược.

Câu 38: Dòng lệnh nào sau đây sẽ in ra ba dòng đầu ra?

        System.out.println("This\nproduces 3 lines\nof output.");
    



Đáp án đúng: D) This
      produces   3   lines
      of   output.
Giải thích: Câu lệnh này sử dụng chuỗi thoát \n để tạo ra các dòng xuống dòng trong đầu ra.

Câu 39: Tại sao chuỗi ký tự không được phép trải dài qua nhiều dòng trong Java?




Đáp án đúng: A) Vì cú pháp không cho phép
Giải thích: Chuỗi ký tự trong Java phải được định nghĩa trong cùng một dòng và không thể trải dài qua nhiều dòng.

Câu 40: Lệnh nào sau đây sẽ tạo ra một đầu ra trên cùng một dòng mà không chuyển sang dòng mới?




Đáp án đúng: B) print
Giải thích: Lệnh print sẽ tạo ra đầu ra trên dòng hiện tại mà không chuyển sang dòng mới, trong khi println sẽ chuyển xuống dòng mới.

Câu 41: Kết quả của đoạn mã sau đây sẽ là gì?

        System.out.print("Hello, ");
        System.out.print("World!");
    



Đáp án đúng: B) Hello,   World!
Giải thích: Hai lệnh print sẽ in ra trên cùng một dòng, tạo ra đầu ra "Hello, World!" mà không có dòng mới.

Câu 42: Nếu bạn có các lệnh sau:

        System.out.print("This is ");
        System.out.println("a test.");
    

Kết quả sẽ là gì?




Đáp án đúng: A) This   is   a   test.
Giải thích: print sẽ in ra "This is " trên dòng đầu tiên, và println sẽ in ra "a test." trên dòng mới.

Câu 43: Câu lệnh nào sau đây sẽ tạo ra một dòng đầu ra trống?

        System.out.print();
    



Đáp án đúng: B) System.out.println();
Giải thích: Câu lệnh println mà không có gì bên trong sẽ tạo ra một dòng đầu ra trống, trong khi print() không hợp lệ.

Câu 44: Tên lớp trong Java nên bắt đầu bằng chữ gì?




Đáp án đúng: C) Chữ cái viết hoa
Giải thích: Theo quy tắc đặt tên trong Java, tên lớp nên bắt đầu bằng chữ cái viết hoa.

Câu 45: Định danh nào sau đây là hợp pháp trong Java?




Đáp án đúng: C) _myVariable
Giải thích: Định danh hợp pháp trong Java phải bắt đầu bằng chữ cái, dấu gạch dưới hoặc ký tự đô-la.

Câu 46: Từ khóa nào sau đây không thể được sử dụng làm tên biến trong Java?




Đáp án đúng: A) public
Giải thích: public là một từ khóa trong Java, do đó không thể sử dụng làm tên biến.

Câu 47: Câu lệnh nào sẽ gây ra lỗi biên dịch trong Java?

        int myVariable = 10;
    



Đáp án đúng: B) double 1stNumber = 20.5;
Giải thích: Định danh không thể bắt đầu bằng chữ số, do đó 1stNumber là không hợp lệ.

Câu 48: Điều gì xảy ra khi bạn cố gắng đặt tên cho phương thức là "class" trong Java?




Đáp án đúng: B) Gây ra lỗi biên dịch
Giải thích: class là một từ khóa trong Java và không thể sử dụng làm tên cho phương thức hoặc biến.

Câu 49: Java phân biệt chữ hoa và chữ thường trong các định danh. Câu nào sau đây đúng?




Đáp án đúng: D) Tất cả các lựa chọn trên đều đúng
Giải thích: Tất cả các định danh đều khác nhau do Java phân biệt chữ hoa và chữ thường.

Câu 50: Đoạn mã sau tạo ra bao nhiêu dòng trống trong đầu ra?

        System.out.println();
        System.out.println();
    



Đáp án đúng: C) 2
Giải thích: Mỗi câu lệnh System.out.println() tạo ra một dòng trống, vì vậy hai lệnh sẽ tạo ra hai dòng trống.

Câu 51: Trong Java, đoạn mã /* comment */ được sử dụng để làm gì?




Đáp án đúng: A) Ghi chú một đoạn văn bản mà chương trình bỏ qua khi biên dịch
Giải thích: /* comment */ là cú pháp chú thích trong Java. Trình biên dịch sẽ bỏ qua nội dung bên trong chú thích.

Câu 52: [code] Đoạn mã sau sẽ tạo ra lỗi gì?

        /* Đây là một chú thích sai */
        System.out.println("Hello");
        /* Chú thích này có lỗi /*/
        System.out.println("Sai cú pháp");
    



Đáp án đúng: A) Lỗi biên dịch do chú thích không đóng đúng cách
Giải thích: Chú thích không được phép chứa chuỗi /* bên trong mà không đóng lại đúng cách, dẫn đến lỗi biên dịch.

Câu 53: Khi sử dụng System.out.println(), lệnh nào trong số sau đây được sử dụng để vẽ hình hộp chữ nhật?




Đáp án đúng: D) Tất cả các lệnh trên
Giải thích: Cả ba lệnh đều góp phần tạo ra hình hộp chữ nhật bằng cách sử dụng các ký tự đặc biệt và ký tự dấu cộng +.

Câu 54: Cú pháp nào sau đây sử dụng chú thích một dòng?




Đáp án đúng: B) // Đây là chú thích một dòng
Giải thích: // là cú pháp sử dụng cho chú thích một dòng trong Java.

Câu 55: Đoạn mã sau sẽ in ra gì trên màn hình?

            
System.out.println("+------+");
System.out.println("|      |");
System.out.println("+------+");
            
        



Đáp án đúng: A)
Giải thích: Chương trình in ra một hình chữ nhật với các đường biên và khoảng trống bên trong.

Câu 56: Trong Java, điều gì xảy ra nếu bạn không đóng chú thích mở bằng /*?




Đáp án đúng: A) Lỗi biên dịch
Giải thích: Nếu chú thích mở bằng /* không được đóng đúng cách, trình biên dịch sẽ báo lỗi vì không biết khi nào kết thúc chú thích.

Câu 57: Điều nào sau đây là lợi ích của việc sử dụng chú thích trong mã nguồn?




Đáp án đúng: A) Tăng cường tính dễ đọc của mã
Giải thích: Chú thích không ảnh hưởng đến quá trình biên dịch mà giúp lập trình viên hoặc người khác hiểu rõ hơn về mã.

Câu 58: Đoạn mã sau sẽ tạo ra hình gì?

            
System.out.println("  /\\");
System.out.println(" /  \\");
System.out.println("/    \\");
System.out.println("+------+");
System.out.println("|      |");
System.out.println("+------+");
            
        



Đáp án đúng: B) Một hình tam giác và hình chữ nhật
Giải thích: Chương trình in ra một hình tam giác phía trên và một hình chữ nhật bên dưới.

Câu 59: Lỗi cú pháp là gì?




Đáp án đúng: C) Lỗi do vi phạm quy tắc ngữ pháp của Java
Giải thích: Lỗi cú pháp xảy ra khi chương trình vi phạm các quy tắc ngữ pháp của Java và được phát hiện bởi trình biên dịch.

Câu 60: Điều gì xảy ra nếu tên tệp không khớp với tên lớp trong chương trình Java?




Đáp án đúng: B) Chương trình không thể biên dịch và sẽ báo lỗi
Giải thích: Java yêu cầu tên tệp phải khớp với tên lớp công khai (public class). Nếu không, chương trình sẽ báo lỗi và không thể biên dịch.

Câu 61: Khi bạn viết sai chính tả từ "println" thành "pruntln", trình biên dịch sẽ báo lỗi gì?




Đáp án đúng: C) Không thể tìm thấy ký hiệu
Giải thích: Trình biên dịch sẽ không thể nhận diện phương thức "pruntln" vì nó không tồn tại, do đó sẽ báo lỗi không tìm thấy ký hiệu.

Câu 62: Điều gì xảy ra nếu bạn quên dấu chấm phẩy (;) ở cuối một câu lệnh trong Java?




Đáp án đúng: B) Trình biên dịch sẽ báo lỗi và chỉ ra vị trí thiếu dấu chấm phẩy
Giải thích: Mọi câu lệnh trong Java phải kết thúc bằng dấu chấm phẩy. Nếu thiếu, trình biên dịch sẽ báo lỗi và không thể tiếp tục thực thi.

Câu 63: Lỗi thời gian chạy là gì?




Đáp án đúng: B) Lỗi nghiêm trọng khiến chương trình dừng lại khi đang chạy
Giải thích: Lỗi thời gian chạy là lỗi logic nghiêm trọng, dẫn đến việc chương trình bị dừng khi đang thực thi.

Câu 64: Trong Java, điều gì xảy ra khi bạn quên từ khóa "void" trong khai báo phương thức "main"?




Đáp án đúng: B) Trình biên dịch báo lỗi và yêu cầu một kiểu trả về hợp lệ
Giải thích: Java yêu cầu khai báo phương thức "main" với từ khóa "void" để chỉ ra rằng phương thức này không trả về giá trị. Nếu thiếu, trình biên dịch sẽ báo lỗi về khai báo phương thức không hợp lệ.

Câu 65: Khi quên đóng chuỗi ký tự (dấu ngoặc kép), trình biên dịch sẽ báo lỗi gì?




Đáp án đúng: C) Lỗi chuỗi ký tự chưa được đóng
Giải thích: Nếu một chuỗi ký tự không được đóng đúng cách, trình biên dịch sẽ báo lỗi "unclosed string literal" chỉ ra rằng dấu ngoặc kép bị thiếu.

Câu 66: Nếu bạn quên từ khóa "class" khi khai báo một lớp, trình biên dịch sẽ báo lỗi gì?




Đáp án đúng: D) Lỗi yêu cầu khai báo class, interface, hoặc enum
Giải thích: Nếu bạn quên từ khóa "class", trình biên dịch sẽ yêu cầu khai báo một class, interface, hoặc enum vì Java không nhận diện được kiểu khai báo.

Câu 67: Điều gì xảy ra nếu bạn quên đóng bình luận nhiều dòng trong Java?




Đáp án đúng: B) Trình biên dịch sẽ báo lỗi cú pháp và không biên dịch chương trình
Giải thích: Bình luận nhiều dòng phải được đóng đúng cách bằng "/". Nếu quên, trình biên dịch sẽ báo lỗi cú pháp và không thể biên dịch chương trình.

Câu 68: Phương pháp nào giúp lập trình viên phát triển chương trình theo từng phần một cách hiệu quả?




Đáp án đúng: B) Phát triển từng phần của chương trình theo cách tiếp cận từng bước
Giải thích: Phương pháp cải tiến theo từng bước (stepwise refinement) cho phép lập trình viên phát triển chương trình một cách từ từ, kiểm tra và sửa lỗi từng phần trước khi chuyển sang phần tiếp theo.

Câu 69: Lệnh nào sau đây sẽ gọi phương thức drawBox trong chương trình Java?




Đáp án đúng: C) drawBox()
Giải thích: Trong Java, để gọi một phương thức tĩnh, bạn chỉ cần sử dụng cú pháp drawBox();, như được minh họa trong chương trình.

Câu 70: Từ khóa nào trong tiêu đề phương thức tĩnh chỉ ra rằng phương thức không trả về giá trị?




Đáp án đúng: C) void
Giải thích: Từ khóa void chỉ ra rằng phương thức không trả về bất kỳ giá trị nào.

Câu 71: Điều gì xảy ra khi phương thức drawBox() được gọi trong phương thức main?




Đáp án đúng: B) Các câu lệnh trong drawBox() được thực thi
Giải thích: Khi drawBox() được gọi, dòng chảy điều khiển nhảy vào phương thức này và thực thi các câu lệnh bên trong nó.

Câu 72: Dòng đầu tiên trong phương thức drawBox có chức năng gì?





Đáp án đúng: C) Định nghĩa tiêu đề phương thức
Giải thích: Dòng đầu tiên là tiêu đề phương thức, xác định tên phương thức và các thuộc tính của nó như public, static, và void.

Câu 73: Để tránh sự dư thừa trong chương trình, ta có thể làm gì?




Đáp án đúng: C) Định nghĩa các phương thức tĩnh để thực hiện các nhiệm vụ lặp lại
Giải thích: Phương thức tĩnh giúp tránh sự dư thừa bằng cách tập hợp các câu lệnh lặp lại vào một phương thức duy nhất có thể được gọi nhiều lần.

Câu 74: Khi nào một phương thức trong Java được thực thi?




Đáp án đúng: B) Khi nó được gọi
Giải thích: Phương thức chỉ được thực thi khi có lệnh gọi đến nó, như drawBox();.

Câu 75: Từ khóa static trong Java có ý nghĩa gì khi khai báo phương thức?




Đáp án đúng: B) Phương thức này không thuộc về bất kỳ đối tượng nào
Giải thích: Từ khóa static chỉ ra rằng phương thức thuộc về lớp, không phải đối tượng cụ thể, và có thể được gọi mà không cần tạo đối tượng.

Câu 76: Trong chương trình DrawBoxes2, dòng nào sau đây thể hiện sự thay đổi trong dòng chảy điều khiển?




Đáp án đúng: B) drawBox()
Giải thích: Khi gặp lệnh drawBox();, dòng chảy điều khiển nhảy vào phương thức drawBox và thực thi các câu lệnh bên trong đó trước khi quay lại phương thức main.

Câu 77: Nếu chương trình cần vẽ ba hộp, bạn cần thay đổi điều gì trong phương thức main?




Đáp án đúng: A) Thêm một lệnh gọi drawBox();
Giải thích: Để vẽ thêm một hộp, chỉ cần thêm một lệnh gọi drawBox(); trong phương thức main.

Câu 78: Tại sao việc sử dụng phương thức tĩnh lại hữu ích trong các chương trình lớn?




Đáp án đúng: B) Giúp giảm thiểu sự dư thừa và cải thiện cấu trúc chương trình
Giải thích: Phương thức tĩnh giúp tách biệt các nhiệm vụ, tránh lặp lại mã, và giúp chương trình dễ bảo trì, mở rộng hơn.

Câu 79: Điều gì sẽ xảy ra khi một phương thức trong Java tự gọi lại chính nó một cách vô hạn?




Đáp án đúng: C) Chương trình sẽ gặp lỗi StackOverflowError
Giải thích: Khi một phương thức gọi chính nó liên tục mà không có điều kiện dừng, nó sẽ gây ra lỗi StackOverflowError, vì ngăn xếp bộ nhớ của chương trình sẽ bị tràn do quá nhiều lệnh gọi đệ quy.

Câu 80: Thuật ngữ "foo" thường được sử dụng như thế nào trong lập trình?




Đáp án đúng: B) Để làm tên mẫu cho bất kỳ đối tượng hoặc chương trình nào
Giải thích: Thuật ngữ "foo" thường được sử dụng như một tên mẫu trong lập trình khi cần đặt tên cho đối tượng hoặc chương trình không có ý nghĩa cụ thể.

Câu 81: Lỗi nào sau đây xảy ra khi chương trình cố gắng chia một số cho 0?




Đáp án đúng: B) ArithmeticException
Giải thích: Trong Java, khi một chương trình cố gắng chia một số cho 0, lỗi ArithmeticException sẽ xảy ra vì phép tính này không hợp lệ.

Câu 82: Lỗi thời gian chạy có thể được ngăn ngừa bằng cách nào?




Đáp án đúng: B) Kiểm tra mã nhiều lần bằng cách chạy chương trình
Giải thích: Để ngăn chặn lỗi thời gian chạy, cần phải kiểm tra và chạy chương trình nhiều lần nhằm phát hiện các lỗi có thể phát sinh trong quá trình thực thi.

Câu 83: Phương thức nào sau đây sẽ gây ra lỗi thời gian chạy trong ví dụ sau?

public class Infinite {
    public static void main(String[] args) {
        oops();
    }
    public static void oops() {
        System.out.println("Make it stop!");
        oops();
    }
}
    



Đáp án đúng: A) oops()
Giải thích: Phương thức oops() gọi chính nó một cách đệ quy vô hạn mà không có điều kiện dừng, dẫn đến lỗi StackOverflowError khi ngăn xếp bộ nhớ bị tràn.