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ớ?
Trả lời:
Đáp án đúng: B
Trong Java, kiểu dữ liệu *reference* (tham chiếu) lưu trữ địa chỉ của đối tượng hoặc mảng trong bộ nhớ. Các kiểu dữ liệu primitive (int, float, boolean, char...) lưu trữ trực tiếp giá trị, không phải địa chỉ. Kiểu format không phải là một kiểu dữ liệu trong Java. Do đó, đáp án B là chính xác.
Câu hỏi liên quan
Lời giải:
Đáp án đúng: C
Vòng lặp `while` trong lập trình được sử dụng để lặp lại một khối lệnh (một hoặc nhiều câu lệnh) nhiều lần, *chừng nào* điều kiện được chỉ định vẫn còn đúng (true). Điều kiện này được kiểm tra trước mỗi lần lặp. Nếu điều kiện sai (false) ngay từ đầu, khối lệnh bên trong vòng lặp sẽ không được thực thi lần nào. Vì vậy, đáp án C mô tả chính xác chức năng của vòng lặp `while`.
Các đáp án khác:
* A. Kiểm tra kết quả của biểu thức boolean: Mặc dù vòng lặp `while` sử dụng biểu thức boolean để quyết định có tiếp tục lặp hay không, đây không phải là *chức năng duy nhất* hoặc *mục đích chính* của nó. Chức năng chính là *lặp lại* dựa trên kết quả của biểu thức.
* B. Tránh mâu thuẫn giữa bên trong và bên ngoài switch: Câu này hoàn toàn không liên quan đến vòng lặp `while`. `switch` là một cấu trúc điều khiển khác, dùng để chọn một trong nhiều nhánh mã dựa trên giá trị của một biến.
* D. Không có đáp án đúng: Vì đáp án C đúng, nên đáp án này sai.
Các đáp án khác:
* A. Kiểm tra kết quả của biểu thức boolean: Mặc dù vòng lặp `while` sử dụng biểu thức boolean để quyết định có tiếp tục lặp hay không, đây không phải là *chức năng duy nhất* hoặc *mục đích chính* của nó. Chức năng chính là *lặp lại* dựa trên kết quả của biểu thức.
* B. Tránh mâu thuẫn giữa bên trong và bên ngoài switch: Câu này hoàn toàn không liên quan đến vòng lặp `while`. `switch` là một cấu trúc điều khiển khác, dùng để chọn một trong nhiều nhánh mã dựa trên giá trị của một biến.
* D. Không có đáp án đúng: Vì đáp án C đúng, nên đáp án này sai.
Lời giải:
Đáp án đúng: B
Lệnh `result = condition ? value1 : value2` là một toán tử điều kiện (ternary operator) trong nhiều ngôn ngữ lập trình, bao gồm C, C++, Java, JavaScript và Python. Nó hoạt động như sau:
- `condition` là một biểu thức boolean. Nó được đánh giá để xác định giá trị true hoặc false.
- Nếu `condition` là true, thì biểu thức trả về `value1`.
- Nếu `condition` là false, thì biểu thức trả về `value2`.
- Giá trị trả về được gán cho biến `result`.
Như vậy, phương án B mô tả đúng ý nghĩa của lệnh này.
- `condition` là một biểu thức boolean. Nó được đánh giá để xác định giá trị true hoặc false.
- Nếu `condition` là true, thì biểu thức trả về `value1`.
- Nếu `condition` là false, thì biểu thức trả về `value2`.
- Giá trị trả về được gán cho biến `result`.
Như vậy, phương án B mô tả đúng ý nghĩa của lệnh này.
Lời giải:
Đáp án đúng: B
Sau khi thực hiện đoạn code trên:
1. `String[] students = new String[10];` Khởi tạo một mảng `students` gồm 10 phần tử kiểu String. Lúc này, `students` là một đối tượng mảng, và nó có một tham chiếu đến vùng nhớ chứa mảng này.
2. `String studentName = "Peter Parker";` Khởi tạo một biến `studentName` kiểu String và gán cho nó giá trị "Peter Parker". Biến `studentName` có một tham chiếu đến vùng nhớ chứa chuỗi "Peter Parker".
3. `students[0] = studentName;` Gán giá trị của `studentName` (là tham chiếu đến chuỗi "Peter Parker") cho phần tử đầu tiên của mảng `students`. Bây giờ, cả `students[0]` và `studentName` đều tham chiếu đến cùng một đối tượng chuỗi "Peter Parker".
4. `studentName = null;` Gán `null` cho `studentName`. Điều này có nghĩa là `studentName` không còn tham chiếu đến đối tượng "Peter Parker" nữa. Tuy nhiên, `students[0]` vẫn tham chiếu đến đối tượng chuỗi "Peter Parker".
Vậy, sau khi thực hiện xong đoạn code, ta có:
* Mảng `students` (1 tham chiếu).
* Phần tử `students[0]` vẫn tham chiếu đến chuỗi "Peter Parker" (1 tham chiếu).
* Biến `studentName` không còn tham chiếu đến đối tượng nào (tham chiếu null).
Tổng cộng có 2 tham chiếu đến đối tượng mảng và biến còn tồn tại.
1. `String[] students = new String[10];` Khởi tạo một mảng `students` gồm 10 phần tử kiểu String. Lúc này, `students` là một đối tượng mảng, và nó có một tham chiếu đến vùng nhớ chứa mảng này.
2. `String studentName = "Peter Parker";` Khởi tạo một biến `studentName` kiểu String và gán cho nó giá trị "Peter Parker". Biến `studentName` có một tham chiếu đến vùng nhớ chứa chuỗi "Peter Parker".
3. `students[0] = studentName;` Gán giá trị của `studentName` (là tham chiếu đến chuỗi "Peter Parker") cho phần tử đầu tiên của mảng `students`. Bây giờ, cả `students[0]` và `studentName` đều tham chiếu đến cùng một đối tượng chuỗi "Peter Parker".
4. `studentName = null;` Gán `null` cho `studentName`. Điều này có nghĩa là `studentName` không còn tham chiếu đến đối tượng "Peter Parker" nữa. Tuy nhiên, `students[0]` vẫn tham chiếu đến đối tượng chuỗi "Peter Parker".
Vậy, sau khi thực hiện xong đoạn code, ta có:
* Mảng `students` (1 tham chiếu).
* Phần tử `students[0]` vẫn tham chiếu đến chuỗi "Peter Parker" (1 tham chiếu).
* Biến `studentName` không còn tham chiếu đến đối tượng nào (tham chiếu null).
Tổng cộng có 2 tham chiếu đến đối tượng mảng và biến còn tồn tại.
Lời giải:
Đáp án đúng: A
Chương trình báo lỗi vì biến `myRect` kiểu `Rectangle` được khai báo nhưng chưa được khởi tạo (chưa cấp phát bộ nhớ bằng `new Rectangle()`). Do đó, khi truy cập vào các thuộc tính `width` và `height` của `myRect`, chương trình sẽ gặp lỗi `NullPointerException`.
Lời giải:
Đáp án đúng: A
Toán tử "!" là toán tử NOT logic, dùng để đảo ngược giá trị của một biến boolean. Nếu biến có giá trị true, toán tử "!" sẽ biến nó thành false, và ngược lại. Các toán tử ">>", "<<", và ">>>" là các toán tử dịch bit, không dùng để đảo giá trị boolean.
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

FORM.08: Bộ 130+ Biểu Mẫu Thống Kê Trong Doanh Nghiệp
136 tài liệu563 lượt tải

FORM.07: Bộ 125+ Biểu Mẫu Báo Cáo Trong Doanh Nghiệp
125 tài liệu585 lượt tải

FORM.06: Bộ 320+ Biểu Mẫu Hành Chính Thông Dụng
325 tài liệu608 lượt tải

FORM.05: Bộ 330+ Biểu Mẫu Thuế - Kê Khai Thuế Mới Nhất
331 tài liệu1010 lượt tải

FORM.04: Bộ 240+ Biểu Mẫu Chứng Từ Kế Toán Thông Dụng
246 tài liệu802 lượt tải

CEO.22: Bộ Tài Liệu Quy Trình Kiểm Toán, Kiểm Soát Nội Bộ Doanh Nghiệp
138 tài liệu417 lượt tải
ĐĂNG KÝ GÓI THI VIP
- Truy cập hơn 100K đề thi thử và chính thức các năm
- 2M câu hỏi theo các mức độ: Nhận biết – Thông hiểu – Vận dụng
- Học nhanh với 10K Flashcard Tiếng Anh theo bộ sách và chủ đề
- Đầy đủ: Mầm non – Phổ thông (K12) – Đại học – Người đi làm
- Tải toàn bộ tài liệu trên TaiLieu.VN
- Loại bỏ quảng cáo để tăng khả năng tập trung ôn luyện
- Tặng 15 ngày khi đăng ký gói 3 tháng, 30 ngày với gói 6 tháng và 60 ngày với gói 12 tháng.
77.000 đ/ tháng