25
1 Programação – JAVA Unidade - 4 Arrays e Strings Prof. Aparecido V. de Freitas Mestre e Doutorando em Engenharia da Computação pela EPUSP

1 Programação – JAVA Unidade - 4 Arrays e Strings Prof. Aparecido V. de Freitas Mestre e Doutorando em Engenharia da Computação pela EPUSP

Embed Size (px)

Citation preview

Page 1: 1 Programação – JAVA Unidade - 4 Arrays e Strings Prof. Aparecido V. de Freitas Mestre e Doutorando em Engenharia da Computação pela EPUSP

1

Programação – JAVA

Unidade - 4 Arrays e Strings

Prof. Aparecido V. de FreitasMestre e Doutorando em Engenharia

da Computação pela EPUSP

Page 2: 1 Programação – JAVA Unidade - 4 Arrays e Strings Prof. Aparecido V. de Freitas Mestre e Doutorando em Engenharia da Computação pela EPUSP

2

Arrays• Com os tipos básicos vistos nas unidades anteriores,

cada identificador corresponde à uma única variável.

• Mas, como proceder para manusearmos um conjunto de valores do mesmo tipo ?

• Por exemplo: os primeiros 1000 números primos.

Page 3: 1 Programação – JAVA Unidade - 4 Arrays e Strings Prof. Aparecido V. de Freitas Mestre e Doutorando em Engenharia da Computação pela EPUSP

3

Arrays Uma alternativa seria criarmos 1000 variáveis, cada uma com um determinado nome...

Page 4: 1 Programação – JAVA Unidade - 4 Arrays e Strings Prof. Aparecido V. de Freitas Mestre e Doutorando em Engenharia da Computação pela EPUSP

4

Arrays• Um array é um conjunto de variáveis do mesmo tipo a qual

atribuímos um nome único.

• Cada variável no array é chamada de elemento do array.

Page 5: 1 Programação – JAVA Unidade - 4 Arrays e Strings Prof. Aparecido V. de Freitas Mestre e Doutorando em Engenharia da Computação pela EPUSP

5

Arrays• Para fazermos referência à um um elemento de um array devemos usar o

nome do array em conjunto com um número inteiro chamado índice.

• O primeiro elemento do array tem índice 0, o segundo 1, e assim por diante.

Page 6: 1 Programação – JAVA Unidade - 4 Arrays e Strings Prof. Aparecido V. de Freitas Mestre e Doutorando em Engenharia da Computação pela EPUSP

6

Índice de um array

• Pode ser representado pela avaliação de uma expressão que deve resultar em um valor inteiro maior ou igual a zero.

Page 7: 1 Programação – JAVA Unidade - 4 Arrays e Strings Prof. Aparecido V. de Freitas Mestre e Doutorando em Engenharia da Computação pela EPUSP

7

Variáveis arrayint [ ] primos;

• A variável primos corresponde a uma referência a um array de inteiros que ainda não foi declarado.

• Portanto, neste ponto ainda não foi alocada memória para o array.

Page 8: 1 Programação – JAVA Unidade - 4 Arrays e Strings Prof. Aparecido V. de Freitas Mestre e Doutorando em Engenharia da Computação pela EPUSP

8

Definindo um arrayprimos = new int[10];

• O statement acima cria um array que irá armazenar 10 valores inteiros e grava uma referência ao array na variável primos.

• A referência é simplesmente aonde o array está na memória.

Page 9: 1 Programação – JAVA Unidade - 4 Arrays e Strings Prof. Aparecido V. de Freitas Mestre e Doutorando em Engenharia da Computação pela EPUSP

9

Definindo um array

int[ ] primos = new int[10];

primos

Primos[0]

Primos[1] Primos[9]

Page 10: 1 Programação – JAVA Unidade - 4 Arrays e Strings Prof. Aparecido V. de Freitas Mestre e Doutorando em Engenharia da Computação pela EPUSP

10

Inicializando arrays

• Podemos inicializar um array explicitando os valores em tempo de declaração.

• Com este procedimento o tamanho do array e, consequente alocação de memória, é definido.

int [ ] primos = {2,3,5,7,11,13,17};

O array acima tem 7 elementos inteiros.

Page 11: 1 Programação – JAVA Unidade - 4 Arrays e Strings Prof. Aparecido V. de Freitas Mestre e Doutorando em Engenharia da Computação pela EPUSP

11

Atribuição de arrays int [ ] primos = new int[100];

primos[0] = 2;primos[1] = 3;

Obs. Os demais itens do array são inicializados em zero (valor default)

Page 12: 1 Programação – JAVA Unidade - 4 Arrays e Strings Prof. Aparecido V. de Freitas Mestre e Doutorando em Engenharia da Computação pela EPUSP

12

Inicialização de arraysPodemos inicializar um array a partir de um outro array existente.

long [ ] par = {2L, 4L, 6L, 8L, 10L};long [ ] valores = par;

Page 13: 1 Programação – JAVA Unidade - 4 Arrays e Strings Prof. Aparecido V. de Freitas Mestre e Doutorando em Engenharia da Computação pela EPUSP

13

long [ ] par = {2L, 4L, 6L, 8L};

long [ ] val = par;

Inicialização de arrays

2 4 6 8

par

val

par[1]par[0] par[2] par[3]

val[1]val[0] val[2] val[3]

Page 14: 1 Programação – JAVA Unidade - 4 Arrays e Strings Prof. Aparecido V. de Freitas Mestre e Doutorando em Engenharia da Computação pela EPUSP

14

2 4 6 8

par

val

par[1]par[0] par[2] par[3]

val[1]val[0] val[2] val[3]

Inicialização de arrays

Foram criadas duas variáveis array, porém temos apenas um array.

Page 15: 1 Programação – JAVA Unidade - 4 Arrays e Strings Prof. Aparecido V. de Freitas Mestre e Doutorando em Engenharia da Computação pela EPUSP

15

Utilização de arraysdouble [ ] par = new double[50];for (int i; i < 50; i++)

par[i] = 100.0 *Math.random();

• Utilizamos elementos de array da mesma forma que usamos variáveis do mesmo tipo de dados.

Page 16: 1 Programação – JAVA Unidade - 4 Arrays e Strings Prof. Aparecido V. de Freitas Mestre e Doutorando em Engenharia da Computação pela EPUSP

16

Tamanho de um array• Podemos nos referir ao tamanho de um array usando um membro de dados do objeto array chamado length

double [ ] par = new double[50];double average = 0;for (int i=0; i < par.length; i++)average += par[i];average /= par.length;

Page 17: 1 Programação – JAVA Unidade - 4 Arrays e Strings Prof. Aparecido V. de Freitas Mestre e Doutorando em Engenharia da Computação pela EPUSP

17

Array de arraysfloat [ ] [ ] temp = new float [10][365];

• É também chamado de array bidimensional, uma vez que tem duas dimensões. • No exemplo, o primeiro índice se refere à localização geográfica e o segundo índice corresponde ao dia

do ano.

Page 18: 1 Programação – JAVA Unidade - 4 Arrays e Strings Prof. Aparecido V. de Freitas Mestre e Doutorando em Engenharia da Computação pela EPUSP

18

Array de arraysfloat [ ] [ ] temp; //declara variavel temp = new float [10][365]; // cria o array

• Fixando-se o valor do segundo índice e variando-se o primeiro, acessamos uma coluna do array. • Fixando-se o valor do primeiro índice e variando-se o segundo, acessamos uma linha do array.

Page 19: 1 Programação – JAVA Unidade - 4 Arrays e Strings Prof. Aparecido V. de Freitas Mestre e Doutorando em Engenharia da Computação pela EPUSP

19

public class WeatherFan

{

public static void main(String[] args)

{

float [ ][ ] temperatura = new float[10][365];

for(int i = 0; i < temperatura.length; i++)

for(int j = 0; j < temperatura[i].length; j++)

temperatura[i][j] = (float)(45.0*Math.random() - 10.0);

for(int i = 0; i < temperatura.length; i++)

{

float media = 0.0f;

for(int j = 0; j < temperatura[0].length; j++)

media += temperatura[i][j];

System.out.println(“Temperatura media na localizacao "

+ (i+1) + " = " + media/(float)temperatura[i].length);

}

}

}

Exemplo

Page 20: 1 Programação – JAVA Unidade - 4 Arrays e Strings Prof. Aparecido V. de Freitas Mestre e Doutorando em Engenharia da Computação pela EPUSP

20

Array de caracteres

char [ ] mensagem; //declara variavel mensagem = new char [5]; // cria o arraymensagem[0] = ‘a’;mensagem[1] = ‘e’;mensagem[2] = ‘i’;mensagem[3] = ‘o’;mensagem[4] = ‘u’;

Page 21: 1 Programação – JAVA Unidade - 4 Arrays e Strings Prof. Aparecido V. de Freitas Mestre e Doutorando em Engenharia da Computação pela EPUSP

21

Array de caracteres

char [ ] mensagem = {‘a’, ‘e’, ‘i’ ,‘o’, ‘u’};

Page 22: 1 Programação – JAVA Unidade - 4 Arrays e Strings Prof. Aparecido V. de Freitas Mestre e Doutorando em Engenharia da Computação pela EPUSP

22

String

• É uma classe standard em Java a qual disponibiliza facilidades para o tratamento de listas de caracteres.

Page 23: 1 Programação – JAVA Unidade - 4 Arrays e Strings Prof. Aparecido V. de Freitas Mestre e Doutorando em Engenharia da Computação pela EPUSP

23

Literais String

• Correspondem à uma seqüência de caractereres delimitados por “.

• Exemplo:“Eu gosto de estudar no

IMES!”• O exemplo acima é um objeto constante

da classe String que o compilador cria para usarmos no programa.

Page 24: 1 Programação – JAVA Unidade - 4 Arrays e Strings Prof. Aparecido V. de Freitas Mestre e Doutorando em Engenharia da Computação pela EPUSP

24

Literais String

• Exemplo:System.out.println( “Ciência da Computação \n é um curso muito bom no IMES!”);

• Será impresso na console:

Ciência da Computação é um curso muito bom no IMES!

Page 25: 1 Programação – JAVA Unidade - 4 Arrays e Strings Prof. Aparecido V. de Freitas Mestre e Doutorando em Engenharia da Computação pela EPUSP

25

Criando objetos String

• Uma variável String é simplesmente um objeto da classe String.

• Declaramos uma variável String da mesma forma que declaramos alguma variável de um tipo básico.

String MinhaString = “Eu gosto de Java”;