Palavras -chave de JAV A abstract catch do final implements long private static throw void boolean char double finally import native protected super throws volatile break class float insfcanceof new public switch transient while byte continue extends for int null return synchronized true case default false if interface package short this try A estrutura de repetição while Permite especificar que uma ação deve ser repetida enquanto alguma condição permanecer verdadeira. Pseudocódigo: Enquanto (while) houver mais itens em minha lista de compras Comprar o próximo item e riscá-lo de minha lista A condição pode ser verdadeira ou falsa. Se for verdadeira a ação é executada. Essa ação será executada repetidamente enquanto a condição permanecer verdadeira. O corpo da estrutura while (instruções) pode ser uma instrução única ou um bloco. Exemplo: int produto = 2; while (produto <= 1000) produto = 2 * produto; Fluxograma da estrutura de repetição while: produto < = 1000 produto = 2 * produto Algoritmo que utiliza repetição controlada por contador para calcular a média da turma: Ajustar o total para zero Ajustar o contador de nota para um Enquanto o contador de nota for menor do que ou igual a 10 Ler próxima nota
Adicionar a nota ao total Adicionar um ao contador de notas Atribuir à média da turma o valor total dividido por 10 Imprimir a média da turma Programa de média da turma com repetição controlada por contador: public class MediaTurma { public static void main(string[] args) { int total, contnota, valnota, media; String nota; total =0; contnota = 1; while (contnota <= 10){ nota = JOptionPane.showInputDialog( "Entre com uma nota inteira: "); valnota = Integer.parseInt(nota); total = total + valnota; contnota = contnota + 1; media = total / 10; "A média é "+media,"média", JOptionPane.INFORMATION_MESSAGE); Considere: desenvolver um programa de média da turma que processará um número arbitrário de notas toda vez que o programa for executado. Utilizar um valor especial (sentinela, de sinalização, fictício ou de flag) para indicar o final da entrada de dados. Algoritmo em pseudocódigo que utiliza repetição controlada por sentinela para resolver o problema da média da turma. Inicializar total com zero Inicializar contador com zero Ler a primeira nota (pode ser a sentinela) Enquanto o usuário não inserir a sentinela Adicionar essa nota a soma total Adicionar um ao contador de notas Ler a próxima nota (pode ser a sentinela) Se o contador não for igual a zero Calcular a média como o total dividido pelo contador Imprimir a média Senão Imprimir Nenhuma nota foi lida Programa de média da turma com repetição controlada por sentinela: import java.text.decimalformat; public class MediaTurma2 { public static void main(string args[]){ int contnota, valnota, total; double media;
String entrada; total=0; contnota = 0; media = 0; "Digite uma nova inteira ou -1 para sair: "); valnota = Integer.parseInt(entrada); while (valnota!= -1){ total = total + valnota; contnota = contnota + 1; "Digite uma nova inteira ou -1 para sair: "); valnota = Integer.parseInt(entrada); DecimalFormat twodigits = new DecimalFormat ("0.00"); if (contnota!= 0){ media = (double) total / contnota; "A média é: "+twodigits.format(media), "Média", JOptionPane.INFORMATION_MESSAGE); "Nenhuma nota foi digitada", "Média",JOptionPane.INFORMATION_MESSAGE); media = (double) total / contnota; o operador de coerção (conversão explícita) Considere: uma faculdade oferece curso que prepara os candidatos a obter uma licença estadual para os corretores de imóveis. No último ano, grande parte dos alunos que concluiu esse curso prestou o exame. Naturalmente, a faculdade quer saber qual o desempenho de seus alunos no exame. Você foi contratado para escrever um programa que resumisse os resultados. Você recebeu uma lista desses 10 alunos. Ao lado de cada nome está escrito 1 se o aluno passou no exame senão o aluno foi reprovado. 1. Ler cada resultado do teste. Exibir a mensagem Digitar resultado na tela toda vez que o programa solicitar o resultado de outro teste. 2. Contar o número de resultados de cada tipo. 3. Exibir um resumo dos resultados do teste para indicar o número de alunos que foram aprovados e o número de alunos reprovados. 4. Se mais de oito alunos foram aprovados no exame, imprimir a mensagem Aumentar a taxa de matrícula. Pseudocódigo: resultado de um exame. Inicializar aprovações com zero Inicializar reprovações com zero Inicializar aluno com um Enquanto o contador de alunos for menor do que ou igual a 10 Ler o próximo resultado do exame Se o aluno foi aprovado Adicionar um às aprovações Senão Adicionar um às reprovações
Adicionar um ao contador de alunos Imprimir o número de aprovações Imprimir o número de reprovações Se mais de oito alunos foram aprovados Imprimir Aumentar a taxa de matrícula Programa: resolução do problema dos resultados de um exame. public class ResultadoExame { public static void main(string args[]){ int pas = 0, rep = 0, estudante = 1, resultado; String entrada, saida; while (estudante <= 10){ "Entre com o resultado"+"\n"+ "1 - passou"+"\n"+ "2 - reprovou"); resultado = Integer.parseInt(entrada); if (resultado == 1) pas = pas+1; rep = rep+1; estudante = estudante + 1; saida = "Aprovados "+pas+"\nreprovados "+rep; if (pas > 8) saida = saida + "\naumentar a taxa de matrícula"; saida, "Analise de Resultado de Exame", JOptionPane.INFORMATION_MESSAGE); Operadores de atribuição Operador de atribuição Exemplo Explicação Atribui Suponha: int c = 3, d = 5, e = 4, f = 6, g = 12; += c += 7 d -= 4 c = c + 7 d = d 4 10 a c 1 a d *= e *= 5 e = e * 5 20 a e /= f /=3 f = f / 3 2 a f %= g %= 9 g = g % 9 3 a g Operador Exemplo Explicação Pré-incremento ++a Incrementa a por 1, depois utiliza o novo valor de a na expressão em que a reside. Pós-incremento a++ Utiliza o valor atual de a na expressão em que a reside, depois incrementa a por 1. Pré-decremento ~b Decrementa b por 1, depois utiliza o novo valor de b na expressão em que b reside. Pós-decremento b-- Utiliza o valor atual de b na expressão em que b reside, depois
decrementa b por 1. Programa que exibe o valor de c antes e depois de o operador ++ ser utilizado public class Incremento { public static void main (String args[]){ int c; c = 5; System.out.println(c++); System.out.println(); c = 5; System.out.println(++c);