Java Loops Controle de Loops

Java Loops Controle de Loops. Linguagem Java.

Oque é um laço?
É uma interação contínua(no bloco_de_codigo) através da expressão_booleana que é feita enquanto ela for true. Como se fossem varios if em seguida, loop = laço.
*Lembre-se que a escrita de instruções é feita somente no bloco_de_codigo

Loop while:

while(expressao_booleana){

<p>
  </font> <font style="color: rgb(0, 0, 0);">bloco_de_codigo</font>
</p>

<p>
  <font style="color: rgb(0, 0, 0);">}// Fim do bloco_de_codigo</font> <font style="color: rgb(0, 0, 0);"><font style="font-weight: bold;"></p> 

  <p>
    *boolean_expression</font> &#8211; É a junção de operadores Relacionais e Condicionais ou uma variavel booleana, qualquer expressão que resulte em um booleano. Essa expressão é avaliada antes de toda interação com o bloco_de_codigo novamente</font> <font style="color: rgb(0, 0, 0);"><font style="font-weight: bold;"><br />*bloco_de_codigo</font> &#8211; Um conjunto de instruções que são feitas após a avaliação da boolean_expression</p> 

    <p>
      </font><font style="color: rgb(0, 0, 0);">&#8211; É um laço de nenhuma ou mais interações, e a avaliação da boolean_expression é feita antes do bloco_de_codigo de cada interação.</p> 

      <p>
        <font style="font-weight: bold;">Vejamos como é um loop:</p> 

        <p>
          </font></font></font><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqJf24_XEtI/AAAAAAAAARM/ycl4vmPLkJs/s1600-h/while.png"><img style="cursor: pointer; width: 320px; height: 180px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqJf24_XEtI/AAAAAAAAARM/ycl4vmPLkJs/s320/while.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5377966301649507026" border="0" /></a><font style="color: rgb(0, 0, 0);" face="arial"> </font><font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial">Clique na imagem para ampliar</font> <font style="font-weight: bold; color: rgb(0, 0, 0);" size="5" face="arial"><br /></font><font style="color: rgb(0, 0, 0);" size="3" face="arial"><font style="font-weight: bold;" size="5">Alinhamento de blocos while(É um while dentro do outro):</font></p> 

          <p>
            <font style="font-weight: bold;">while</font>(expressao_booleana1){
          </p>

          <p>
            <font style="font-weight: bold;">bloco_de_codigo1</font>
          </p>

          <p>
            <font style="font-weight: bold;">while</font>(</font><font style="color: rgb(0, 0, 0);" size="3" face="arial">expressao_booleana2</font><font style="color: rgb(0, 0, 0);" size="3" face="arial">){</p> 

            <p>
              <font style="font-weight: bold;">bloco_de_codigo2</font>
            </p>

            <p>
              }//fim do <font style="font-weight: bold;">laço interno</font>
            </p>

            <p>
              <font style="font-weight: bold;">bloco_de_codigo1</font>
            </p>

            <p>
              }//fim do<font style="font-weight: bold;"> laço externo</font>
            </p>

            <p>
              *bloco_de_codigo1 &#8211; São blocos de código referentes ao laço externo<br />*bloco_de_codigo2 &#8211; São blocos de código referentes ao laço interno
            </p>

            <p>
              <font style="font-weight: bold;">Após a interação do primeiro laço, ele aguarda o segundo(interno) terminar para poder prosseguir.</font></font><font style="color: rgb(0, 0, 0);" face="arial"> </font><font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial">Vejamos oque acontece:</p> 

              <p>
                </font><a style="color: rgb(0, 0, 0); font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CdmD2AaXIBs/SqJgo55ROtI/AAAAAAAAARU/04OKR1CdGrI/s1600-h/whileNested.png"><img style="cursor: pointer; width: 320px; height: 192px;" src="http://1.bp.blogspot.com/_CdmD2AaXIBs/SqJgo55ROtI/AAAAAAAAARU/04OKR1CdGrI/s320/whileNested.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5377967160885852882" border="0" /></a><font style="color: rgb(0, 0, 0);" face="arial"> </font><font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial">Clique na imagem para ampliar</font>
              </p>

              <p>
                <font style="color: rgb(0, 0, 0);" size="3" face="arial"><font style="font-weight: bold;" size="5">Constutor do laço for:</p> 

                <p>
                  </font> Trabalha do mesmo jeito que o loop while, So que o loop for é usado para um <font style="font-weight: bold;">predefinido numero de vezes de interação</font>, ele também é um laço de nenhum ou mais vezes mais é<font style="font-weight: bold;"> centralizado na estrutura de valores que pode ter, vejamos sua declaração:</font>
                </p>

                <p>
                  <font style="font-weight: bold;">for</font>(<font style="font-weight: bold;">inicializacao</font>[,inicializacao] ; <font style="font-weight: bold;">expressao_booleana</font> ; <font style="font-weight: bold;">update</font>[,update]){
                </p>

                <p>
                  <font style="font-weight: bold;">bloco_de_codigo</font>
                </p>

                <p>
                  }
                </p>

                <p>
                  <font style="font-weight: bold;">*inicializacao[,inicializacao] &#8211;</font> Inicializa variaveis que serão usadas atraveś do laço, é Usada somente a primeira vez que o laço é processado, mais de uma inicialização deve ser separada por vírgula.<br /><font style="font-weight: bold;">*expressao_booleana &#8211; </font>É a junção de Operadores Relacionais e/ou Condicionais que gerem um valor boolean como resultado, é avaliado após cada interação do loop<br /><font style="font-weight: bold;">*update[,update] &#8211;</font> É a parte do update das variáveis, É executada depois do bloco_de_codigo porem antes da expressao_booleana. Separe os updates por vírgula.<br /><font style="font-weight: bold;">*bloco_de_codigo</font> &#8211; São linhas de instrução que são executadas após cada interação do loop, se o resultado da expressao_booleana for true.
                </p>

                <p>
                  É um loop de nenhuma ou mais interações e, a expressao_booleana é processada antes do bloco_de_codigo
                </p>

                <p>
                  <font style="font-weight: bold;" size="5">Loops for alinhados(ou seja for dentro de for):</font>
                </p>

                <p>
                  <font style="font-weight: bold;">for</font>(inicializacao[,inicializacao] ; expressao_booleana ; update[,update]){
                </p>

                <p>
                  <font style="font-weight: bold;">bloco_de_codigo1</font>
                </p>

                <p>
                  <font style="font-weight: bold;">for</font>(inicializacao[,inicializacao] ; expressao_booleana ; update[,update]){
                </p>

                <p>
                  <font style="font-weight: bold;">bloco_de_codigo2</font>
                </p>

                <p>
                  }//<font style="font-weight: bold;">fim do for interno</font>
                </p>

                <p>
                  <font style="font-weight: bold;">bloco_de_codigo1</font>
                </p>

                <p>
                  }<font style="font-weight: bold;">//fim do for externo</font>
                </p>

                <p>
                  </font>
                </p>

                <div face="arial" style="text-align: center; color: rgb(0, 0, 0);">
                  <font style="color: rgb(0, 0, 0); font-weight: bold;" size="3">É a mesma coisa que while por isso não colocarei o desenho.</font>
                </div>

                <p>
                  <font style="color: rgb(0, 0, 0);" size="3" face="arial"><br /></font>
                </p>

                <p>
                  <font style="color: rgb(0, 0, 0);" size="3" face="arial"><font style="font-weight: bold;" size="5">Constutor do laço do/while:</font><br />É uma interação de uma ou mais vezes, a boolean_expression é processada após o bloco_de_codigo.Nesse loop o bloco_de_codigo é processado ao menos uma vez. <font style="font-weight: bold;"></p> 

                  <p>
                    do</font>{ <font style="font-weight: bold;"></p> 

                    <p>
                      bloco_de_codigo</font>
                    </p>

                    <p>
                      }<font style="font-weight: bold;">while</font>(<font style="font-weight: bold;">boolean_expression</font>);<br /><font style="font-weight: bold;"></p> 

                      <p>
                        *bloco_de_codigo &#8211; </font>O conjunto de instruções que serão processadas, SÂO PROCESSADAS AO MENOS UM VEZ. <font style="font-weight: bold;"><br />*boolean_expression &#8211;</font> É a junção de Operadores Relacionais e/ou Condicionais que gerem um valor boolean como resultado, é avaliado após cada interação do loop.<br />&#8211; <font style="font-weight: bold;">O ponto e virgula(;)</font> é obrigatório. while(boolean_expression); <font style="font-weight: bold;">é Obrigatório.</font> </font>
                      </p>

                      <p>
                        <font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial">Vejamos como fica:</font>
                      </p>

                      <p>
                        <a style="color: rgb(0, 0, 0); font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CdmD2AaXIBs/SqJityVt7PI/AAAAAAAAARk/tcTZYVeJCPw/s1600-h/doWhile.png"><img style="cursor: pointer; width: 320px; height: 110px;" src="http://1.bp.blogspot.com/_CdmD2AaXIBs/SqJityVt7PI/AAAAAAAAARk/tcTZYVeJCPw/s320/doWhile.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5377969443780291826" border="0" /></a><br /><font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial">Clique na imagem para ampliar</font>
                      </p>

                      <p>
                        <font style="font-weight: bold; color: rgb(0, 0, 0);" size="5" face="arial">Alinhando do/while:</font>
                      </p>

                      <p>
                        <font style="color: rgb(0, 0, 0);" size="3" face="arial"><font style="font-weight: bold;">do</font>{</p> 

                        <p>
                          <font>bloco_de_codigo1</font>
                        </p>

                        <p>
                          <font style="font-weight: bold;">do</font>{
                        </p>

                        <p>
                          <font>bloco_de_codigo2</font>
                        </p>

                        <p>
                          }<font style="font-weight: bold;">while</font>(<font>boolean_expression<font style="font-weight: bold;">2</font></font>);
                        </p>

                        <p>
                          <font>bloco_de_codigo1</font>
                        </p>

                        <p>
                          }<font style="font-weight: bold;">while</font>(<font>boolean_expression<font style="font-weight: bold;">1</font></font>);
                        </p>

                        <p>
                          </font><br /><font style="font-weight: bold; color: rgb(0, 0, 0);" size="5" face="arial">Controle de Loop:</font>
                        </p>

                        <p>
                          <font style="color: rgb(0, 0, 0);" size="3" face="arial">&#8211; <font style="font-weight: bold;">break</font>; -> Sai prematuramente de um loop, de um bloco rotulado ou de um switch<br />&#8211; <font style="font-weight: bold;">continue</font>; -> Pula a instrução e manda para a avaliação do boolean_expression</p> 

                          <p>
                            <font style="font-weight: bold;">Exemplos:</font>
                          </p>

                          <p>
                            <font style="font-weight: bold;">do</font>{<br />x++;
                          </p>

                          <p>
                            if(x <font style="font-weight: bold;">==</font>2)<br />continue;
                          </p>

                          <p>
                            System.out.println(x);
                          </p>

                          <p>
                            }while(expressao_booleana);
                          </p>

                          <p>
                            Todas as instruções acima, e break podem ser usados para controle de LAÇOS Alinhados.
                          </p>

                          <p>
                            </font>
                          </p>

                          <p>
                            <font style="font-weight: bold; color: rgb(0, 0, 0);" size="4" face="arial">Como Nomear Laços Alinhados?</font><br /><font style="color: rgb(0, 0, 0);" face="arial">Cria-se um <font style="font-weight: bold;">label</font> para o laço, um label é criado através de:</font>
                          </p>

                          <p>
                            <font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial">identificador:</font>
                          </p>

                          <p>
                            <font style="color: rgb(0, 0, 0);" size="3" face="arial"><font size="5">Como usar controle de Loop com Alinhamento?</p> 

                            <p>
                              </font></font><font style="color: rgb(0, 0, 0); font-weight: bold;" face="arial">instrução label;</font>
                            </p>

                            <p>
                              <font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial">Exemplo:</font>
                            </p>

                            <p>
                              <font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial">deFora: //Isso é um Label</font><br /><font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial">do</font><font style="color: rgb(0, 0, 0);" face="arial">{</font>
                            </p>

                            <p>
                              <font style="color: rgb(0, 0, 0);" face="arial">bloco_de_codigo</font>
                            </p>

                            <p>
                              <font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial">do</font><font style="color: rgb(0, 0, 0);" face="arial">{</font>
                            </p>

                            <p>
                              <font style="color: rgb(0, 0, 0);" face="arial">if(condicao)</font><br /><font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial">break</font><font style="color: rgb(0, 0, 0);" face="arial"> </font><font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial">deFora</font><font style="color: rgb(0, 0, 0);" face="arial">; <font style="font-weight: bold;">//instrução label;</font></font> Faz com que o loop externo termine, conclusivamente o //interno tambem
                            </p>

                            <p>
                              <font style="color: rgb(0, 0, 0);" face="arial">}<font style="font-weight: bold;">while</font>(boolean_expression);</font>
                            </p>

                            <p>
                              <font style="color: rgb(0, 0, 0);" face="arial">bloco_de_codigo</font>
                            </p>

                            <p>
                              <font style="color: rgb(0, 0, 0);" face="arial">}<font style="font-weight: bold;">while</font>(boolean_expression);</font>
                            </p>

                            <p>
                              <font style="color: rgb(0, 0, 0);" face="arial">Podem ser qualquer das instruções de controle de laço, continue,break.</font>
                            </p>

                            <p>
                              <font style="font-weight: bold; color: rgb(0, 0, 0);" size="5" face="arial">É hora da revisão:</font><br /><font style="color: rgb(0, 0, 0);" face="arial"> &#8211; Loop while,É um laço de<font style="font-weight: bold;"> nenhuma ou mais interações</font>, e a <font style="font-weight: bold;">avaliação da boolean_expression é feita antes do bloco_de_codigo</font> de cada interação.</font>
                            </p>

                            <p>
                              <font style="color: rgb(0, 0, 0);" face="arial"> &#8211; Loop for, <font style="font-weight: bold;">É um laço de nenhuma ou mais interações</font>, e <font style="font-weight: bold;">a avaliação da boolean_expression é feita antes do bloco_de_codigo</font> de cada interação, o update é feito após cada interação.</font>
                            </p>

                            <p>
                              <font style="color: rgb(0, 0, 0);" face="arial"> &#8211; Loop do/while, <font style="font-weight: bold;">É um laço de UMA ou mais interações</font>, e <font style="font-weight: bold;">a avaliação da boolean_expression é feita depois do bloco_de_codigo</font> de cada interação</font>
                            </p>

                            <p>
                              <font style="color: rgb(0, 0, 0);" face="arial"> &#8211; <font style="font-weight: bold;">O ponto e virgula(;) após o while do</font>, &#8211; do while &#8211;   while(boolean_expression); <font style="font-weight: bold;">é Obrigatório.</font></font>
                            </p>

                            <p>
                              <font style="color: rgb(0, 0, 0); font-weight: bold;" size="4" face="arial">Quando usar eles?</font><br /><font style="color: rgb(0, 0, 0);" face="arial"> -> <font style="font-weight: bold;">while &#8211;</font> Nenhuma ou mais interações e eu não sei a quantidade certa que poderá haver de interações</font>
                            </p>

                            <p>
                              <font style="color: rgb(0, 0, 0);" face="arial"> -> <font style="font-weight: bold;">do/while &#8211;</font> Uma ou mais interações e eu não sei a quantidade certa que poderá haver de interações(o bloco_de_codigo é executado ao menos uma vez)</font>
                            </p>

                            <p>
                              <font style="color: rgb(0, 0, 0);" face="arial"> -><font style="font-weight: bold;"> for &#8211;</font> Nenhuma ou mais interações e eu sei a quantidade certa que havera de interações, Consigo montar uma estrutura.</font>
                            </p>

                            <p>
                              <font style="color: rgb(0, 0, 0);" face="arial">&#8211; Criando Label posso dar nomes a laços Alinhados(ou seja laços dentro de laços) somente coloque o nome antes da declaração do laço e depois dois pontos(isso é chamado de label em java ou seja, <font style="font-weight: bold;">identificador: </font>)</font>
                            </p>

                            <p>
                              <font style="color: rgb(0, 0, 0);" face="arial">&#8211; Apos criado o label do laço(identificador: antes do Loop) você pode de dentro do laço interno terminar o laço externo, usando:</font><br /><font style="color: rgb(0, 0, 0); font-weight: bold;" face="arial">instrução label;</font>
                            </p>

                            <p>
                              <font style="color: rgb(0, 0, 0);" face="arial">Onde <font style="font-weight: bold;">instrução</font> é a instrução que você usará no laço, pode ser: break,continue</font><br /><font style="color: rgb(0, 0, 0);" face="arial">Onde <font style="font-weight: bold;">label</font> é o nome que você deu a seu laço.</font>
                            </p>

                            <p>
                              <font style="color: rgb(0, 0, 0);" face="arial">&#8211; <font style="font-weight: bold;">A escrita de instruções só pode ser feita aonde esta escritod bloco_de_codigo isso quer dizer:</font></font>
                            </p>

                            <p>
                              <font style="color: rgb(0, 0, 0);" face="arial">if(expressao_booleana){</p> 

                              <p>
                                <font style="color: rgb(0, 0, 0);" face="arial">//bloco_de_codigo</font>
                              </p>

                              <p>
                                <font style="color: rgb(0, 0, 0);" face="arial">}</font>
                              </p>

                              <p>
                                <font style="color: rgb(0, 0, 0);" face="arial">int y = 0;</font>
                              </p>

                              <p>
                                <font style="color: rgb(0, 0, 0);" face="arial">else{</font>
                              </p>

                              <p>
                                <font style="color: rgb(0, 0, 0);" face="arial">//bloco_de_codigo</font>
                              </p>

                              <p>
                                <font style="color: rgb(0, 0, 0);" face="arial">}</font>
                              </p>

                              <p>
                                <font style="color: rgb(0, 0, 0);" face="arial">Isso da erro de compilação, a declaração de y, (int y = 0;) So pode ser feita dentro do bloco_de_codigo.</font>
                              </p>

                              <p>
                                <font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial">Curiosidade:</font><br /><font style="color: rgb(0, 0, 0);" face="arial"> &#8211; Em bytecode um laço é um &ldquo;conjunto de ifs&rdquo; </font>
                              </p>

                              <p>
                                <font style="color: rgb(0, 0, 0);" face="arial">Bom Somente isso de loop Hoje!!!</font><br /><font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial">CYA DUDES!!</font>
                              </p>

                              <p>
                                </font>
                              </p>