Java: Estruturas de Repetição e Arrays
Me. Arthur Emanuel de Oliveira Carosia
Estruturas de Repetição
while ( condição ) { instruções;}
O while é um comando usado para fazer um laço (loop), isto é, repetir um trecho de código algumas vezes.
A ideia é que esse trecho de código seja repetido enquanto uma determinada condição permanecer verdadeira.
Estruturas de Repetição
Estruturas de Repetição
for (inicializa; expressão booleana; incremento) { instruções;}
Faz um trecho de código ser repetido enquanto uma condição continuar verdadeira.
Além disso, o for isola também um espaço para inicialização de variáveis e o modificador dessas variáveis. Isso faz com que fiquem mais
legíveis, as variáveis que são relacionadas ao loop:
Estruturas de Repetição
Estruturas de Repetição
Faça um programa em Java utilizando tanto For quanto While para cada um das situações a seguir:
• Imprima todos os números de 150 a 300.
• Imprima a soma de 1 até 1000.
• Imprima todos os múltiplos de 3, entre 1 e 100.
• Imprima os fatoriais de 1 a 10.
Exercícios
Imprima os primeiros números da série de Fibonacci até passar de 100.
A série de Fibonacci é a seguinte: 0, 1, 1, 2, 3, 5, 8, 13, 21, etc... Para calculá-la, o primeiro elemento vale 0, o segundo vale 1, daí por diante, o n-ésimo elemento vale o (n-1)-ésimo elemento somado ao (n-2)-ésimo elemento (ex: 8 = 5 + 3).
Exercícios
ExercíciosConstrua um Algoritmo que, para um grupo de 50 valores inteiros, determine: a) A soma dos números positivos; b) A quantidade de valores negativos;
Faça um algoritmo que imprima os múltiplos positivos de 7, inferiores a 1000.
Faça um algoritmo que calcule o valor de A, dado por:A = N + (N-1)/2 + (N-1)/3 +...+1/N
onde N é um número inteiro positivo.
Faça um algoritmo que leia um número e imprima a sua tabela de multiplicação de 1 até 13.
ExercíciosPesquise sobre a estrutura de repetição DO...WHILE do Java e transponha todos os exercícios que você fez utilizando While para esta nova estrutura de repetição.
Arrays
Dentro de um bloco, podemos declarar diversas variáveis e usá-las:
int idade1;int idade2; int idade3; int idade4;
Isso pode se tornar um problema quando precisamos mudar a quantidade de variáveis a serem declaradas de acordo com um parâmetro.
Arrays
Criação de um array de int de 10 posições e atribuição do endereço na variável em que ela foi criada:
int[] idades; idades = new int[10];
•O int[] é um tipo.
•A variável idades é uma referência.
ArraysAcessando as posições do Array e atribuição de valores:
idades[5] = 10;
O código acima altera a sexta posição do array.
Os índices do array vão de 0 a n-1, onde n é o tamanho dado no momento em que você criou o array.
Arrays
Considere não sabemos quantas idadades iremos armazenar. Podemos então fazer:
int idades[] = new int[n];
E assim podemos acessar e modificar os inteiros com índice de 0 a n-1.
ArraysPercorrendo Arrays
Arrays
Toda array em Java tem um atributo que se chama length, e você pode acessá-lo para saber o tamanho do array ao qual você está se
referenciando naquele momento:
Percorrendo Arrays
ArraysPercorrendo Arrays
O Java 5.0 traz uma nova sintaxe para percorrer arrays.
No caso de não ter necessidade de manter uma variável com o índice que indica a posição do elemento, podemos usar o
enhanced-for.
ArraysPercorrendo Arrays
O Java 5.0 traz uma nova sintaxe para percorrer arrays.
No caso de não ter necessidade de manter uma variável com o índice que indica a posição do elemento, podemos usar o
enhanced-for.
ArraysO método main recebe uma array de Strings como argumento.
Essa array é passada pelo usuário quando ele invoca o programa:
java Teste argumento1 outro maisoutro
ArraysO método main recebe uma array de Strings como argumento.
Essa array é passada pelo usuário quando ele invoca o programa:
java Teste argumento1 outro maisoutro
Saída produzida:
argumento1outro
maisoutro
ExercíciosPara resolver os exerícios a seguir, utilize duas abordagens para percorrer os arrays:
for comum e o enhanced-for.
Para cada conjunto de valores abaixo, escreva o código Java, usando laço(s), que preencha um array com os valores:
a) 10 9 8 7 6 5 4 3 2 1b) b) 0 1 4 9 16 25 36 49 64 81 100c) c) 1 2 3 4 5 10 20 30 40 50
Escreva um trecho Java que leia 10 valores double do teclado e armazene-os num array d.
Crie um método que recebe um array de inteiros e retorna a quantidade de elementos do array que são números negativos.
Crie um método que recebe um array de inteiros a e um valor inteiro x e retorna a quantidade de vezes que x aparece no array a.
ExercíciosPara resolver os exerícios a seguir, utilize duas abordagens para percorrer os arrays:
for comum e o enhanced-for.
Escreva um método que recebe um array de números e devolve a posição onde se encontra o maior valor do array. Se houver mais de um valor maior, devolver a posição da primeira ocorrência.
Crie um método que recebe um array de inteiros positivos e substitui seus elementos de valor ímpar por -1 e os pares por +1.
Escreva um programa que leia um vetor de 5 números do teclado e depois o inverta em outro vetor.
Ex: Vetor lido: 0 1 2 3 4 5; Vetor invertido: 5 4 3 2 1 0
Jsp, Servlets e J2EE. André Temple, Rodrigo Fernandes de Mello, Danival Taffarel Calegari and Maurício Schiezaro. Disponível em: www.inf.ufsc.br/~bosco/downloads/livro-jsp-servlets-j2ee.pdf.
W3Schools. Disponível em: http://www.w3schools.com/.
Apostila de Java. Caelum. Disponível em: http://www.caelum.com.br/apostila-java-orientacao-objetos/.
DEITEL, Paul J.; DEITEL, Harvey M. Java - como programar. 8. ed. São Paulo: Pearson Prentice Hall, 2010.
Referências
Java
Me. Arthur Emanuel de Oliveira Carosia