Toán tử modulo
Thuộc phần Kiến thức cơ bản trong hành trình Dart của Coddy. Bài học 18 trên 94.
Toán tử modulo (%) cho ta số dư sau phép chia. Cùng tìm hiểu cách toán tử này hoạt động qua một vài ví dụ đơn giản.
Phép toán modulo cơ bản
void main() {
int dividend = 10;
int divisor = 3;
int remainder = dividend % divisor;
print('Remainder of $dividend ÷ $divisor = $remainder');
}Đầu ra: Remainder of 10 ÷ 3 = 1
Khi chia 10 cho 3, ta được 3 và dư 1. Toán tử modulo % lấy giá trị phần dư đó.
Kiểm tra số chẵn và số lẻ
Ta có thể xác định một số là chẵn hay lẻ bằng toán tử modulo:
void main() {
int number = 15;
int remainder = number % 2;
print('$number % 2 = $remainder');
// Số chẵn có số dư bằng 0 khi chia cho 2
bool isEven = remainder == 0;
// Dùng trực tiếp giá trị boolean thay vì if/else
String result = isEven ? '$number is even' : '$number is odd';
print(result);
}Đầu ra:
15 % 2 = 1
15 is oddThử thách
DễTạo một chương trình sử dụng toán tử modulo (%) để giải các bài toán sau:
- Khai báo một biến số nguyên
totalMinutescó giá trị là 197 - Tính và lưu số giờ trọn vẹn trong
totalMinutesbằng phép chia lấy phần nguyên - Tính và lưu số phút còn lại bằng toán tử modulo
- In thời gian theo giờ và phút đúng chính xác theo định dạng sau:
197 minutes is 3 hours and 17 minutes.Sau đó:
- Khai báo một biến số nguyên
coinscó giá trị là 57 - Tính và lưu số đồng 25 xu có thể đổi từ
coins - Tính và lưu số đồng xu còn lại bằng toán tử modulo
- In kết quả đúng chính xác theo định dạng sau:
57 coins can be divided into 2 quarters and 7 remaining coins.Tự làm thử
void main() {
// Khai báo các biến (variable) ở đây
// Thay từng giá trị giữ chỗ bên dưới bằng giá trị mà bài yêu cầu
int totalMinutes = 0;
// Tính số giờ và số phút còn lại
// Dùng phép chia lấy phần nguyên để tính số giờ và toán tử (operator) chia lấy dư để tính số phút
int hours = totalMinutes;
int remainingMinutes = totalMinutes;
// In ra kết quả thời gian
print("$totalMinutes minutes is $hours hours and $remainingMinutes minutes.");
// Tính số đồng 25 xu và số xu còn lại
int coins = 0;
int quarters = coins ~/ 1;
int remainingCoins = coins % 1;
// In ra kết quả tính số xu
print("$coins coins can be divided into $quarters quarters and $remainingCoins remaining coins.");
}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