JavaRush /Блоги Java /Random-TG /Давраҳо дар Java

Давраҳо дар Java

Дар гурӯҳ нашр шудааст

Давраҳо чист

Барномае, ки дар Java навишта шудааст, аз рамзи мушаххас иборат аст. Одатан он пай дар пай иҷро мешавад: сатр ба сатр, аз боло ба поён. Аммо сохторҳои рамзӣ низ мавҷуданд, ки иҷрои хатти барномаро тағир медиҳанд. Онҳо сохторҳои назорат номида мешаванд . Давраҳо дар Java - 1Ба шарофати онҳо, codeро интихобан иҷро кардан мумкин аст. Масалан, як блоки codeро ба ҷои дигаре иҷро кунед. Доираҳо як намуди сохтори назоратӣ барои ташкor иҷрои такрории як порчаи code мебошанд. Рамзи дохor чунин сохтори идоракунӣ ба таври даврӣ иҷро карда мешавад. Ҳар як иҷроиши code як такрори давра мебошад . Миқдори такрорҳо аз ҷониби ҳолати давр идора карда мешавад. Рамзе, ки дар дохor давр кор мекунад, ҷисми ҳалқа номида мешавад . Навъҳои зерини давраҳо маълуманд :
  1. Давраҳои пешакӣ: Шарти иҷро пеш аз такрори аввал муайян карда мешавад.

  2. Давраҳо бо шарти баъдина: Шарти иҷро пас аз такрори аввал муайян карда мешавад (аз ин рӯ онҳо ҳамеша ҳадди аққал як маротиба иҷро мешаванд). Вақте ки ба шумо лозим аст, ки амали муайянеро иҷро кунед, то иҷро шудани шарти муайян муфид бошад: масалан, хондани вуруди корбар то ворид шудани калимаи "ист".

  3. Доираҳои ҳисобкунак: Шумораи такрорҳо аз ҷониби ҳисобкунаки симулятсияшуда муайян карда мешавад. Шарти давр арзишҳои ибтидоӣ ва ниҳоии онро муайян мекунад. Ҳар як такрор ҳисобкунак зиёд мешавад. Мо метавонем шумораи такрориро пешакӣ муайян кунем.

    Ин ҳалқаҳо вақте муфиданд, ки ба шумо лозим аст, ки тамоми унсурҳои коллексияро такрор кунед. Доираҳое, ки ҳисобкунак доранд, "халқаҳо барои..." номида мешаванд. "Барои ҳар як унсури коллексияи муайян амалҳои зеринро иҷро кунед."

    Ҳолатҳое ҳастанд, ки иҷрои ҳалқаро пеш аз расидан ба ҳолати он қатъ кардан мумкин аст. Масалан, агар мо маҷмӯи 100 адад дошта бошем ва мо бояд фаҳмем, ки оё он рақамҳои манфӣ дорад. Мо метавонем ба гардиши ҳама рақамҳо бо истифода аз даври for шурӯъ кунем. Аммо вақте ки мо рақами манфии аввалро пайдо мекунем, ба мо лозим нест, ки рақамҳои боқимондаро аз назар гузаронем. Мо метавонем иҷрои ҳалқаро қатъ кунем, агар иҷрои минбаъдаи он маъно надошта бошад. Чунин ҳолатҳоро қатъи давра меноманд.

  4. Давраҳои бешартӣ ҳалқаҳое мебошанд, ки беохир кор мекунанд. Масалан: "Дар ҳоле ки 1=1, "1=1"-ро чоп кунед". Чунин барнома то даме ки дастӣ қатъ карда шавад, кор мекунад.

    Ин ҳалқаҳо инчунин ҳангоми истифода дар якҷоягӣ бо қатъ кардани ҳалқа аз дарун муфиданд. Онҳоро бодиққат истифода баред, то боиси ях шудани барнома нашавад.

    Шумо метавонед дар бораи ҳалқаҳо дар забони барномасозии Java дар сатҳи 4 курси JavaRush маълумоти бештар гиред. Махсусан бо ҳалқаҳои while ва for.

Давраҳо дар Java

Акнун биёед ба ҳалқаҳои Java назар андозем. Дар ин забон якчанд намуди онҳо вуҷуд доранд:
  • while— ҳалқа бо шарти пешакӣ;
  • do..while— давра бо шарти баъдина;
  • for— ҳалқа бо ҳисобкунак (халқа барои);
  • for each..— ҳалқаи “барои ҳар…” — як навъи for барои такрорӣ тавассути маҷмӯи элементҳо.

while, do.. whileва forметавонанд ҳамчун ҳалқаҳои бешарт истифода шаванд. Шумо метавонед синтаксиси ҳалқаҳоро дар забонҳои гуногуни барномасозӣ дар сатҳи чоруми омӯзиш дар курси JavaRush муқоиса кунед. Масалан, ҳалқаҳои for ва while. Биёед ҳар як намуди пешниҳодшударо мухтасар дида бароем.

ҳалқаи ҳол

Ин ҳалқа дар Java чунин менамояд:
while (expression) {
     statement(s)
}
Ин ҷо:
  • expression— шарти даврӣ, ифодае, ки бояд booleanарзиш баргардонад.
  • 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
Шумо метавонед дар сатҳи 4 курси JavaRush навиштани ҳалқаҳои худро машқ кунед.

do..while loop

Сохтор do.. whileчунин менамояд:
do {
     statement(s)
} while (expression);
Ин ҷо:
  • expression— шарти даврӣ, ифодае, ки бояд booleanарзиш баргардонад.
  • 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 дар сатҳи 4 курси JavaRush пешниҳод карда мешавад.

Давра барои ҳар як

Ин ҳалқаи Java як намуди ҳалқа forбарои такрор кардани коллексияҳо ва массивҳо мебошад. Сохтор for eachчунин менамояд:
for (Type var : vars) {
    statement(s)
}
Ин ҷо:
  • vars- тағирёбанда, рӯйхат ё массиви мавҷуда
  • Type var— муайян кардани тағирёбандаи нави як навъи ( Type) бо коллексия 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