JavaRush /Java блогу /Random-KY /Javaдагы циклдер

Javaдагы циклдер

Группада жарыяланган

Циклдер деген эмне

Java тorнде жазылган программа белгилүү бир codeдон турат. Көбүнчө ал ырааттуу түрдө аткарылат: сап боюнча, өйдөдөн ылдыйга. Бирок программанын сызыктуу аткарылышын өзгөртүүчү code структуралары да бар. Алар башкаруу структуралары деп аталат . Javaдагы циклдер - 1Алардын жардамы менен code тандалып аткарылышы мүмкүн. Мисалы, башкасынын ордуна codeдун бир блогун иштетиңиз. Циклдер – бир эле codeдун кайталап аткарылышын уюштуруу үчүн башкаруу конструкциясынын бир түрү. Мындай башкаруу структурасынын ичиндеги code циклдик түрдө аткарылат. Коддун ар бир аткарылышы циклдин итерациясы болуп саналат . Итерациялардын саны циклдин шарты менен көзөмөлдөнөт. Циклдин ичинде иштеген code циклдин денеси деп аталат . Циклдердин төмөнкү түрлөрү белгилүү :
  1. Алдын ала шарт циклдери: Аткаруу шарты биринчи итерациядан мурун аныкталат.

  2. Постшарттары бар циклдер: Аткаруу шарты биринчи итерациядан кийин аныкталат (ошондуктан алар ар дайым жок дегенде бир жолу аткарылат). Белгилүү бир шарт ишке ашканга чейин белгилүү бир аракетти аткаруу керек болгондо пайдалуу: мисалы, колдонуучунун киргизүүсүн ал “токто” деген сөздү киргизмейинче окуу.

  3. Эсептөө циклдери: Итерациялардын саны симуляцияланган эсептегич тарабынан аныкталат. Цикл шарты анын баштапкы жана акыркы маанилерин аныктайт. Ар бир итерацияда эсептегич көбөйөт. Итерациялардын санын алдын ала аныктай алабыз.

    Бул циклдер коллекциядагы бардык элементтерди кайталоо керек болгондо пайдалуу. Эсептегич менен циклдер “... үчүн циклдер” деп аталат. "Белгилүү бир коллекциянын ар бир элементи үчүн төмөнкү аракеттерди аткарыңыз."

    Циклдин аткарылышы анын шартына жеткенге чейин үзгүлтүккө учураган учурлар бар. Мисалы, бизде 100 сандан турган коллекция бар болсо жана анда терс сандар бар-жогун түшүнүшүбүз керек. Биз for циклин колдонуп бардык сандарды айланта баштасак болот. Бирок биринчи терс санды тапканыбызда, калган сандарды карап чыгуунун кажети жок. Биз циклдин аткарылышын үзгүлтүккө учуратсак болот, эгерде анын андан аркы аткарылышы мааниси жок болсо. Мындай жагдайлар циклдин үзгүлтүккө учурашы деп аталат.

  4. Шартсыз циклдер чексиз иштей турган циклдер. Мисалы: “1=1 болгондо, “1=1” басып чыгарыңыз”. Мындай программа кол менен үзүлгөнгө чейин иштейт.

    Бул циклдер циклди ичинен үзүү менен бирге колдонулганда да пайдалуу. Программанын катып калышына жол бербөө үчүн аларды кылдаттык менен колдонуңуз.

    Java программалоо тorндеги циклдер жөнүндө JavaRush курсунун 4-деңгээлинде көбүрөөк биле аласыз. Айрыкча while жана for циклдери менен.

Javaдагы циклдер

Эми Javaдагы циклдерди карап көрөлү. Бул тилде алардын бир нече түрү бар:
  • while— алдын ала шарты бар цикл;
  • do..while— постшарт менен цикл;
  • for— эсептегич менен цикл (укурук for);
  • for each..— “ар бир үчүн…” цикли — элементтердин жыйындысы аркылуу итерациялоо үчүн for түрү.

while, do.. whileжана forшартсыз цикл катары колдонулушу мүмкүн. Сиз JavaRush курсунун төртүнчү деңгээлинде ар кандай программалоо тилдериндеги циклдердин синтаксисин салыштыра аласыз. Мисалы, for жана while циклдери. Келгиле, келтирилген түрлөрүнүн ар бирине кыскача токтололу.

while цикли

Javaдагы бул цикл төмөнкүдөй көрүнөт:
while (expression) {
     statement(s)
}
Бул жерде:
  • expressionboolean— цикл шарты, маанини кайтара турган туюнтма .
  • statement(s)— цикл корпусу (codeдун бир же бир нече саптары).
Ар бир итерациядан мурун туюнтуунун мааниси эсептелет expression. Эгерде туюнтуунун натыйжасы чын болсо , циклдин денеси аткарылат statement(s). Мисал:
public class WhileExample {
    public static void main(String[] args) {
        int countDown = 10;

        while (countDown >= 0) {
            System.out.println("До старта: " + countDown);
            countDown --;
        }

        System.out.println("Поехали !");

    }
}
Жыйынтык:

До старта: 10
До старта: 9
До старта: 8
До старта: 7
До старта: 6
До старта: 5
До старта: 4
До старта: 3
До старта: 2
До старта: 1
До старта: 0
Поехали !
колдонуп while, сиз чексиз цикл түзө аласыз:
while (true) {
    // тело цикла
}
Циклдин аткарылышын үзгүлтүккө учуратуу үчүн оператор колдонулат break. Мисалы:
public class WhileExample {
    public static void main(String[] args) {

        int count = 1;
        while (true) {
            System.out.println("Строка №" + count);
            if (count > 3) {
                break;
            }
            count++; // Без наращивания цикл будет выполняться вечно
        }

    }
}
Жыйынтык:

Строка №1
Строка №2
Строка №3
Строка №4
Сиз JavaRush курсунун 4-деңгээлинде өзүңүздүн циклдериңизди жазууга машыгсаңыз болот.

do..while цикли

структурасы do.. whileмындай көрүнөт:
do {
     statement(s)
} while (expression);
Бул жерде:
  • expressionboolean— цикл шарты, маанини кайтара турган туюнтма .
  • statement(s)— цикл корпусу (codeдун бир же бир нече саптары).
дан айырмаланып while, туюнтуунун мааниси ар бир итерациядан кийин бааланат. Эгерде туюнтуунун натыйжасы true болсо , циклдин денеси кайра аткарылат statement(s)(жок дегенде бир жолу). Мисал:
public class DoWhileExample {
    public static void main(String[] args) {
        int count = 1;
        do {
            System.out.println("count = " + count);
            count ++;
        } while (count < 11);
    }
}
Жыйынтык:

count = 1
count = 2
count = 3
count = 4
count = 5
count = 6
count = 7
count = 8
count = 9
count = 10

цикл үчүн

Бул Java цикли төмөнкүдөй көрүнөт:
for (initialization; termination; increment) {
    statement(s)
}
Бул жерде:
  • initialization— циклдин аткарылышын баштоочу туюнтма. циклдин башында бир гана жолу аткарылган. Көбүнчө бул туюнтма цикл эсептегичти инициализациялайт
  • terminationbooleanциклдин аягын жөнгө салган туюнтма. Эгерде туюнтуунун натыйжасы false болсо , цикл forүзүлөт.
  • increment— циклдин ар бир итерациясынан кийин аткарылуучу туюнтма. Көбүнчө, бул туюнтма эсептегич өзгөрмөнү көбөйтүүнү же азайтууну камтыйт.
  • statement(s)— циклдин денеси.
initialization, termination, туюнтмалары incrementмилдеттүү эмес. Эгерде алардын ар бирин калтырсак, чексиз цикл алабыз:
// бесконечный цикл
for ( ; ; ) {
    // code тела цикла
}
Мисал цикл for:
public class ForExample {

    public static void main(String[] args) {
        for (int i = 1; i < 6; i++) {
            System.out.println("Строка №" + i);
        }
    }
}
Жыйынтык:

Строка №1
Строка №2
Строка №3
Строка №4
Строка №5
for цикли боюнча семинар JavaRush курсунун 4-деңгээлинде берилген.

Ар бири үчүн цикл

forБул Java цикли коллекцияларды жана массивдерди кайталоо үчүн циклдин бир түрү . структурасы for eachмындай көрүнөт:
for (Type var : vars) {
    statement(s)
}
Бул жерде:
  • vars- өзгөрмө, учурдагы тизме же массив
  • Type varType— коллекция менен бирдей типтеги ( ) жаңы өзгөрмөнү аныктоо vars.
Бул конструкцияны төмөнкүчө окууга болот: “Ар бир вардан вар, жасоо...”. Келгиле, бизде жуманын күндөрүнүн аталыштарынын бир катар саптары бар дейли. Бул массивдин ар бир элементин басып чыгаралы:
public class ForExample {

    public static void main(String[] args) {
        String[] daysOfWeek =
                { "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" };


        for (String dayOfWeek : daysOfWeek) {
            System.out.println(dayOfWeek);
        }
    }
}
Java циклдери JavaRush курсунда Java Syntax квестинин төртүнчү деңгээлинде окулат. Бул темадагы көйгөйлөрдү чечүүдө өз күчүңүздү сынап көрүңүз :) Javaдагы циклдер - 2
Комментарийлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION