Toán tử điều kiện
Thuộc phần Kiến thức cơ bản trong hành trình Dart của Coddy. Bài học 30 trên 94.
Toán tử điều kiện (?:) giúp viết câu lệnh if-else gọn gàng trên một dòng:
condition ? expressionIfTrue : expressionIfFalseVí dụ:
void main() {
int age = 20;
String status = age >= 18 ? 'Adult' : 'Minor';
print(status);
}Đầu ra: Adult
Nó hoạt động với nhiều kiểu dữ liệu (data type) và phù hợp để thực hiện các phép gán có điều kiện đơn giản.
Thử thách
DễTạo một chương trình dùng toán tử điều kiện (?:) để xác định xem người chơi có đủ điểm để lên cấp trong trò chơi hay không:
- Khai báo một biến số nguyên
playerScorecó giá trị là 750 - Khai báo một biến số nguyên
levelUpThresholdcó giá trị là 500 - Dùng toán tử điều kiện để tạo một thông báo dạng chuỗi, nội dung là một trong hai câu sau:
- "Level up!" nếu điểm của người chơi lớn hơn hoặc bằng ngưỡng
- "Keep trying!" nếu điểm của người chơi nhỏ hơn ngưỡng
- Lưu thông báo này vào một biến chuỗi có tên
message - In điểm của người chơi theo định dạng:
Player score: 750 - In thông báo
- Cập nhật điểm của người chơi thành 450
- Dùng lại toán tử điều kiện để cập nhật thông báo dựa trên điểm mới
- In điểm đã cập nhật của người chơi theo định dạng:
Player score: 450 - In thông báo đã cập nhật
Đầu ra của bạn phải khớp chính xác với định dạng mong đợi.
Tự làm thử
void main() {
// Khai báo các biến (variable) ở đây
// Thay mỗi số 0 bằng giá trị (value) mà đề bài yêu cầu
int playerScore = 0;
int levelUpThreshold = 0;
// Dùng toán tử điều kiện (conditional operator) để tạo thông báo đầu tiên
// Thay hai chuỗi rỗng bằng các thông báo mà đề bài yêu cầu
String message = playerScore >= levelUpThreshold ? "" : "";
// In ra điểm của người chơi và thông báo
print("Player score: $playerScore");
print(message);
// Cập nhật điểm của người chơi
// Thay số 0 bằng điểm mới mà đề bài yêu cầu
playerScore = 0;
// Dùng toán tử điều kiện để cập nhật thông báo
message = playerScore >= levelUpThreshold ? "" : "";
// In ra điểm mới của người chơi và thông báo
print("Player score: $playerScore");
print(message);
}Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Kiến thức cơ bản
4Các toán tử phần 2
Toán tử so sánhPhép AND logicPhép OR logicPhép NOT logicToán tử kiểm tra kiểuÔn tập: So sánh10Bộ sưu tập: kiến thức cơ bản về ánh xạ
Ánh xạ là gì?Tạo ánh xạTruy cập giá trị bằng khóaCặp khóa và giá trịLấy kích thước ánh xạLấy các khóaLấy các giá trịKiểm tra khóa có tồn tại không13An toàn với giá trị null chuyên sâu
Tìm hiểu giá trị nullKiểu dữ liệu nullableKiểu dữ liệu non-nullableToán tử khẳng định non-nullKhởi tạo muộnÔn tập: xử lý null an toàn16Thử thách về kiến thức cơ bản
Thử thách: Danh sách phép tínhThử thách: Tính tổng các sốThử thách: Tìm tích2Biến và kiểu dữ liệu cơ bản
Biến là gì?ChuỗiSố nguyên (int)Số thực (double)Giá trị logic (bool)Suy luận kiểu dữ liệu với 'var'Biến finalBiến hằng sốQuy tắc đặt tênAn toàn với null cơ bảnÔn tập: khai báo biến8Luồng điều khiển: vòng lặp
Vòng lặp forVòng lặp whileVòng lặp do-whileDùng break trong vòng lặpDùng continue trong vòng lặpÔn tập: lặp lại code11Hàm cơ bản
Hàm là gì?Định nghĩa hàm cơ bảnGọi hàmHàm có tham sốHàm trả về giá trịTừ khóa 'void'Cú pháp mũi tênÔn tập: hàm đơn giản14Chuyển đổi kiểu dữ liệu
Chuyển chuỗi thành số nguyênChuyển chuỗi thành số thựcChuyển số thành chuỗiXử lý lỗi chuyển đổi3Các toán tử, phần 1
Toán tử số họcPhép chia số nguyênToán tử moduloToán tử tăng và giảmToán tử gán rút gọnÔn tập: phép tính đơn giản6Luồng điều khiển: ra quyết định
Câu lệnh 'if'Câu lệnh 'else'Câu lệnh 'else if'Ôn tập: quyết định đơn giảnCâu lệnh 'if' lồng nhauCâu lệnh 'switch'9Cơ bản về danh sách trong Collections
Danh sách là gì?Tạo danh sáchTruy cập theo chỉ sốLấy độ dài danh sáchThêm phần tửXóa phần tửKiểm tra danh sách có rỗng khôngDuyệt qua danh sáchTự luyện tập: Trình biên dịch Dart online