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.
abstract | continue | for | new | switch |
assert *** | default | goto * | package | synchronized |
boolean | do | if | private | this |
break | double | implements | protected | throw |
byte | else | import | public | throws |
case | enum **** | instanceof | return | transient |
catch | extends | int | short | try |
char | final | interface | static | void |
class | finally | long | strictfp ** | volatile |
const * | float | native | super | while |
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):
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:
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):
Clique na imagem para ampliar
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:
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 -
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
Nenhum comentário:
Postar um comentário