Arrays (vetores ou arranjos) e mainariane/ach2001/ACH2001-Aula19-Arrays.pdf · Arrays (vetores ou...

38
SISTEMAS DE INFORMAÇÃO 1 1 1 1 SISTEMAS DE INFORMAÇÃO 1 1 1 1 SISTEMAS DE INFORMAÇÃO 1 1 SISTEMAS DE INFORMAÇÃO 1 1 1 1 SISTEMAS DE INFORMAÇÃO 1 1 1 1 SISTEMAS DE INFORMAÇÃO 1 1 SISTEMAS DE INFORMAÇÃO 1 1 1 SISTEMAS DE INFORMAÇÃO 1 1 1 Professoras: Ariane Machado Lima Fátima L. S. Nunes Arrays (vetores ou arranjos) e main

Transcript of Arrays (vetores ou arranjos) e mainariane/ach2001/ACH2001-Aula19-Arrays.pdf · Arrays (vetores ou...

Page 1: Arrays (vetores ou arranjos) e mainariane/ach2001/ACH2001-Aula19-Arrays.pdf · Arrays (vetores ou arranjos) e main. SISTEMAS DE INFORMAÇÃO 2 22 O que veremos hoje • Arrays (vetores)

SISTEMAS DEINFORMAÇÃO

11

11SISTEMAS DE

INFORMAÇÃO1

11

1SISTEMAS DEINFORMAÇÃO

11SISTEMAS DE

INFORMAÇÃO1

11

1SISTEMAS DEINFORMAÇÃO

11

11SISTEMAS DE

INFORMAÇÃO1

1SISTEMAS DEINFORMAÇÃO

11

1

SISTEMAS DEINFORMAÇÃO

11

1

Professoras:Ariane Machado LimaFátima L. S. Nunes

Arrays

(vetores ou arranjos)

e main

Page 2: Arrays (vetores ou arranjos) e mainariane/ach2001/ACH2001-Aula19-Arrays.pdf · Arrays (vetores ou arranjos) e main. SISTEMAS DE INFORMAÇÃO 2 22 O que veremos hoje • Arrays (vetores)

SISTEMAS DEINFORMAÇÃO

22

22SISTEMAS DE

INFORMAÇÃO2

22

2SISTEMAS DEINFORMAÇÃO

22SISTEMAS DE

INFORMAÇÃO2

22

2SISTEMAS DEINFORMAÇÃO

22

22SISTEMAS DE

INFORMAÇÃO2

2SISTEMAS DEINFORMAÇÃO

22

2

SISTEMAS DEINFORMAÇÃO

22

2

O que veremos hoje

• Arrays (vetores) – como armazenar vários

valores em uma “única variável”

• Programas independentes em Java (método

main)

Page 3: Arrays (vetores ou arranjos) e mainariane/ach2001/ACH2001-Aula19-Arrays.pdf · Arrays (vetores ou arranjos) e main. SISTEMAS DE INFORMAÇÃO 2 22 O que veremos hoje • Arrays (vetores)

SISTEMAS DEINFORMAÇÃO

33

33SISTEMAS DE

INFORMAÇÃO3

33

3SISTEMAS DEINFORMAÇÃO

33SISTEMAS DE

INFORMAÇÃO3

33

3SISTEMAS DEINFORMAÇÃO

33

33SISTEMAS DE

INFORMAÇÃO3

3SISTEMAS DEINFORMAÇÃO

33

3

SISTEMAS DEINFORMAÇÃO

33

3

Motivação

• Quero armazenar as temperaturas máximas de cada dia do mês:

Page 4: Arrays (vetores ou arranjos) e mainariane/ach2001/ACH2001-Aula19-Arrays.pdf · Arrays (vetores ou arranjos) e main. SISTEMAS DE INFORMAÇÃO 2 22 O que veremos hoje • Arrays (vetores)

SISTEMAS DEINFORMAÇÃO

44

44SISTEMAS DE

INFORMAÇÃO4

44

4SISTEMAS DEINFORMAÇÃO

44SISTEMAS DE

INFORMAÇÃO4

44

4SISTEMAS DEINFORMAÇÃO

44

44SISTEMAS DE

INFORMAÇÃO4

4SISTEMAS DEINFORMAÇÃO

44

4

SISTEMAS DEINFORMAÇÃO

44

4

Motivação

• Quero armazenar as temperaturas máximas de cada dia do mês:double t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12,

t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31;

Page 5: Arrays (vetores ou arranjos) e mainariane/ach2001/ACH2001-Aula19-Arrays.pdf · Arrays (vetores ou arranjos) e main. SISTEMAS DE INFORMAÇÃO 2 22 O que veremos hoje • Arrays (vetores)

SISTEMAS DEINFORMAÇÃO

55

55SISTEMAS DE

INFORMAÇÃO5

55

5SISTEMAS DEINFORMAÇÃO

55SISTEMAS DE

INFORMAÇÃO5

55

5SISTEMAS DEINFORMAÇÃO

55

55SISTEMAS DE

INFORMAÇÃO5

5SISTEMAS DEINFORMAÇÃO

55

5

SISTEMAS DEINFORMAÇÃO

55

5

Motivação

• Quero armazenar as temperaturas máximas de cada dia do mês:double t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12,

t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31;

• Quero calcular a média:

Page 6: Arrays (vetores ou arranjos) e mainariane/ach2001/ACH2001-Aula19-Arrays.pdf · Arrays (vetores ou arranjos) e main. SISTEMAS DE INFORMAÇÃO 2 22 O que veremos hoje • Arrays (vetores)

SISTEMAS DEINFORMAÇÃO

66

66SISTEMAS DE

INFORMAÇÃO6

66

6SISTEMAS DEINFORMAÇÃO

66SISTEMAS DE

INFORMAÇÃO6

66

6SISTEMAS DEINFORMAÇÃO

66

66SISTEMAS DE

INFORMAÇÃO6

6SISTEMAS DEINFORMAÇÃO

66

6

SISTEMAS DEINFORMAÇÃO

66

6

Motivação

• Quero armazenar as temperaturas máximas de cada dia do mês:double t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12,

t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31;

• Quero calcular a média:double media = (t1+ t2+ t3+ t4+ t5+ t6+ t7+ t8+

t9+ t10+ t11+ t12+ t13+ t14+ t15+ t16+ t17+ t18+ t19+ t20+ t21+ t22+ t23+ t24+ t25+ t26+ t27+ t28+ t29+ t30+ t31) / 31;

Page 7: Arrays (vetores ou arranjos) e mainariane/ach2001/ACH2001-Aula19-Arrays.pdf · Arrays (vetores ou arranjos) e main. SISTEMAS DE INFORMAÇÃO 2 22 O que veremos hoje • Arrays (vetores)

SISTEMAS DEINFORMAÇÃO

77

77SISTEMAS DE

INFORMAÇÃO7

77

7SISTEMAS DEINFORMAÇÃO

77SISTEMAS DE

INFORMAÇÃO7

77

7SISTEMAS DEINFORMAÇÃO

77

77SISTEMAS DE

INFORMAÇÃO7

7SISTEMAS DEINFORMAÇÃO

77

7

SISTEMAS DEINFORMAÇÃO

77

7

Array

• Array: estrutura de dados que permite armazenar uma sequência de valores de mesmo tipo.

• Ao invés de fazer: double t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12,

t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31;

posso fazer

double[] temperaturas = new double[31];

Page 8: Arrays (vetores ou arranjos) e mainariane/ach2001/ACH2001-Aula19-Arrays.pdf · Arrays (vetores ou arranjos) e main. SISTEMAS DE INFORMAÇÃO 2 22 O que veremos hoje • Arrays (vetores)

SISTEMAS DEINFORMAÇÃO

88

88SISTEMAS DE

INFORMAÇÃO8

88

8SISTEMAS DEINFORMAÇÃO

88SISTEMAS DE

INFORMAÇÃO8

88

8SISTEMAS DEINFORMAÇÃO

88

88SISTEMAS DE

INFORMAÇÃO8

8SISTEMAS DEINFORMAÇÃO

88

8

SISTEMAS DEINFORMAÇÃO

88

8

Array

• Um array é como uma torre de CDs:– Tem um tamanho pré-definido– Cada espaço cabe apenas 1 CD– Cada espaço tem o tamanho

de 1 CD– Você não pode acessar

espaços antes ou depois– Pode ter espaços vazios

Page 9: Arrays (vetores ou arranjos) e mainariane/ach2001/ACH2001-Aula19-Arrays.pdf · Arrays (vetores ou arranjos) e main. SISTEMAS DE INFORMAÇÃO 2 22 O que veremos hoje • Arrays (vetores)

SISTEMAS DEINFORMAÇÃO

99

99SISTEMAS DE

INFORMAÇÃO9

99

9SISTEMAS DEINFORMAÇÃO

99SISTEMAS DE

INFORMAÇÃO9

99

9SISTEMAS DEINFORMAÇÃO

99

99SISTEMAS DE

INFORMAÇÃO9

9SISTEMAS DEINFORMAÇÃO

99

9

SISTEMAS DEINFORMAÇÃO

99

9

Array

• Você pode criar um array de qualquer tipo (primitivo ou abstrato)

– tipo[] nomeDaVariavel = new tipo[tamanho do array]

– Em Java, cada elemento do array é inicializado com o valor default do tipo

• Exemplos:

– int [] presencaDosAlunos = new int[100];

– char[] conceitos = new char[100]; //A, B, C, D ou E

– double[] temperaturas = new double[31];

– Produto[] produtosEmEstoque = new Produto[max];

Page 10: Arrays (vetores ou arranjos) e mainariane/ach2001/ACH2001-Aula19-Arrays.pdf · Arrays (vetores ou arranjos) e main. SISTEMAS DE INFORMAÇÃO 2 22 O que veremos hoje • Arrays (vetores)

SISTEMAS DEINFORMAÇÃO

1010

1010SISTEMAS DE

INFORMAÇÃO10

1010

10SISTEMAS DEINFORMAÇÃO

1010SISTEMAS DE

INFORMAÇÃO10

1010

10SISTEMAS DEINFORMAÇÃO

1010

1010SISTEMAS DE

INFORMAÇÃO10

10SISTEMAS DEINFORMAÇÃO

1010

10

SISTEMAS DEINFORMAÇÃO

1010

10

Array

• O que acontce na memória?• int[] numFaltasMes = new int [10];

– Cada espaço tem o tamanho de um int

0000

0001

0002

0003

....

FFF…F

Primeira posição (4 bytes)

Segunda posição (4 bytes)

Na memória

Page 11: Arrays (vetores ou arranjos) e mainariane/ach2001/ACH2001-Aula19-Arrays.pdf · Arrays (vetores ou arranjos) e main. SISTEMAS DE INFORMAÇÃO 2 22 O que veremos hoje • Arrays (vetores)

SISTEMAS DEINFORMAÇÃO

1111

1111SISTEMAS DE

INFORMAÇÃO11

1111

11SISTEMAS DEINFORMAÇÃO

1111SISTEMAS DE

INFORMAÇÃO11

1111

11SISTEMAS DEINFORMAÇÃO

1111

1111SISTEMAS DE

INFORMAÇÃO11

11SISTEMAS DEINFORMAÇÃO

1111

11

SISTEMAS DEINFORMAÇÃO

1111

11

Array

• Representamos na vertical ou horizontal• int[] numFaltasMes = new int [10];

– Cada espaço tem o tamanho de um int

numFaltasMes

Page 12: Arrays (vetores ou arranjos) e mainariane/ach2001/ACH2001-Aula19-Arrays.pdf · Arrays (vetores ou arranjos) e main. SISTEMAS DE INFORMAÇÃO 2 22 O que veremos hoje • Arrays (vetores)

SISTEMAS DEINFORMAÇÃO

1212

1212SISTEMAS DE

INFORMAÇÃO12

1212

12SISTEMAS DEINFORMAÇÃO

1212SISTEMAS DE

INFORMAÇÃO12

1212

12SISTEMAS DEINFORMAÇÃO

1212

1212SISTEMAS DE

INFORMAÇÃO12

12SISTEMAS DEINFORMAÇÃO

1212

12

SISTEMAS DEINFORMAÇÃO

1212

12

Array

• Representamos na vertical ou horizontal• int[ ] numFaltasMes = new int [10];

– Cada espaço tem o tamanho de um int

numFaltasMes

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9]

Page 13: Arrays (vetores ou arranjos) e mainariane/ach2001/ACH2001-Aula19-Arrays.pdf · Arrays (vetores ou arranjos) e main. SISTEMAS DE INFORMAÇÃO 2 22 O que veremos hoje • Arrays (vetores)

SISTEMAS DEINFORMAÇÃO

1313

1313SISTEMAS DE

INFORMAÇÃO13

1313

13SISTEMAS DEINFORMAÇÃO

1313SISTEMAS DE

INFORMAÇÃO13

1313

13SISTEMAS DEINFORMAÇÃO

1313

1313SISTEMAS DE

INFORMAÇÃO13

13SISTEMAS DEINFORMAÇÃO

1313

13

SISTEMAS DEINFORMAÇÃO

1313

13

Array

• Cada elemento é indicado por um índice• int[ ] numFaltasMes = new int [10];

– Cada espaço tem o tamanho de um int

numFaltasMes[0](4 bytes)

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9]

numFaltasMes[1](4 bytes)

numFaltasMes[9](4 bytes)

Page 14: Arrays (vetores ou arranjos) e mainariane/ach2001/ACH2001-Aula19-Arrays.pdf · Arrays (vetores ou arranjos) e main. SISTEMAS DE INFORMAÇÃO 2 22 O que veremos hoje • Arrays (vetores)

SISTEMAS DEINFORMAÇÃO

1414

1414SISTEMAS DE

INFORMAÇÃO14

1414

14SISTEMAS DEINFORMAÇÃO

1414SISTEMAS DE

INFORMAÇÃO14

1414

14SISTEMAS DEINFORMAÇÃO

1414

1414SISTEMAS DE

INFORMAÇÃO14

14SISTEMAS DEINFORMAÇÃO

1414

14

SISTEMAS DEINFORMAÇÃO

1414

14

Array

• double [100]:– Cada espaço tem o tamanho de um double

8 bytes

[0] [1] [2] [3] [4] [5] [6] [7] ... [99]

8 bytes 8 bytes

Page 15: Arrays (vetores ou arranjos) e mainariane/ach2001/ACH2001-Aula19-Arrays.pdf · Arrays (vetores ou arranjos) e main. SISTEMAS DE INFORMAÇÃO 2 22 O que veremos hoje • Arrays (vetores)

SISTEMAS DEINFORMAÇÃO

1515

1515SISTEMAS DE

INFORMAÇÃO15

1515

15SISTEMAS DEINFORMAÇÃO

1515SISTEMAS DE

INFORMAÇÃO15

1515

15SISTEMAS DEINFORMAÇÃO

1515

1515SISTEMAS DE

INFORMAÇÃO15

15SISTEMAS DEINFORMAÇÃO

1515

15

SISTEMAS DEINFORMAÇÃO

1515

15

Array

• Produto [100]:– Cada espaço tem o tamanho de uma referência

referência

[0] [1] [2] [3] [4] [5] [6] [7] ... [99]

referência referência

Page 16: Arrays (vetores ou arranjos) e mainariane/ach2001/ACH2001-Aula19-Arrays.pdf · Arrays (vetores ou arranjos) e main. SISTEMAS DE INFORMAÇÃO 2 22 O que veremos hoje • Arrays (vetores)

SISTEMAS DEINFORMAÇÃO

1616

1616SISTEMAS DE

INFORMAÇÃO16

1616

16SISTEMAS DEINFORMAÇÃO

1616SISTEMAS DE

INFORMAÇÃO16

1616

16SISTEMAS DEINFORMAÇÃO

1616

1616SISTEMAS DE

INFORMAÇÃO16

16SISTEMAS DEINFORMAÇÃO

1616

16

SISTEMAS DEINFORMAÇÃO

1616

16

Array

• Ou seja, se o array é definido como tipo[],

– Se tipo é um tipo primitivo

• cada elemento tem o tamanho deste tipo primitivo

• cada elemento armazena um VALOR deste tipo

– Se tipo é um tipo abstrato

• cada elemento tem o tamanho de uma referência

• cada elemento armazena a referência para um

objeto de tipo tipo

Page 17: Arrays (vetores ou arranjos) e mainariane/ach2001/ACH2001-Aula19-Arrays.pdf · Arrays (vetores ou arranjos) e main. SISTEMAS DE INFORMAÇÃO 2 22 O que veremos hoje • Arrays (vetores)

SISTEMAS DEINFORMAÇÃO

1717

1717SISTEMAS DE

INFORMAÇÃO17

1717

17SISTEMAS DEINFORMAÇÃO

1717SISTEMAS DE

INFORMAÇÃO17

1717

17SISTEMAS DEINFORMAÇÃO

1717

1717SISTEMAS DE

INFORMAÇÃO17

17SISTEMAS DEINFORMAÇÃO

1717

17

SISTEMAS DEINFORMAÇÃO

1717

17

Array

• Array é um tipo abstrato (como as classes)

• Portanto uma variável de tipo array não armazena o array propriamente dito, mas a referência para o array (como os objetos).

Page 18: Arrays (vetores ou arranjos) e mainariane/ach2001/ACH2001-Aula19-Arrays.pdf · Arrays (vetores ou arranjos) e main. SISTEMAS DE INFORMAÇÃO 2 22 O que veremos hoje • Arrays (vetores)

SISTEMAS DEINFORMAÇÃO

1818

1818SISTEMAS DE

INFORMAÇÃO18

1818

18SISTEMAS DEINFORMAÇÃO

1818SISTEMAS DE

INFORMAÇÃO18

1818

18SISTEMAS DEINFORMAÇÃO

1818

1818SISTEMAS DE

INFORMAÇÃO18

18SISTEMAS DEINFORMAÇÃO

1818

18

SISTEMAS DEINFORMAÇÃO

1818

18

0001

0002

0003

....

FFF…F

Primeira posição (4 bytes)

Segunda posição (4 bytes)

C5671

C5671

NumFaltasMes = 00002

00002

Page 19: Arrays (vetores ou arranjos) e mainariane/ach2001/ACH2001-Aula19-Arrays.pdf · Arrays (vetores ou arranjos) e main. SISTEMAS DE INFORMAÇÃO 2 22 O que veremos hoje • Arrays (vetores)

SISTEMAS DEINFORMAÇÃO

1919

1919SISTEMAS DE

INFORMAÇÃO19

1919

19SISTEMAS DEINFORMAÇÃO

1919SISTEMAS DE

INFORMAÇÃO19

1919

19SISTEMAS DEINFORMAÇÃO

1919

1919SISTEMAS DE

INFORMAÇÃO19

19SISTEMAS DEINFORMAÇÃO

1919

19

SISTEMAS DEINFORMAÇÃO

1919

19

Array - accesso

numFaltasMes

int[] numFaltasMes = new int [10];numFaltasMes[4] ++;

Page 20: Arrays (vetores ou arranjos) e mainariane/ach2001/ACH2001-Aula19-Arrays.pdf · Arrays (vetores ou arranjos) e main. SISTEMAS DE INFORMAÇÃO 2 22 O que veremos hoje • Arrays (vetores)

SISTEMAS DEINFORMAÇÃO

2020

2020SISTEMAS DE

INFORMAÇÃO20

2020

20SISTEMAS DEINFORMAÇÃO

2020SISTEMAS DE

INFORMAÇÃO20

2020

20SISTEMAS DEINFORMAÇÃO

2020

2020SISTEMAS DE

INFORMAÇÃO20

20SISTEMAS DEINFORMAÇÃO

2020

20

SISTEMAS DEINFORMAÇÃO

2020

20

Array – como manipular?class TemperaturasDoMes{

double[] temperaturas = new double [31]; // aqui vai o trecho que atualiza temperaturas;

void imprimeTempMes(){

int indMes = 0;while (indMes < 31)

{System.out.println(temperaturas[indMes]);indMes++;

}}

}

Page 21: Arrays (vetores ou arranjos) e mainariane/ach2001/ACH2001-Aula19-Arrays.pdf · Arrays (vetores ou arranjos) e main. SISTEMAS DE INFORMAÇÃO 2 22 O que veremos hoje • Arrays (vetores)

SISTEMAS DEINFORMAÇÃO

2121

2121SISTEMAS DE

INFORMAÇÃO21

2121

21SISTEMAS DEINFORMAÇÃO

2121SISTEMAS DE

INFORMAÇÃO21

2121

21SISTEMAS DEINFORMAÇÃO

2121

2121SISTEMAS DE

INFORMAÇÃO21

21SISTEMAS DEINFORMAÇÃO

2121

21

SISTEMAS DEINFORMAÇÃO

2121

21

Array – como manipular?class TemperaturasDoMes{

double[] temperaturas = new double [31]; // aqui vai o trecho que atualiza temperaturas;

void imprimeTempMes(){

int indMes = 0;while (indMes < 31)

{System.out.println(temperaturas[indMes]);indMes++;

}}

}

Page 22: Arrays (vetores ou arranjos) e mainariane/ach2001/ACH2001-Aula19-Arrays.pdf · Arrays (vetores ou arranjos) e main. SISTEMAS DE INFORMAÇÃO 2 22 O que veremos hoje • Arrays (vetores)

SISTEMAS DEINFORMAÇÃO

2222

2222SISTEMAS DE

INFORMAÇÃO22

2222

22SISTEMAS DEINFORMAÇÃO

2222SISTEMAS DE

INFORMAÇÃO22

2222

22SISTEMAS DEINFORMAÇÃO

2222

2222SISTEMAS DE

INFORMAÇÃO22

22SISTEMAS DEINFORMAÇÃO

2222

22

SISTEMAS DEINFORMAÇÃO

2222

22

Array – atributo length

• Array é um tipo especial de objeto em Java• Já vem com um atributo pré-definido length, que

contém o comprimento do array

Page 23: Arrays (vetores ou arranjos) e mainariane/ach2001/ACH2001-Aula19-Arrays.pdf · Arrays (vetores ou arranjos) e main. SISTEMAS DE INFORMAÇÃO 2 22 O que veremos hoje • Arrays (vetores)

SISTEMAS DEINFORMAÇÃO

2323

2323SISTEMAS DE

INFORMAÇÃO23

2323

23SISTEMAS DEINFORMAÇÃO

2323SISTEMAS DE

INFORMAÇÃO23

2323

23SISTEMAS DEINFORMAÇÃO

2323

2323SISTEMAS DE

INFORMAÇÃO23

23SISTEMAS DEINFORMAÇÃO

2323

23

SISTEMAS DEINFORMAÇÃO

2323

23

Array – atributo length

• Array é um tipo especial de objeto em Java• Já vem com um atributo pré-definido length, que

contém o comprimento do arrayclass TemperaturasDoMes{

double[] temperaturas = new double [31];

// aqui vai o trecho que atualiza temperaturas;

void imprimeTempMes(){

int indMes = 0;

while (indMes < temperaturas.length){

System.out.println(temperaturas[indMes]);

indMes++;

}

}

Page 24: Arrays (vetores ou arranjos) e mainariane/ach2001/ACH2001-Aula19-Arrays.pdf · Arrays (vetores ou arranjos) e main. SISTEMAS DE INFORMAÇÃO 2 22 O que veremos hoje • Arrays (vetores)

SISTEMAS DEINFORMAÇÃO

2424

2424SISTEMAS DE

INFORMAÇÃO24

2424

24SISTEMAS DEINFORMAÇÃO

2424SISTEMAS DE

INFORMAÇÃO24

2424

24SISTEMAS DEINFORMAÇÃO

2424

2424SISTEMAS DE

INFORMAÇÃO24

24SISTEMAS DEINFORMAÇÃO

2424

24

SISTEMAS DEINFORMAÇÃO

2424

24

Array – atributo length

• Valor do atributolength é definido automaticamente pela linguagem Java

• Não pode ser alterado!!!

temperaturas.length = 25;

Page 25: Arrays (vetores ou arranjos) e mainariane/ach2001/ACH2001-Aula19-Arrays.pdf · Arrays (vetores ou arranjos) e main. SISTEMAS DE INFORMAÇÃO 2 22 O que veremos hoje • Arrays (vetores)

SISTEMAS DEINFORMAÇÃO

2525

2525SISTEMAS DE

INFORMAÇÃO25

2525

25SISTEMAS DEINFORMAÇÃO

2525SISTEMAS DE

INFORMAÇÃO25

2525

25SISTEMAS DEINFORMAÇÃO

2525

2525SISTEMAS DE

INFORMAÇÃO25

25SISTEMAS DEINFORMAÇÃO

2525

25

SISTEMAS DEINFORMAÇÃO

2525

25

Array – atributo length

• Valor do atributolength é definido automaticamente pela linguagem Java

• Não pode ser alterado!!!

temperaturas.length = 25;

PROIBIDO !!!

Page 26: Arrays (vetores ou arranjos) e mainariane/ach2001/ACH2001-Aula19-Arrays.pdf · Arrays (vetores ou arranjos) e main. SISTEMAS DE INFORMAÇÃO 2 22 O que veremos hoje • Arrays (vetores)

SISTEMAS DEINFORMAÇÃO

2626

2626SISTEMAS DE

INFORMAÇÃO26

2626

26SISTEMAS DEINFORMAÇÃO

2626SISTEMAS DE

INFORMAÇÃO26

2626

26SISTEMAS DEINFORMAÇÃO

2626

2626SISTEMAS DE

INFORMAÇÃO26

26SISTEMAS DEINFORMAÇÃO

2626

26

SISTEMAS DEINFORMAÇÃO

2626

26

Array – Inicializaçãoclass ManipulaArrays

{void iniciaQuadrados(){

int[] quadrado = new int[10]; int indQuad = 0;

while (indQuad < quadrado.length) {

quadrado [indQuad] = indQuad*indQuad;

indQuad++;

}}

}

Page 27: Arrays (vetores ou arranjos) e mainariane/ach2001/ACH2001-Aula19-Arrays.pdf · Arrays (vetores ou arranjos) e main. SISTEMAS DE INFORMAÇÃO 2 22 O que veremos hoje • Arrays (vetores)

SISTEMAS DEINFORMAÇÃO

2727

2727SISTEMAS DE

INFORMAÇÃO27

2727

27SISTEMAS DEINFORMAÇÃO

2727SISTEMAS DE

INFORMAÇÃO27

2727

27SISTEMAS DEINFORMAÇÃO

2727

2727SISTEMAS DE

INFORMAÇÃO27

27SISTEMAS DEINFORMAÇÃO

2727

27

SISTEMAS DEINFORMAÇÃO

2727

27

Array – Inicializaçãoclass ManipulaArrays

{

String[ ] diasSemana =new String[7];

void defineDiasSemana()

{

diasSemana [0] = “domingo”;

diasSemana [1] = “segunda-feira”;

diasSemana [2] = “terça-feira”;

diasSemana [3] = “quarta-feira”;

diasSemana [4] = “quinta-feira”;

diasSemana [5] = “sexta-feira”;

diasSemana [6] = “sábado”;

}

}

Page 28: Arrays (vetores ou arranjos) e mainariane/ach2001/ACH2001-Aula19-Arrays.pdf · Arrays (vetores ou arranjos) e main. SISTEMAS DE INFORMAÇÃO 2 22 O que veremos hoje • Arrays (vetores)

SISTEMAS DEINFORMAÇÃO

2828

2828SISTEMAS DE

INFORMAÇÃO28

2828

28SISTEMAS DEINFORMAÇÃO

2828SISTEMAS DE

INFORMAÇÃO28

2828

28SISTEMAS DEINFORMAÇÃO

2828

2828SISTEMAS DE

INFORMAÇÃO28

28SISTEMAS DEINFORMAÇÃO

2828

28

SISTEMAS DEINFORMAÇÃO

2828

28

Array – Inicializaçãoclass ManipulaArrays

{

String[] amigos = {"Gisele Bundchen", "Ronaldo Nazário", "Luiz Ignácio", "Juliana Paes", "Fátima Bernardes"};

double[] fortuna = {60.5 , 100.3, 30.6, 5.82, 6.54};

void imprimeAmigosFortuna()

{

int indAF = 0;

while (indAF < amigos.length)

{

System.out.println("Fortuna de " + amigos [indAF ] + " = " + fortuna [indAF] + " milhões");

indAF++;

}

}

}

Page 29: Arrays (vetores ou arranjos) e mainariane/ach2001/ACH2001-Aula19-Arrays.pdf · Arrays (vetores ou arranjos) e main. SISTEMAS DE INFORMAÇÃO 2 22 O que veremos hoje • Arrays (vetores)

SISTEMAS DEINFORMAÇÃO

2929

2929SISTEMAS DE

INFORMAÇÃO29

2929

29SISTEMAS DEINFORMAÇÃO

2929SISTEMAS DE

INFORMAÇÃO29

2929

29SISTEMAS DEINFORMAÇÃO

2929

2929SISTEMAS DE

INFORMAÇÃO29

29SISTEMAS DEINFORMAÇÃO

2929

29

SISTEMAS DEINFORMAÇÃO

2929

29

Criação de programas Java

• Até agora:– códigos vistos eram somente classes– não constituíam programas independentes– execução no DrJava

• Como criar programa para ser executado sem o DrJava?

Page 30: Arrays (vetores ou arranjos) e mainariane/ach2001/ACH2001-Aula19-Arrays.pdf · Arrays (vetores ou arranjos) e main. SISTEMAS DE INFORMAÇÃO 2 22 O que veremos hoje • Arrays (vetores)

SISTEMAS DEINFORMAÇÃO

3030

3030SISTEMAS DE

INFORMAÇÃO30

3030

30SISTEMAS DEINFORMAÇÃO

3030SISTEMAS DE

INFORMAÇÃO30

3030

30SISTEMAS DEINFORMAÇÃO

3030

3030SISTEMAS DE

INFORMAÇÃO30

30SISTEMAS DEINFORMAÇÃO

3030

30

SISTEMAS DEINFORMAÇÃO

3030

30

Criação de programas Java

• Como criar programa para ser executado

sem o DrJava?

– método main (aqui vai o que você colocaria na

janela de interação com o interpretador)

– executado na linha de comando

(java nome_programa)

– ou clique duplo no ícone do programa

Page 31: Arrays (vetores ou arranjos) e mainariane/ach2001/ACH2001-Aula19-Arrays.pdf · Arrays (vetores ou arranjos) e main. SISTEMAS DE INFORMAÇÃO 2 22 O que veremos hoje • Arrays (vetores)

SISTEMAS DEINFORMAÇÃO

3131

3131SISTEMAS DE

INFORMAÇÃO31

3131

31SISTEMAS DEINFORMAÇÃO

3131SISTEMAS DE

INFORMAÇÃO31

3131

31SISTEMAS DEINFORMAÇÃO

3131

3131SISTEMAS DE

INFORMAÇÃO31

31SISTEMAS DEINFORMAÇÃO

3131

31

SISTEMAS DEINFORMAÇÃO

3131

31

Criação de programas Java

public static void main (String[] arg)

 {

   ManipulaArrays m = new ManipulaArrays();

   m.iniciaQuadrados();

   m.imprimeAmigosFortuna();

 }

Page 32: Arrays (vetores ou arranjos) e mainariane/ach2001/ACH2001-Aula19-Arrays.pdf · Arrays (vetores ou arranjos) e main. SISTEMAS DE INFORMAÇÃO 2 22 O que veremos hoje • Arrays (vetores)

SISTEMAS DEINFORMAÇÃO

3232

3232SISTEMAS DE

INFORMAÇÃO32

3232

32SISTEMAS DEINFORMAÇÃO

3232SISTEMAS DE

INFORMAÇÃO32

3232

32SISTEMAS DEINFORMAÇÃO

3232

3232SISTEMAS DE

INFORMAÇÃO32

32SISTEMAS DEINFORMAÇÃO

3232

32

SISTEMAS DEINFORMAÇÃO

3232

32

Criação de programas Java- classe completa

class ManipulaArrays{

String[] amigos = {"Gisele Bundchen", "Ronaldo Nazário", "Luiz Ignácio", "Juliana Paes", "Fátima Bernardes"};

double[] fortuna = {60.5 , 100.3, 30.6, 5.82, 6.54}; int[] quadrado = new int[10];

void iniciaQuadrados() {...}

void imprimeAmigosFortuna() { ... }

public static void main (String[] arg){

ManipulaArrays m = new ManipulaArrays();m.iniciaQuadrados();m.imprimeAmigosFortuna();

} }

Page 33: Arrays (vetores ou arranjos) e mainariane/ach2001/ACH2001-Aula19-Arrays.pdf · Arrays (vetores ou arranjos) e main. SISTEMAS DE INFORMAÇÃO 2 22 O que veremos hoje • Arrays (vetores)

SISTEMAS DEINFORMAÇÃO

3333

3333SISTEMAS DE

INFORMAÇÃO33

3333

33SISTEMAS DEINFORMAÇÃO

3333SISTEMAS DE

INFORMAÇÃO33

3333

33SISTEMAS DEINFORMAÇÃO

3333

3333SISTEMAS DE

INFORMAÇÃO33

33SISTEMAS DEINFORMAÇÃO

3333

33

SISTEMAS DEINFORMAÇÃO

3333

33

Criação de programas Java- execução

COMPILE (no IDE ou na linha de comando: javac arquivo.java )e

EXECUTE

Page 34: Arrays (vetores ou arranjos) e mainariane/ach2001/ACH2001-Aula19-Arrays.pdf · Arrays (vetores ou arranjos) e main. SISTEMAS DE INFORMAÇÃO 2 22 O que veremos hoje • Arrays (vetores)

SISTEMAS DEINFORMAÇÃO

3434

3434SISTEMAS DE

INFORMAÇÃO34

3434

34SISTEMAS DEINFORMAÇÃO

3434SISTEMAS DE

INFORMAÇÃO34

3434

34SISTEMAS DEINFORMAÇÃO

3434

3434SISTEMAS DE

INFORMAÇÃO34

34SISTEMAS DEINFORMAÇÃO

3434

34

SISTEMAS DEINFORMAÇÃO

3434

34

Criação de programas Java- execução

public static void main (String[] arg) {   ManipulaArrays m = new ManipulaArrays();   m.iniciaQuadrados();   m.imprimeAmigosFortuna(); }

• Nome do parâmetro

– Pode ser diferente de arg

– Tipo deve ser String[]

– Execução do programa pode usar os parâmetros

passados

Page 35: Arrays (vetores ou arranjos) e mainariane/ach2001/ACH2001-Aula19-Arrays.pdf · Arrays (vetores ou arranjos) e main. SISTEMAS DE INFORMAÇÃO 2 22 O que veremos hoje • Arrays (vetores)

SISTEMAS DEINFORMAÇÃO

3535

3535SISTEMAS DE

INFORMAÇÃO35

3535

35SISTEMAS DEINFORMAÇÃO

3535SISTEMAS DE

INFORMAÇÃO35

3535

35SISTEMAS DEINFORMAÇÃO

3535

3535SISTEMAS DE

INFORMAÇÃO35

35SISTEMAS DEINFORMAÇÃO

3535

35

SISTEMAS DEINFORMAÇÃO

3535

35

Criação de programas Java- execuçãoclass ManipulaArrays{ void imprimeArgumentos(String[] argumentosRecebidosUsuario) { int indArg = 0; while (indArg < argumentosRecebidosUsuario.length) { System.out.println(argumentosRecebidosUsuario[indArg]); indArg++; } } public static void main (String[] arg) { ManipulaArrays m = new ManipulaArrays(); m.iniciaQuadrados(); m.imprimeAmigosFortuna(); m.imprimeArgumentos(arg); }}

Page 36: Arrays (vetores ou arranjos) e mainariane/ach2001/ACH2001-Aula19-Arrays.pdf · Arrays (vetores ou arranjos) e main. SISTEMAS DE INFORMAÇÃO 2 22 O que veremos hoje • Arrays (vetores)

SISTEMAS DEINFORMAÇÃO

3636

3636SISTEMAS DE

INFORMAÇÃO36

3636

36SISTEMAS DEINFORMAÇÃO

3636SISTEMAS DE

INFORMAÇÃO36

3636

36SISTEMAS DEINFORMAÇÃO

3636

3636SISTEMAS DE

INFORMAÇÃO36

36SISTEMAS DEINFORMAÇÃO

3636

36

SISTEMAS DEINFORMAÇÃO

3636

36

Observações

• No main:– Todo comando deve terminar com “;”– Para imprimir algo, tem que usar

System.out.println

• Execução no DrJava (Run)

• A execução só depende do arquivo .class

• Arquivos “~”

Page 37: Arrays (vetores ou arranjos) e mainariane/ach2001/ACH2001-Aula19-Arrays.pdf · Arrays (vetores ou arranjos) e main. SISTEMAS DE INFORMAÇÃO 2 22 O que veremos hoje • Arrays (vetores)

SISTEMAS DEINFORMAÇÃO

3737

3737SISTEMAS DE

INFORMAÇÃO37

3737

37SISTEMAS DEINFORMAÇÃO

3737SISTEMAS DE

INFORMAÇÃO37

3737

37SISTEMAS DEINFORMAÇÃO

3737

3737SISTEMAS DE

INFORMAÇÃO37

37SISTEMAS DEINFORMAÇÃO

3737

37

SISTEMAS DEINFORMAÇÃO

3737

37

Exercícios

• Construa uma classe Estatística, com métodos

para calcular: média, mediana, desvio padrão

– Especificações:

• todos os métodos recebem array de double como

parâmetros

• todos os métodos retornam um valor double

• a classe deve ter um método main que permita que a classe

seja um programa executável de forma independente

• a classe deve ter um método que carregue valores no array.

Page 38: Arrays (vetores ou arranjos) e mainariane/ach2001/ACH2001-Aula19-Arrays.pdf · Arrays (vetores ou arranjos) e main. SISTEMAS DE INFORMAÇÃO 2 22 O que veremos hoje • Arrays (vetores)

SISTEMAS DEINFORMAÇÃO

3838

3838SISTEMAS DE

INFORMAÇÃO38

3838

38SISTEMAS DEINFORMAÇÃO

3838SISTEMAS DE

INFORMAÇÃO38

3838

38SISTEMAS DEINFORMAÇÃO

3838

3838SISTEMAS DE

INFORMAÇÃO38

38SISTEMAS DEINFORMAÇÃO

3838

38

SISTEMAS DEINFORMAÇÃO

3838

38

Professoras:Ariane Machado LimaFátima L. S. Nunes

Arrays

(vetores ou arranjos)

e main