Java - Estruturas de Decisão, Repetição e Arrays Professor: Vilson Heck Junior vilson.junior@ifsc.edu.br
Estruturas de Decisão: if; Clausulas em Java; switch; Exercícios; Estruturas de Repetição: while; do... while; for; Exercícios; Arrays: Unidimensionais; Bidimensionais; Exercícios. Agenda
Java ESTRUTURAS DE DECISÃO
Estruturas de Decisão if VisuALG: se (<clausula>) entao... senao //Opcional... fimse Java: if(<clausula>) {... } else //Opcional {... }
Verificação de Clausulas Operadores Relacionais Java Maior: > Menor: < Maior ou Igual: >= Menor ou Igual: <= Igual: == Diferente:!= Não: (inversão)! E: && OU: Atenção
Estruturas de Decisão Ex: Scanner entrada = new Scanner(System.in); int x; System.out.print("Digite um valor: "); x = Integer.parseInt(entrada.nextLine()); if ( x > 0) { System.out.println("O número é positivo!"); } else { System.out.println("O número é negativo ou neutro!"); }
Estruturas de Decisão Ex: Scanner entrada = new Scanner(System.in); int x; System.out.print("Digite um valor: "); x = Integer.parseInt(entrada.nextLine()); if ( (x >= 1) && (x <= 10) ) { System.out.println("Pertence ao intervalo 1..10!"); } else { System.out.println("NÃO pertence ao intervalo 1..10!"); }
Estruturas de Decisão switch VisuALG: x: inteiro x <- 10 escolha (x) caso 1: escreva( Um ) caso 2: escreva( Dois ) outrocaso: escreva( Desconhecido ) fimescolha Java: int x = Integer.parseInt(entrada.nextLine()); switch(x) { case 1: System.out.println( Um ); break; case 2: System.out.println( Dois ); break; default: System.out.println( Desconhecido ); break; }
Estruturas de Decisão EXERCÍCIOS
Exercícios 1. Ler 3 números fracionários do teclado e informar se o primeiro é maior do que a soma dos dois últimos; 2. Calcular a multa: Leia a velocidade de um carro e a velocidade máxima para a rua: 1. Informe 50 reais se estiver até 10km/h acima; 2. Informe 100 reais se estiver entre 11km/h e 30km/h acima; 3. Informe 300 reais se estiver acima de 31km/h acima;
Exercícios 3. Ler 3 valores em qualquer ordem e escrever eles em ordem crescente; 4. Escrever se um ano informado pelo usuário é bissexto ou não. Um ano é bissexto quando é (divisível por 400) ou é (divisível por 4 e não por 100); 5. Ler 2 valores fracionários e perguntar qual operação aritmética o usuário quer fazer com eles. Usar switch..case. Informar o resultado da operação.
Java ESTRUTURAS DE REPETIÇÃO
Estruturas de Repetição while VisuALG: Java: enquanto (<clausula>) faca... fimenquanto while(<clausula>) {... }
Estruturas de Repetição do VisuALG: Java: repita... ate (<clausula>) do {... } while (<clausula>); Sentidos Opostos!
Estruturas de Repetição for VisuALG: x: inteiro para x de 1 ate 10 faca... fimpara Java: int x; for( x=1; x <= 10; x++) {... }
Interrompendo Repetições Para parar qualquer estrutura de repetição a qualquer momento, usamos o comando: break; Ex: for(int x = 0; x <= 10; x++) { System.out.println(x); if(x == 5) { break; } }
Forçando Próxima Iteração Para pular para a próxima iteração em qualquer estrutura de repetição, a qualquer momento, usamos o comando: continue; Ex: for(int x = 0; x <= 10; x++) { System.out.println(); System.out.print( Número: ); if(x == 5) { continue; } System.out.print(x); }
Estruturas de Repetição EXERCÍCIOS
Exercícios 1. Informar todos os números de 1000 a 1999 que quando divididos por 11 obtemos resto = 5. 2. Colocar estas duas linhas iniciais no método Main(): Random rnd = new Random(); //Inicia Aleatório int x = rnd.nextint(100); //Gera um número aleatório (0 99) 1. Faça um laço de repetição que solicite ao usuário digitar um número; 2. O laço encerra quando o usuário acertar o número; 3. Se o número do usuário for menor que o oculto, escrever: MAIOR, se o número do usuário for maior que o oculto, escrever: MENOR.
Java ARRAYS
Arrays Unidimensionais VisuALG: var nome: vetor [n1..n2] de <tipodado> inicio nome[indice] <- valor escreva(nome[indice]) fimalgoritmo Java: <tipodado>[ ] nome = new <tipodado>[tamanho]; nome[indice] = valor; System.out.println(nome[indice]);
Arrays Unidimensionais Exemplo de criação e uso de Array: int[]numeros = new int [5]; int valor = 0; valor = numeros[2]; numeros[3] = 5; numeros[0] = 3; numeros[1] = 4; numeros[2] = 10; numeros[4] = 1; numeros: 3 4 10 5 1 Índices: 0 1 2 3 4 valor 10
Arrays Bidimensionais Definição: Arrays Bidimensionais Matrizes! Imagens; Equações matemática, principalmente geometria; Tabelas; Entre outros exemplos. Exemplo: Relação de vendas de uma padaria: Ano/ Produto Cafezinhos Pães Biscoitos Bolos Cucas 2006 3650,00 63875,00 10950,00 36500,00 7665,00 2007 3454,00 74345,00 12043,00 46342,00 9234,00 2008 3789,00 61023,00 11324,00 29345,00 8235,00 2009 4002,00 75432,00 14034,00 40123,00 8945,00 2010 3876,00 79345,00 9231,00 39423,00 7983,00 2011 3953,00 64567,00 10234,00 37345,00 6235,00
Arrays Bidimensionais Uso: <tipodado>[ ][ ] nome = new <tipodado>[n][m]; nome[x][y] = valor; System.out.println(nome[x][y]); Onde: n é o número de linhas; m é o número de colunas; x é o índice de uma linha; y é o índice de uma coluna.
Arrays Bidimensionais int[][] matriz = new int[5][4]; matriz[0][0] = 4; matriz[4][3] = 5; matriz[3][1] = 2; matriz[1][2] = 7; Índices 0 1 2 3 0 4 1 7 2 3 2 4 5
Arrays EXERCÍCIOS
Exercícios Lista de números: 1. Armazenar um array de 10 números inteiros: Solicitar ao usuário que informe cada um destes números; ou Gerar 10 números aleatórios para o array: Random rnd = new Random(); //Inicia Aleatório [Fora do laço] array[indice]= rnd.nextint(100); //Gera um número aleatório 2. Mostrar o array na sequência adquirida/gerada; 3. Colocar todo o array em ordem crescente; 4. Mostrar o array ordenado na tela.