Formas de interromper o while

2 respostas
poojava
A
Refazendo uns exercícios eu percebi que existe mais de uma forma de interromper o while. Anteriormente, como aprendi, utilizava uma variável do tipo boolean, como: (<div class="lightbox-wrapper"><a class="lightbox" href="/uploads/3X/4/1/4130e4859bf45440fd75fae0c4e1ae11f37e4ae5.png.webp" data-download-href="/uploads/default/4130e4859bf45440fd75fae0c4e1ae11f37e4ae5" title="image.png"><img src="/uploads/3X/4/1/4130e4859bf45440fd75fae0c4e1ae11f37e4ae5.png.webp" alt="image" width="690" height="315" data-small-upload="/uploads/3X/4/1/4130e4859bf45440fd75fae0c4e1ae11f37e4ae5.png.webp"><div class="meta">
<svg class="fa d-icon d-icon-far-image svg-icon" aria-hidden="true"><use xlink:href="#far-image"></use></svg>image.png1096×501 22.1 KB<svg class="fa d-icon d-icon-discourse-expand svg-icon" aria-hidden="true"><use xlink:href="#discourse-expand"></use></svg>
</div></a></div>)

Mas percebi que essa variável pode ser desnecessária, usando como alternativa o próprio índice para parar o ciclo (o que poderia poupar memória se em larga escala)(<img src="/uploads/3X/2/0/203f8eebc4fee6689a921a5fb35b1b8186472f5b.png.webp" alt="image" width="635" height="291">)

Além destas, existe alguma outra forma de parar o ciclo do while? Algum comando ou alguma outra ‘fórmula’?

2 Respostas

L

break;

W

Bom, você pode usar qualquer expressão que produza o valor verdadeiro ou falso.

Quando vc trabalha com variáveis do tipo boolean não há necessidade de fazer algo como:

if ( encontrou == true ) { /* ... */ }
/* Ou */
if ( encontrou == false ) { /* ... */ }

Dá pra fazer apenas isso:

if ( encontrou ) { /* ... */ }
/* Ou */
if ( !encontrou ) { /* ... */ }

A menos que vc queira ser explicito desta forma.

Seguindo esta ideia, seu primeiro código poderia ficar assim:

while ( i < numeros.length && !encontrou )
/* ... */

Uma outra forma de fazer seria assim:

while ( i < numeros.length )
    if ( n == numeros[i] ) return i;
    else i++;
return -1;
Criado 10 de setembro de 2018
Ultima resposta 10 de set. de 2018
Respostas 2
Participantes 3