CodeGym /Blog Java /Aleatoriu /Java While Loop
John Squirrels
Nivel
San Francisco

Java While Loop

Publicat în grup
Bucla while se găsește în aproape orice limbaj de programare, iar Java nu face excepție. While loop în Java și în alte limbi execută o instrucțiune sau un bloc de instrucțiuni atâta timp cât valoarea condiției care a declanșat-o este adevărată. În acest articol, vom vorbi despre cum să lucrați cu bucla while . Java While Loop - 1

Pentru ce sunt ciclurile?

Primele tale programe au fost o secvență de instrucțiuni care au fost executate pas cu pas unul după altul. Fără furculițe și repetări. Mai târziu am început să folosim ramuri cu ajutorul operatorilor condiționali. Ei bine, pentru a efectua acțiuni repetitive, există cicluri. Poate că ciclurile sunt unul dintre cele mai evidente beneficii pentru programatorii începători pe care le oferă automatizarea proceselor. Imaginați-vă că trebuie să scrieți un program de urmărire care numără numărul de pași făcuți într-o zi. Și când treci, de exemplu, de 10.000 de pași, programul ar trebui să-ți trimită o notificare despre obiectivul atins. Sarcina emiterii unei notificări poate fi exprimată în cuvinte (sau pseudocod) astfel:

While (number of steps less than 10,000)
{
Count steps
}

Send notification "you have reached the goal"
Adică, de îndată ce numărul de pași este egal cu ceea ce este specificat în condiție, programul iese din acest ciclu și trimite o notificare. Sau alt exemplu. Imaginați-vă că trebuie să memorați o poezie (sau un discurs). O poezie este considerată memorată dacă o poți citi de trei ori la rând fără să arunci o privire. Dacă îți imaginezi un program care surprinde încercările tale de a recita o poezie, ar trebui să folosească și o buclă:

While (success < 3)
learn a poem
Construcții similare sunt folosite în toate aplicațiile educaționale moderne care sunt utilizate, de exemplu, în învățarea limbilor străine sau pentru a cânta instrumente muzicale.

bucla While și structura sa

Pentru a rezolva probleme precum exemplele de mai sus și, în general, pentru a automatiza acțiunile repetitive în Java, puteți utiliza bucla while . Java while bucla va funcționa bine în cazul nostru. Acest design organizează mai multe acțiuni într-o structură concisă și de înțeles. Instrucțiunea while loop se găsește în aproape toate limbajele de programare. Repetă o declarație sau un bloc de instrucțiuni atâta timp cât valoarea expresiei sale de control este adevărată. Forma buclei while este următoarea:

while(condition == true) {
    // statement or loop body
}
Condiția trebuie să fie o expresie booleană, adică una despre care se poate spune că este adevărată sau falsă. Iată câteva exemple de expresii booleene:

s != "exit";
a > 5;
true;
Corpul buclei va fi executat atâta timp cât expresia condiționată este adevărată. Când condiția devine falsă, controlul este transferat la linia de cod care vine după buclă. Dacă în buclă este utilizată o singură instrucțiune, atunci acoladele pot fi omise (dar este mai bine să nu faceți acest lucru). Expresia logică este evaluată înainte de începerea buclei while și apoi de fiecare dată înainte ca următoarea repetiție a instrucțiunii să fie executată.

Exemple de buclă While

Să scriem un program care să însumeze toate numerele de la 1 la 10 folosind o buclă while :

public class WhileTest0 {
   public static void main(String[] args) {
       int i = 0;
       int sum = 0;
   //while loop     
   while (i < 11) {
           sum = sum + i;
           i++;
       }
       System.out.println(sum);
   }
}
Ieșirea este:
55
Trebuie să calculăm suma tuturor numerelor de la 1 (sau de la zero, nu contează) la 10. Facem suma inițială și primul element egal cu zero și vom crește elementul cu unul cu fiecare trecere de bucla. Vom continua să însumăm până când argumentul devine egal cu 10 (adică mai mic de 11. În mod similar, am putea scrie condiția i <= 10 ). Să luăm un alt exemplu de buclă while Java . Vom scrie un program în care utilizatorii introduc numere întregi pozitive. Dacă introduc zero sau un număr negativ, programul ar trebui să raporteze acest lucru și să termine lucrarea.

import java.util.Scanner;

public class WhileTest {
   public static void main(String[] args) {
       int positiveNumber = 1;
       Scanner scanner = new Scanner(String.valueOf(positiveNumber));
       while (positiveNumber > 0) {
           Scanner sc = new Scanner(System.in);
           System.out.println("Enter positive number:");
           positiveNumber = sc.nextInt();
           System.out.println("ok, next");
       }
       System.out.println("The number should be positive");
   }
}
Puteți îmbunătăți programul și îl puteți adăuga, de exemplu, verificând dacă utilizatorul a introdus exact un număr și nu un alt caracter sau dacă numărul este un număr întreg.

bucla do-while

Bucla while clasică , ca în exemplele de mai sus, verifică imediat dacă condiția este adevărată. Prin urmare, poate fi numit un ciclu cu o precondiție. Bucla while are un frate do-while, o buclă cu o postcondiție. Adică, înainte de a avea loc testarea adevărului condiției, o astfel de buclă va fi executată cel puțin o dată:

do {
     // Loop body - periodically executed statement(s)
}while(Boolean expression);
Deci, primul exemplu cu o astfel de buclă ar arăta astfel:

public class WhileTest0 {
   public static void main(String[] args) {
       int i = 0;
       int sum = 0;
       do
        {
           sum = sum + i;
           i++;
       } while (i < 11);
       System.out.println(sum);
   }
}

Ciclu fără sfârșit

Bucla while poate fi folosită pentru a organiza bucle infinite sub forma while(true) : De exemplu, iată un program care imprimă la nesfârșit (cu unele nuanțe) o serie de numere întregi:

public class EndlessLoop {
    public static void main(String[] args) {
        int i = 0;
        while (true) {
            System.out.println(i++);
        }
    }
}
Pentru a consolida ceea ce ați învățat, vă sugerăm să urmăriți o lecție video de la Cursul nostru Java
Comentarii
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION