Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте For-Цикл у Dart | Цикли в Dart
Вступ до Dart

For-Цикл у Dart

Свайпніть щоб показати меню

Цикл for повторює певний блок коду кілька разів. Наприклад, якщо потрібно перевірити оцінку кожного студента у класі з 32 учнів, ми виконуємо цикл від 1 до 32.

Цикл for використовується для багаторазового виконання певної частини коду відому кількість разів.

Деякі приклади:

  • Обчислення середнього віку учнів школи. Хоча вам (програмісту) може бути складно дізнатися, скільки учнів у школі, комп'ютер може це зробити. Dart досягає цього за допомогою властивості length у List;
  • Виведення парних чисел від 1 до 500;
  • Пошук у List чисел, наприклад, знаходження найвищого балу на тесті. Знову ж таки, комп'ютер знає, скільки оцінок у List, тому цикл for підходить для цього.

Синтаксис For-Loop

Розглянемо синтаксис циклу for на прикладі коду нижче:

for (Initialization; Condition; Increment/Decrement) {
  // Сode block
}

Цикл for у Dart має три частини:

  • Ініціалізація: ініціалізація змінної, яка контролює кількість ітерацій циклу. У цьому випадку ми ініціалізуємо змінну з іменем i і значенням 0;

  • Умова: це умова, яка визначає, чи продовжувати виконання циклу. У цьому випадку перевіряється, чи значення i менше 5;

  • Інкремент або Декремент — це операції, які виконуються над лічильником наприкінці кожної ітерації циклу.

Кожна з цих інструкцій у циклі for відокремлюється крапкою з комою ;.

Приклад

У цьому прикладі використовується цикл for для виведення повідомлення в консоль п'ять разів. Ось як це працює:

main.dart

main.dart

12345
void main() { for (int day = 1; day <= 7; day++) { print("Day $day: Time to exercise!"); } }

Уявіть, що ви створюєте простий нагадувач про тренування. Цей код виводить повідомлення для кожного дня, нагадуючи про необхідність займатися спортом.

  • int day = 1: ініціалізує змінну day значенням 1 (перший день тренування);
  • day <= 7: цикл виконується, поки day менше або дорівнює 7 (повний тиждень);
  • day++: збільшує значення day на 1 після кожного нагадування;
  • print("Day $day: Time to exercise!"): виводить "Day 1: Time to exercise!", "Day 2: Time to exercise!" і так далі до сьомого дня.

Синтаксис циклів For-In

Ось як працює цикл for-in у Dart, поданий у простій структурі:

for (Type variable in collection) {
  // Code to execute for each item
}
  • for: ключове слово, що починає цикл;
  • (Type variable in collection): структура циклу:
    • Type: тип даних кожного елемента у колекції (наприклад, String, int);
    • variable: тимчасова змінна, що містить поточний елемент;
    • in collection: колекція (список), по якій проходить цикл;
  • {}: тіло циклу, що містить код, який виконується для кожного елемента.

Цикл for дозволяє зручно працювати зі списками.

Приклад

Розглянемо приклад:

main.dart

main.dart

123456
void main() { List<String> fruits = ["apple", "banana", "orange"]; for (String fruit in fruits) { print(fruit); } }

Цей код визначає список рядків, що представляють різні fruits: "apple", "banana" та "orange". Список зберігається у змінній fruits.

for (String fruit in fruits) {

Ми використовуємо цикл for-in, щоб пройтись по кожному елементу списку fruits. Цей цикл автоматично отримує кожен фрукт по черзі та присвоює його змінній fruit. Тут fruit містить значення поточного фрукта під час кожної ітерації.

print(fruit); 

Усередині циклу поточний fruit виводиться у консоль. Далі цикл переходить до наступного фрукта і повторює процес, доки всі елементи списку не будуть виведені.

Такий підхід корисний при роботі зі списками, наприклад, для відображення списку покупок або обробки вибраних користувачем елементів.

Дано список назв продуктів. Ваше завдання — завершити умову всередині циклу, щоб виводилися лише ті продукти, які містять літеру "o".

  1. Завершіть умову if всередині циклу, щоб перевірити, чи містить назва продукту літеру "o".
  2. Переконайтеся, що виводяться лише продукти, які містять "o" (у верхньому або нижньому регістрі).
  3. Очікуваний результат:
Laptop
Headphones
Mouse
Keyboard
Monitor
main.dart

main.dart

12345678910111213141516
void main() { List<String> products = [ "Laptop", "Headphones", "Mouse", "Keyboard", "USB Cable", "Monitor" ]; for (String product in products) { if (___) { // Complete the condition print(product); } } }

Використовуйте .contains("o"), щоб перевірити, чи містить рядок літеру "o".

main.dart

main.dart

12345678910111213141516
void main() { List<String> products = [ "Laptop", "Headphones", "Mouse", "Keyboard", "USB Cable", "Monitor" ]; for (String product in products) { if (product.toLowerCase().contains("o")) { // Check if "o" is in the product name print(product); } } }
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 4. Розділ 4

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Секція 4. Розділ 4
some-alt