For-Silmukka Dartissa
Pyyhkäise näyttääksesi valikon
for-silmukka toistaa tietyn koodilohkon useita kertoja. Esimerkiksi, jos halutaan tarkistaa jokaisen opiskelijan arvosana luokassa, jossa on 32 opiskelijaa, silmukoidaan 1:stä 32:een.
for-silmukkaa käytetään toistamaan koodin osaa ennalta tiedetyn määrän kertoja.
Esimerkkejä:
- Koulun oppilaiden keski-iän laskeminen. Vaikka ohjelmoija ei välttämättä tiedä oppilaiden määrää, tietokone voi selvittää sen. Dart tekee tämän käyttämällä
length-olionList-ominaisuutta; - Parillisten lukujen tulostaminen 1:stä 500:aan;
- Etsintä
List-tyyppisestä lukujoukosta, esimerkiksi korkeimman pistemäärän löytäminen kokeessa. Taas tietokone tietää, kuinka monta arvosanaaListsisältää, jotenfor-silmukka sopii tähän.
For-silmukan syntaksi
Tarkastellaan for-silmukan syntaksia alla olevan esimerkkikoodin avulla:
for (Initialization; Condition; Increment/Decrement) {
// Сode block
}
Dartin for-silmukassa on kolme osaa:
-
Alustus: muuttujan alustus, joka määrittää silmukan toistojen määrän. Tässä alustetaan muuttuja nimeltä i arvolla 0;
-
Ehto: ehto, joka määrittää, jatketaanko silmukkaa. Tässä tarkistetaan, onko i pienempi kuin 5;
-
Inkrementointi tai dekrementointi ovat laskurin päivityksiä jokaisen silmukan kierroksen lopussa.
Jokainen näistä for-silmukan ohjeista erotetaan puolipisteellä ;.
Esimerkki
Tässä esimerkissä käytetään for-silmukkaa viestin tulostamiseen konsoliin viisi kertaa. Näin se toimii:
main.dart
12345void main() { for (int day = 1; day <= 7; day++) { print("Day $day: Time to exercise!"); } }
Kuvittele, että rakennat yksinkertaista treenimuistutinta. Tämä koodi tulostaa viestin jokaiselle päivälle muistuttaen liikkumisesta.
int day = 1: alustaa muuttujandayarvolla 1 (ensimmäinen treenipäivä);day <= 7: pitää silmukan käynnissä niin kauan kuindayon pienempi tai yhtä suuri kuin 7 (täysi viikko);day++: kasvattaaday-muuttujaa yhdellä jokaisen muistutuksen jälkeen;print("Day $day: Time to exercise!"): tulostaa"Day 1: Time to exercise!","Day 2: Time to exercise!"ja niin edelleen päivään 7 asti.
For-in-silmukan syntaksi
Näin toimii for-in-silmukka Dartissa, esitettynä yksinkertaisessa rakenteessa:
for (Type variable in collection) {
// Code to execute for each item
}
for: silmukan käynnistävä avainsana;(Type variable in collection): silmukan rakenne:Type: kokoelman jokaisen alkion tietotyyppi (esim.String,int);variable: väliaikainen muuttuja, joka sisältää nykyisen alkion;in collection: kokoelma (lista), jonka yli silmukka käy;
{}: silmukan runko, joka sisältää koodin, joka suoritetaan jokaiselle alkiolle.
for-silmukka mahdollistaa listojen käsittelyn kätevästi.
Esimerkki
Tarkastellaan esimerkkiä:
main.dart
123456void main() { List<String> fruits = ["apple", "banana", "orange"]; for (String fruit in fruits) { print(fruit); } }
Tämä koodi määrittelee merkkijonolistan, joka edustaa erilaisia fruits: "apple", "banana" ja "orange". Lista tallennetaan muuttujaan fruits.
for (String fruit in fruits) {
Käytämme for-in-silmukkaa käydäksemme läpi jokaisen alkion fruits-listassa. Tämä silmukka hakee automaattisesti jokaisen hedelmän yksi kerrallaan ja asettaa sen muuttujaan fruit. Tässä fruit sisältää nykyisen hedelmän arvon jokaisella silmukan kierroksella.
print(fruit);
Silmukan sisällä nykyinen fruit tulostetaan konsoliin. Silmukka siirtyy seuraavaan hedelmään ja toistaa prosessin, kunnes kaikki listan alkiot on tulostettu.
Tämä lähestymistapa on hyödyllinen työskenneltäessä listojen kanssa, kuten ostoslistan näyttämisessä tai käyttäjän valitsemien alkioiden käsittelyssä.
Sinulle annetaan lista tuotenimistä. Tehtävänäsi on täydentää silmukan ehto niin, että tulostetaan vain tuotteet, joiden nimessä on kirjain "o".
- Täydennä silmukan
if-ehto tarkistamaan, sisältääkö tuotenimi kirjaimen"o". - Varmista, että vain tuotteet, joiden nimessä on
"o"(iso tai pieni kirjain), tulostetaan. - Odotettu tuloste:
Laptop
Headphones
Mouse
Keyboard
Monitor
main.dart
12345678910111213141516void main() { List<String> products = [ "Laptop", "Headphones", "Mouse", "Keyboard", "USB Cable", "Monitor" ]; for (String product in products) { if (___) { // Complete the condition print(product); } } }
Käytä .contains("o") tarkistaaksesi, sisältääkö merkkijono kirjaimen "o".
main.dart
12345678910111213141516void 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); } } }
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme