quarta-feira, 31 de março de 2010

[Java] Codificar matrizes unidimensionais


Muitas vezes precisamos gravar vários valores em apenas uma variável. Por exemplo, para gravar as notas de uma turma de 40 alunos, seria muito trabalhoso criar e manipular 40 variáveis diferentes, assim uma variável com 40 campos seria mais simples e fácil de se manipular e controlar, não é? Geralmente com esse intuito são utilizados as matrizes.

Matrizes com apenas uma dimensão são comumente chamadas de vetores. Veja a figura abaixo para entender um pouco sobre as matrizes unidimensionais.

Um fator importante a ser lembrado é que em java os vetores quando declarados possuem a posição inicial como 0 (zero). Assim, em um vetor (chamado vetor) de 10 posições a ultima posição não é vetor[10] e sim vetor[9]. Abaixo veremos como declarar, instanciar, inicializar e manipular matrizes unidimensionais.

Declarando uma matriz unidimensional

Sintaxe

tipo[] identificadorDaMatriz;

Exemplos

int[] notas;
string[] nomes;
double[] salarios;

Instanciando uma matriz unidimensional

Sintaxe

identificadorDaMatriz = new tipo[tamanhoDaMatriz];

Exemplos

notas = new int [40];
nomes = new String[10];
salarios = new double [5];


Inicializando uma matriz unidimensional

Sintaxe

identificadorDaMatriz[posicaoNaMatriz] = valor;

Exemplos

notas[1] = 7;
notas[2] = 8;
notas[3] = 6;
notas[4] = 4;
...
nomes[10] = "Carina";
nomes[1] = "Cristina";
nomes[5] = "Mariana";
...
salarios[5] = 880.00;
salarios[3] = 4522.35;
...

Declarando, instanciando e inicializando uma matriz unidimensional em um comando

Sintaxe

tipo[] identificadorDaMatriz = {lista dos valores separados por vírgula, ex: valor1, valor2, valor3, ..., valorn};

Exemplo

int[] notas = {3, 4, 7, 10, 5, 6, 4, 7, 8, 10, 9};
String[] nomes = {"Carina", "Cristina", "Mariana", "Juliana", "Carol", "Mara"};
double[] salaraios = {330.40, 444.44, 4523.55, 1851.38};

Acessando um valor em uma matriz unidimensional

Exemplos

int nota = notas[1]; //nota fica igual ao valor da segunda posição do vetor notas
System.out.println(salario[4]); //imprime a quinta posição do vetor salario

Até agora tudo bem, mas como são armazenadas as matrizes de primitivas na memória? Para visualizar melhor, veja a figura abaixo comparando como são armazenadas variáveis primitivas e matrizes de primitivas.



Nenhum comentário:

Postar um comentário