JAVA NETBEANS – PGOO – Prof. Daniela Pires Conteúdo Estruturas de repetição (loops, laços).......................................................................................................................... 2 WHILE (enquanto) ................................................................................................................................................... 2 DO ... WHILE (faça .... enquanto) ............................................................................................................................. 2 FOR ......................................................................................................................................................................... 3 FOREACH ................................................................................................................................................................ 4 EXERCICIO LOOP FOR .............................................................................................................................................. 4 Novo Projeto............................................................................................................................................................... 5 Controles SWING .................................................................................................................................................. 10 1 JAVA NETBEANS – PGOO – Prof. Daniela Pires Estruturas de repetição (loops, laços) Os comandos de repetição têm a função de determinar o número de vezes que um certo bloco de instruções será executado. A execução repetida desses blocos pode ser encerrada no momento em que a condição desejada for atingida. Existem 4 funções que executam essa tarefa: while, do while, for e for each. WHILE (enquanto) Esse comando cria loops da maneira simples; Ele testa antes de executar; Muito utilizado em instruções de repetição com valores extraídos do banco de dados, irá até o último registro do banco de dados, portanto executado enquanto tiver registros dentro do banco de dados. Esse comando apresenta a característica de enquanto uma instrução estiver sendo avaliada como TRUE ele será executado; Todas as vezes que passar pelo início do loop o valor apresentado pela expressão será verificado; Os comandos não serão encerrados até que não seja atingido o fim da iteração, mesmo que o valor da expressão sofra alteração. Segue abaixo um exemplo de como usar o WHILE: while(expressão){ Bloco de instruções; } Vejamos um exemplo abaixo de como utilizar o WHILE: int a; a = 1; String texto; while(a < 10){ texto += "A = "+a; a++; } texto += "O valor de A agora é "+a+" e o WHILE foi encerrado."; System.out.println(texto); A = 1 A = 2 A = 3 A = 4 A = 5 A = 6 A = 7 A = 8 A = 9 O valor de A agora é 10 e o WHILE foi encerrado. DO ... WHILE (faça .... enquanto) O loop WHILE e do ... while são semelhantes, porém no loop while a condição é testada no início do loop e no do ... while no final da iteração; Ele executa pelo menos uma vez, ou seja, devido ele ser testado no final da iteração, sempre uma vez será executado; Segue abaixo um exemplo de como usar o DO ... WHILE: do{ Bloco de instruções; } 2 JAVA NETBEANS – PGOO – Prof. Daniela Pires while(expressão); Vejamos um exemplo abaixo de como utilizar o DO ... WHILE: int a; a = 10; String texto; texto = “”; do{ texto += a." é maior que 3 "; a--; } while(a > 3); System.out.println("O loop foi encerrado porque ".a." nao é maior que 3."); O resultado será: 10 é maior que 3 9 é maior que 3 8 é maior que 3 7 é maior que 3 6 é maior que 3 5 é maior que 3 2 é maior que 3 O loop foi encerrado porque 3 não é maior que 3. FOR Este é um loop que repete a execução, por um número específico de vezes. Para que possamos compreender o loop for, veja abaixo a sua sintaxe e explicação de expressão por expressão: for(expressao1;expressao2;expressao3){ bloco de instruções; } Expressão1(início): Representa a primeiro valor a ser executado no inicio de um loop ,geralmente, declaramos uma variável com seu valor inicial; Expressão2(término ou final): Instrução contida com a condição da execução, possui o valor inicial e o final, quando é avaliada como FALSE indica o término da execução do loop, se avaliada como TRUE, não ocorre o encerramento do loop, e continua a execução do bloco de instruções; Expressão3: Representa a terceira expressão, que tem a função de ser realizada no final da instrução, geralmente, incrementa ou decrementa valores; Vejamos alguns exemplos de loop for para nossa melhor compreensão: int a; String texto; for(a=1;a<10;a++){ texto += "A = a"; } System.out.println(texto); O resultado será: 3 JAVA NETBEANS – PGOO – Prof. Daniela Pires A A A A A A A A A = = = = = = = = = 1 2 3 4 5 6 7 8 9 O que acontece nessa instrução, o 10 não será executado, o modo dele ser executado se necessário é trocar o sinal de > para >=, pois senão o loop sairá do laço no 9 e não no 10. O exemplo abaixo mostra decremento já usando o >=. int a; String texto; for(a=10;a>=1;a--){ texto += "A = a"; } System.out.println(texto); Resultado: A = 10 A = 9 A = 8 A = 7 A = 6 A = 5 A = 4 A = 3 A = 2 A = 1 FOREACH Este loop diferencia-se dos demais, pois ele promove a iteração entre as matrizes, ou seja, ele é utilizado apenas com array. Para isso utilizo na condição array.lenght que verá quantos itens tem o vetor. int[] numero = {23,40,50}; for(int cont=0 ; cont< numero.length ; cont++){ System.out.println(numero[cont]); } //exibindo e somando EXERCICIO LOOP FOR Abra o Netbeans, e iremos começar nossa primeira aplicação JAVA. 4 JAVA NETBEANS – PGOO – Prof. Daniela Pires Novo Projeto Vamos criar um novo projeto. 5 JAVA NETBEANS – PGOO – Prof. Daniela Pires Selecione JAVA e APLICAÇÃO JAVA e no nome do projeto preencha com calculaTabuada. Esse projeto irá criar um calculador de tabuada simples, para tabuada do número que for digitado. Nesse exemplo iremos trabalhar os conceitos de algoritmos com IF e loop FOR. 6 JAVA NETBEANS – PGOO – Prof. Daniela Pires Clique em finalizar. Na janela de projetos, já vai aparecer o calculaTabuada. Clicar o botão direito do mouse sob ele e escolher NOVO - > FORM J FRAME 7 JAVA NETBEANS – PGOO – Prof. Daniela Pires Cria um form com as seguintes configurações. 8 JAVA NETBEANS – PGOO – Prof. Daniela Pires Clique em finalizar. 9 JAVA NETBEANS – PGOO – Prof. Daniela Pires Na tela acima estará a área para trabalho dos elementos do formulário. Controles SWING Terá campos para a criação de um formulário. Vamos explicar os elementos que usaremos nesse exercício. LABEL: Texto explicativo do campo. BOTÃO: Funcionalidade do Formulário CAMPOS DE TEXTO: Campo de inserção de texto AREA DE TEXTO: Campo de área de texto. Arraste para a tela 1 LABEL, CAMPO DE TEXTO, 2 BOTÕES E AREA DE TEXTO e os renomeie conforme a tela abaixo. 10 JAVA NETBEANS – PGOO – Prof. Daniela Pires Clique duas vezes sob o botão Calcular e escreva o seguinte script: int num;// declara atributo num = Integer.parseInt(jTextField1.getText());// passa valor ao atributo que será recuperado através de um formulário int i;//declara atributo do for String texto;// declara atributo do texto que será impresso do textarea texto = ""; for(i=1;i<=10;i++){ texto += i+" x "+num+" = "+(i*num)+"\n";// faz o loop com o texto impresso abaixo } jTextArea1.setText(texto);//printa texto no textarea Veja abaixo como ficará o script, se o campo digitado for 2 o resultado será: 11 JAVA NETBEANS – PGOO – Prof. Daniela Pires 1x2=2 2x2=4 3x2=6 4x2=8 5 x 2 = 10 6 x 2 = 12 7 x 2 = 14 8 x 2 = 16 9 x 2 = 18 10 x 2 = 20 Clique duas vezes sob o botão Limpar Escreva o script: 12 JAVA NETBEANS – PGOO – Prof. Daniela Pires jTextArea1.setText(""); jTextField1.setText(""); Sete os valores acima e teste. 13