ALGORITMOS  LP 1 

estruturas de repetição em java

Professora Marcela Santos

profmarcelasantos@gmail.com

estruturas de repetição


    • ITERAÇÃO
    • LAÇOS
    • VARIÁVEIS DE CONTROLE
    • CONTADORES
    • OPERADOR 
    • OVERFLOW
    • UNDERFLOW

ESTRUTURA DE REPETIÇÃO  - WHILE


  • O while é um comando usado para fazer repetir um trecho de código algumas vezes. O trecho de código seja repetido enquanto uma determinada condição permanecer verdadeira.

  • Sintaxe
while(condição){
}

E se eu quiser terminar o laço de forma abrupta? 
Tem alguma forma?
  • Baixe o seguinte projeto: ProjetoWhile

estrutura de repetição  - do while

    • Sintaxe

do{


}
while(condição);

estrutura de repetição - for

    • O for também faz com que um trecho d e código seja repetido enquanto uma condição continuar verdadeira. 

    • Mas além disso, o for isola também um  espaço para inicialização de variáveis e o modificador dessas variáveis. 


    • Sintaxe
for(inicializacao;condiceo;increment){

}

    • Baixe o seguinte projeto: ProjetoFor

 o pós incremento

    • i = i + 1 pode realmente ser substituído por i++ quando isolado, porém, em alguns casos, temos essa instrução envolvida em, por exemplo, uma atribuição:
      • int i = 5;
      • int x = i++;
    • Qual é o valor de x? 
    • O operador ++, quando vem após a variável, retorna o valor antigo, e incrementa (pós incremento), fazendo x valer 5.
    • Se você tivesse usado o ++ antes da variável (pré incremento), o resultado seria diferente???
        • int i = 5;
      • int x = ++i; 

controlando os loops

    • Apesar de termos condições booleanas nos nossos laços, em algum momento, podemos decidir parar o  loop por algum motivo especial sem que o resto do laço seja executado.

    • Baixe o Projeto: ControlandoLoops

escopo das variáveis

    • No Java, podemos declarar variáveis a qualquer momento. Porém, dependendo de onde você as declarou, ela vai valer de um determinado ponto a outro.


// aqui a variável i não existe
int i = 5;
// a partir daqui ela existe

    • O escopo da variável é o nome dado ao trecho de código em que aquela variável existe e onde é possível acessá-la.
    • Quando abrimos um novo bloco com as chaves, as variáveis declaradas ali dentro só valem até o fim daquele bloco.

escopo de variáveis

// aqui a variável i não existe
int i = 5;
// a partir daqui ela existe
while (condicao) {
// o i ainda vale aqui
int j = 7;
// o j passa a existir
}
// aqui o j não existe mais, mas o i continua dentro do escopo

escopo de variáveis

if (algumBooleano) {
int i = 5;
}
else {
int i = 10;
}
System.out.println(i); // cuidado!
                • Aqui a variável i não existe fora do if e do else! Se você declarar a variável antes do if, vai haver outro erro de compilação: dentro do if e do else a variável está sendo redeclarada! 

              um bloco dentro do outro

              • Um bloco também pode ser declarado dentro de outro. Isto é, um if dentro de um for, ou um for dentro de  um for, algo como:

              while (condicao) {
              for (int i = 0; i < 10; i++) {
              // código
              }
              }

              atividade de pesquisa

                1. Vimos apenas os comandos mais usados para controle de fluxo. O Java ainda possui o do..while e o switch. Pesquise sobre eles e diga quando é interessante usar cada um deles.
                2. Algumas vezes, temos vários laços encadeados. Podemos utilizar o break para quebrar o laço mais interno.Mas, se quisermos quebrar um laço mais externo, teremos de encadear diversos ifs e seu código ficará uma bagunça. O Java possui um artifício chamado labeled loops; pesquise sobre eles.
                3.  O que acontece se você tentar dividir um número inteiro por 0? E por 0.0?

              atividade de pesquisa

                1. Além dos operadores de incremento, existem os de decremento, como --i e i--. Além desses, você pode usar instruções do tipo i += x e i -= x, o que essas instruções fazem? Teste.


              Traga as respostas a essas perguntas para a nossa primeira mesa redonda, na próxima aula!!!!!!

              Jogo de adivinhação

                • Vamos analisar um pequeno jogo de adivinhação
                • Baixe o projeto: ProjetoAulaRepeticao

              aprendendo um pouco mais do código ascii e de pré incremento

                • Baixe o Projeto:
                  • WhileCodigoEquivalente
                  • Veja a saída, faça anotações, a partir de agora o código é seu!!!!!!!

              um pouco de joptionpane para vocês

                • Vamos criar um projeto juntos
                  • Nome: ValidaNome
                • Descrição
                  • Ele pede o nome do usuário através de uma Janela
                  • Verifica a validade
                    • Se o nome for válido ele avisa e encerra o aplicativo
                    • Caso contrário pede novamente o nome até que seja digitado um nome válido
                    • Um nome válido possui de 5 a 50 caracteres, para esse nosso exemplo

              Referências

                • Apostila Java e Orientação a Objetos da CAELUM 
                • Livro Programação de computadores em Java do Rui Rossi dos Santos
              Made with Slides.com