Sobre Arrays

olá gente!

Estou aprendendo java por conta propria e peguei alguns tutoriais na net, um deles fala sobre arrays, mas eu nao consegui entender direito o conceito de array e como mota-lo essas coisas…emfim alguem poderia me dar uma breve aula de array por favor!?

MUITISSIMO GRATO desde ja

bom assim se monta um array
int arrayTeste[] // vc declara a refencia pr o array

arrayTeste = new int[10]; //alocou dinamicamente o array dez posicoes do tipo inteiro.

o array é sao varias posicoes seguidas na memoria eles possuem o mesmo tipo de dados. sao estaticos, vc tem q declara o seu tamanho. mas em java existem outras estruturas dinamicas como Vector, arrayList e outros q podem crescer dinamicamente. nao precisa especificar o tamanho.
bom é mais ou menos isso, com tempo vc vai entendedo melhor.
qualquer duvida é só postar. :lol:

Estevam, um array não é nada mais do que uma forma de armazenar objetos!

O tamanho de um array é determinado quando o array é criado (em tempo de execução).

Após criar um array, sua estrutura é de tamanho fixo.

Deve-se usar arrays quando:
[list][*:4bf74ae990] Você precisa saber de antemão o número máximo de elementos que será armazenado no array…

[*:4bf74ae990] Você quer que apenas um tipo específico esteja contido na coleção.
[/list]

Alguns dos principais métodos da classe Array:
[list][:4bf74ae990] equals()
[
:4bf74ae990] fill()
[:4bf74ae990] sort()
[
:4bf74ae990] binarySearch()
[*:4bf74ae990] asList()
[/list]

PS: Um array pode guardar tipos primitivos, mas seu tamanho não pode ser modificado, uma vez que tenha sido criado!

HMMM valeu pessoal! deu pra ter uma noção da coisa… olhem esse exemplo da apostila:

class Exemplo {

public static void main(String arg[ ])
{
int A[] = new int[3];
A[0] = 50;
A[1] = 100;
A[2] = 150;
System.out.println("Tamanho do vetor = " + A.length);

int conta;

for(conta = 0; conta< A.length ; conta++)
{System.out.println("indice = " + conta + "  valor= " + A[conta] );}

}
}

MUITO BEM, o que eu nao entendi desse exemplo (depois da explicação de vocês) é: O que é .length ? e apartir do FOR eu nao entendi mais nada hehe qq é o incremento de CONTA? esse ++ e o que está no system.out.println eu tambem nao intendi A[conta] … por favor me ajudem denovo!

Grato

[quote=“Estevam”]HMMM valeu pessoal! deu pra ter uma noção da coisa… olhem esse exemplo da apostila:

class Exemplo {

public static void main(String arg[ ])
{
int A[] = new int[3];
A[0] = 50;
A[1] = 100;
A[2] = 150;
System.out.println("Tamanho do vetor = " + A.length);

int conta;

for(conta = 0; conta< A.length ; conta++)
{System.out.println("indice = " + conta + "  valor= " + A[conta] );}

}
}

MUITO BEM, o que eu nao entendi desse exemplo (depois da explicação de vocês) é: O que é .length ? e apartir do FOR eu nao entendi mais nada hehe qq é o incremento de CONTA? esse ++ e o que está no system.out.println eu tambem nao intendi A[conta] … por favor me ajudem denovo!

Grato[/quote]

Length retorna o tamanho do seu array…

o for é apenas a estrutura de repetição:

for(conta = 0; conta< A.length ; conta++)

para conta =0, conta menor que o tamanho do seu array, incrementa a variável de controle conta

e essa linha:

System.out.println("indice = " + conta + "  valor= " + A[conta] );

apenas imprime a variável conta como sendo o índice e o valor referente ao seu índice no array…

:wink:

entendi quase tudo! hehe sóe stou com duvida em um negocio, se quando declara CONTA “int conta;” o valor inicial é 0 por que que tem que dizer “for(conta =0 ; …” e eu poderia substituir o A.legth do comando FOR por 3? e o que o incremento faz?

toda variável tem que ser inicializada…

sim, vc poderia substituir o length por 3…

:wink:

Vc tbm pode usar vetores…

String menuTopo[][] = new String[5][5];
menuTopo[0][0]="url0";	
menuTopo[0][1]="Menu0";
menuTopo[1][0]="url1";	
menuTopo[1][1]="Menu1";
menuTopo[2][0]="url2";	
menuTopo[2][1]="Menu2";
menuTopo[3][0]="url3";	
menuTopo[3][1]="Menu3";
menuTopo[4][0]="url3";	
menuTopo[4][1]="Menu4";

nao entendi esse negocio de menu :sad:
e por que 2 valores [][]? é um dentro do outro?
eu poderia usar isso pra fazer coordenadas [x][y] ?

Funciona como um array bidimensional… na verdade vc pode utilizar quantas dimensoes quiser… eh um recurso sempre muito util.
Inclusive vc pode utilizar o recurso de lenght para as dimensoes individualmente, por ex:

vetor[x][y];

vetor.lenght… ou vetor[x].lenght e obter o lenght da segunda dimensao…

Abraco!!!
Daniel Bertini


nerd.com.br
peca suas pizzas ou alugue filmes online…

Vale a pena pesquisar para saber qual o melhor recurso a ser utilizado pois podem existir diferencas de performance muito grandes… portanto muita atencao na utilizacao de arrays com relacao a quantidade de dados a serem tratados. Procure saber como a JVM trata o armazenamento disso em memoria em todos os casos.

o qq é JVM?

Java Virtual Machine… procure tutoriais a respeito pois eh meio complicado de estar explicando isso aqui;

Estevam, procure por apostilas, tutoriais para iniciantes…

com certeza nelas vc vai encontrar suas dúvidas!

Ok!?

:wink:

Aproveitando topico sobre arrays eu queria saber se tem como descobrir o numero de inervalos usado em um array de inteiros, por exemplo…
int numeros[] = new int[100]
mas eu usei somente 30 intervalos, tem algum meio de contar isso? tipo algum .lenght, ou nao daria pra iniciar esse array todo como “null” e criar uma funcao para contar o intervalo? tipo

while (numero[i]!=null){ cont++; i++; }

Ola.

Por default a JVM inicia a alocacao de memoria com padroes de null ou 0 (se nao me angano) dependendo do tipo de variavel que for definido… aconselho dar uma estudada melhor nos tutoriais para saber mais a respeito pois são coisas muito importantes e dificeis de estar explicando aqui ja que envolve muitos aspectos e padroes da linguagem.

Abraco
Danie.

--------------- > visite www.nerd.com.br

E ae Estevam,tudo firmeza?!

Como pude notar,vc é um cara com muitas dúvidas sobre Java…a galera aqui tem muitos conceitos pra te ajudar,como eu tb tenho e até tenho uma indicação de bibliografia bem útil pra vc aprender melhor e até desenvolver mais ainda seus conhecimentos…

procure o livro:

JAVA Como programar,dos irmãos Deitel

Seu conteúdo tem tudo que vc precisa saber sobre JAVA,como iniciante e ainda tem Orientação a Objetos…vc vai gostar…

Procure em:

http://www.submarino.com.br/books.asp?Query=&ProdTypeId=1&CatId=11834&PrevCatId=11827