Java Keywords Array length For each varargs arraycopy Argumentos de linha de Comando

Java Keywords Array length For each varargs arraycopy Argumentos de linha de Comando. Linguagem Java.

Keywords em java:
Source: http://java.sun.com/docs/books/tutorial/java/nutsandbolts/_keywords.html

Você não pode usar nenhuma dessas palavras como identificadores no seu programa, Sâo palavras reservadas, const e goto não são usadas em java, porem não pode ser usadas como identificadores, true,false e null Parecem keywords porem são tipos literais.

abstractcontinuefornewswitch
assert***defaultgoto*packagesynchronized
booleandoifprivatethis
breakdoubleimplementsprotectedthrow
byteelseimportpublicthrows
caseenum****instanceofreturntransient
catchextendsintshorttry
charfinalinterfacestaticvoid
classfinallylongstrictfp**volatile
const*floatnativesuperwhile

*Não usado em java ** Adicionado 1.2 ***Adicionado 1.4 **** Adicionado 5.0

Array:

Oque á uma array?

Um grupo de valores do mesmo tipo, Isso em uma array de uma dimensão. Array também são chamadas de matrizes. Cada parte da array é chamado de elemento e você pode acessar um específico elemento pela localização do index na array. Array são iguais a objeto, é necessário Declarar, Instanciar e Inicializar. Só podem armazenar o MESMO TIPO.
Array é um conjunto de elementos do mesmo tipo onde cada elemento se encontra em um index diferente.

Como Declarar uma array?

tipo [] identificador;

ou


tipo identificador [];

*tipo – São os tipos de dados armazenadas na array
*[] –
Informa ao compilador que você esta declarando uma array de uma dimensão
* identificador – É o nome que você se referenciará a array

Oque eu faço quando declaro uma array?

Vejamos:

int [ ] identificador; //Declaração de array Acabamos de fazer isso(Para uma array declarada dentro de um método):

Exemplos Java,Linguagem Java, Programação, Java

Clique na imagem para ampliar, lembre-se que o index 0 da local variable ja esta lá, pois é a referência a constant pool

Como instanciar uma array de uma dimensão?

Instanciar uma array é o processo de definir o número de elementos que ela terá, você deve instnaciar antes de inicializar.

identificador = new tipo [tamanho];

* identificador – É o nome que você se referenciará a array
*tipo – São os tipos de dados armazenadas na array
*tamanho – É o número de elementos que a array terá

Oque eu faço quando instancio uma array?
Você defini o número de elementos da array.

int [ ] identificador; //Declarei uma array
identificador = new int[5]; // Instanciei uma array

Vejamos:

Exemplos Java,Linguagem Java, Programação, Java

Clique na imagem para ampliar

Inicializando uma array de uma dimensão:

identificador[indice] = valor;

* identificador – É o nome que você se referenciará a array
*indice – O Elemento onde será armazenado o valor

Veja que o primeiro indice de qualquer array é o 0 e o último indice é tamanho -1.

int array [ ]; //Declaração de array
array = new int [5]; //Instanciação de array
array[3] = 20; //Inicialização de Elemento

Vejamos(Isso é para uma array Declarada dentro de um método):

Exemplos Java,Linguagem Java, Programação, Java
Clique na imagem para ampliar

Java Keywords Array length For each varargs arraycopy Argumentos de linha de Comando

Como Declarar e Instanciar na mesma linha?

tipo[ ] identificador = new tipo[tamanho];

ou

tipo identificador[ ] = new tipo[tamanho];

Como declarar,Instanciar e Inicializar uma array de uma dimensão na mesma linha?
Se você souber o tamanho exato de uma array, deve somente seguir essa sintaxe:

tipo[ ] identificador = {valor, valor,valor_etc };

ou

tipo identificador [ ] = {valor, valor,valor_etc };

*tipo – São os tipos de dados armazenadas na array
*[] – Informa ao compilador que você esta declarando uma array
* identificador –
É o nome que você se referenciará a array
*
valor, valor,valor_etc – Os valores que você quer armazenar na array separados por virgula

Referência e array:

Vejamos oque acontece ao se Declarar,Instanciar e Inicializar uma array de Referências:

public class Objeto{ //Declaração de Classe
public int variavelAtributo;

public static void main(String[ ] array){

Objeto identificador [ ]; //Declarando uma array
identificador =
new Objeto[5]; //Instanciando uma array
identificador[ 2 ] =
new Objeto( ); //inicializando o Indice 2 da array
identificador[ 0 ] =
new Objeto( );
//inicializando o Indice 0 da array

identificador[ 2 ].variavelMembro = 30; //Acessando Elemento da array
identificador[ 0 ].variavelMembro = 20; //Acessando Elemento da array

}//fim de main

}//fim da classe

Vejamos:

Exemplos Java,Linguagem Java, Programação, Java

Clique na imagem para ampliar, Verifique que para acessar o elemento de uma array usamos o indice do elemento

O atributo lenght

Toda array tem um atributo que determina o tamanho da array, exemplo:
Uma array de 10 posições tem um range de 0 ~ 9.
É um atributo usado pela JVM e por programadores para garantir que não haja acesso a um elemento o qual não foi instanciando exemplo:
Acessar o elemento 10 de um array de 10 posições, Muito usado com laços for each.

Array de duas dimensões:

São arrays de Arrays.


Declarando array de duas dimensões:


tipo identificador [ ] [ ]; – > ISSO não é válido em arrays de multidimensão

tipo [ ] [ ] identificador;

*tipo – São os tipos de dados armazenadas na array
*[ ] [ ]-
Informa ao compilador que você esta declarando uma array de duas dimensão
* identificador – É o nome que você se referenciará a array


Instanciando uma array de duas dimensões

identificador = new tipo [numeroArray] [tamanho];


* identificador –
É o nome que você se referenciará a array
*tipo – São os tipos de dados armazenadas na array
*
[numeroArray] – Informa o numero de arrays
*[tamanho] – Informa o tamanho de cada array

Inicializando uma array de duas dimensões:

identificador[numeroArray] [indice];

É como se fosse uma tabela, apenas especifique qual a array e qual a posição.

Exemplo array de duas dimensões:

public class Objeto{ //Declaração de Classe

public static void main(String[ ] array)
{

int identificador [ ] [ ] ; //Declarando uma array
identificador =
new int[4] [5]; //Instanciando uma array de duas dimensões

identificador[2] [2] = 20; //Acessando Elemento da array
identificador[3] [1] = 10;
//Acessando Elemento da array
identificador[1] [4] = 25;//Acessando Elemento da array

}//fim de main

}//fim da classe

Vejamos:

Basicamente temos 4 arrays cada uma com 5 posições –

Exemplos Java,Linguagem Java, Programação, Java

Clique na imagem para ampliar

Loop Sofisticado(For each)

Basicamente diz-se, Para cada Elemento na array, armazene elemento por elemento na variavel
local.Basicamente ARMAZENA O VALOR DO INDICE.

for(tipo identificador : arrayIdentificador){

}

*tipo identificador – Declaração de variável local
* : – Indica a Jvm que você esta usando um loop For each
* arrayIdentificador – identificador da array que você quer pegar elemento por elemento nela.

Vejamos:

public class MyClass{

public static void main(String [] array){

int array[ ]; //Declaração de array
array = new int[3]; //Instanciando a array

array[0] = 10;
array[1] = 3;
array[2] = 4;

int x = 0;
for(int identificador : array){

x = x + identificador; //x vai valer 10 + 3 + 4 ou seja 17.

}
}

}

Varargs:

Basicamente aceita qualquer parametro que seja daquele tipo, seja ele uma array ou não.
O identificador do varargs de dará o poder de ter uma array.

Como declarar Varargs?

tipo … identificador

Vejamos:

public class Test{

public void go(String … identificador){ //identificador aqui é uma array local ao go

for(String d : identificador){

}

}

public static void main(String arra [ ] ){
Test d = new Test();

d.go(arra); //Veja que ele aceita tanto uma array
d.go(“aaa”);//quanto uma String

}

}

Argumentos de linha de comando:

Lembra-se que main() te da o poder de ter um processo que rode sobre linha de comando? Pois bem sendo main um método ele pode receber parametros e os armazena em uma array, vejamos:

public class MinhaClasse{

public static void main(String[] array){

if(array[0] != null)
System.out.println(array[0]);

}
}

Se você compilar isso:

javac MinhaClasse.java


E depois mandar executar:

Você pode passar parâmetros ao método main, e quando executar aparecerá a String, sendo uma array de String Lembre-se que aceita tanto numeros quanto letras.

java MinhaClasse 20

Cuidado ao usar Argumentos de main dicas:

1 – Sempre verifique o indice antes de usálo, if(array[indice] != null)
2 – Lembre-se que String pode ser tanto letras quanto números:


“2” ->
String
2 ->
Inteiro Literal
Se o tipo for uma String e você quiser em tipo Literal, use as classes associadas com cada tipo exemplo: tipo literal: double classe: Double




arraycopy:

A classe System fornece um método chamado arraycopy que copia os Elementos de uma array para outra, É um método static.


Como passar uma array como Parâmetro a um método que tem como argumento uma array?

Simplemente passe o identificador da array, vejamos:

public class MinhaClasse{

public void go(){

int [ ] array;
array = new int[5];
argumento(array);

}

public void argumento(int array2 [ ]){

}

}


É hora da revisão:

– Array são iguais a objetos , é necessário Declarar , Instanciar e Inicializar


– O valor de uma variável de referência array é sempre o endereço de memória dos objetos array

– Você deve Declarar e Instanciar uma array antes de Inicializar

– Toda array é um objeto – Toda vez que você Instancia um objeto array, Todos os elementos tem valor Default independente do escopo da declaração – O primeiro elemento da array esta no indice 0 e o último em tamanho – 1, o tamanho é especificado na Instanciação da array

– Podemos Declarar e Instaciar uma array na mesma linha

tipo[ ] identificador = new tipo[tamanho];

ou

tipo identificador[ ] = new tipo[tamanho];

– Podemos Declarar, Instanciar e inicializar uma array na mesma linha

tipo[ ] identificador = {valor, valor,valor_etc };

ou

tipo identificador [ ] = {valor, valor,valor_etc };

– Para acessar o elemento de uma array use o indice do elemento

– O atributo length é usado para determinar os limites de uma array, e usado para evitar possíveis problemas

– Arrays de duas dimensões são iguais a Planilhas

– Toda elemento da array tem valor Default, pois mesmo que são tipos primitivos e locais a um método moram na Heap. CLARO ISSO se a array foi INSTANCIADA

tipo identificador [ ] [ ]; – > ISSO não é válido em arrays de multidimensão