Matrizes Java
Matrizes Java
Arrays são usados para armazenar vários valores em uma única variável, em vez de declarar variáveis separadas para cada valor.
Para declarar um array, defina o tipo de variável com colchetes :
String[] cars;
Agora declaramos uma variável que contém um array de strings. Para inserir valores nele, podemos usar um literal de array - coloque os valores em uma lista separada por vírgulas, entre chaves:
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
Para criar um array de inteiros, você poderia escrever:
int[] myNum = {10, 20, 30, 40};
Acesse os elementos de um array
Você acessa um elemento da matriz referindo-se ao número do índice.
Esta instrução acessa o valor do primeiro elemento em cars:
Exemplo
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
System.out.println(cars[0]);
// Outputs Volvo
Nota: Os índices de matriz começam com 0: [0] é o primeiro elemento. [1] é o segundo elemento, etc.
Alterar um elemento de matriz
Para alterar o valor de um elemento específico, consulte o número do índice:
Exemplo
cars[0] = "Opel";
Exemplo
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
cars[0] = "Opel";
System.out.println(cars[0]);
// Now outputs Opel instead of Volvo
Comprimento da matriz
Para descobrir quantos elementos um array possui, use a length
propriedade:
Exemplo
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
System.out.println(cars.length);
// Outputs 4
Loop através de uma matriz
Você pode percorrer os elementos da matriz com o for
loop e usar a length
propriedade para especificar quantas vezes o loop deve ser executado.
O exemplo a seguir gera todos os elementos na matriz cars :
Exemplo
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
for (int i = 0; i < cars.length; i++) {
System.out.println(cars[i]);
}
Loop através de uma matriz com For-Each
Há também um loop " for-each ", que é usado exclusivamente para percorrer elementos em arrays:
Sintaxe
for (type variable : arrayname) {
...
}
O exemplo a seguir gera todos os elementos no array cars , usando um loop " for-each ":
Exemplo
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
for (String i : cars) {
System.out.println(i);
}
O exemplo acima pode ser lido assim: para cada String
elemento (chamado
i - as in
index ) em cars , imprima o valor de i .
Se você comparar o for
loop com o loop for-each , verá que o método for -each é mais fácil de escrever, não requer um contador (usando a propriedade length) e é mais legível.
Matrizes multidimensionais
Um array multidimensional é um array de arrays.
Para criar um array bidimensional, adicione cada array dentro de seu próprio conjunto de chaves :
Exemplo
int[][] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} };
myNumbers agora é um array com dois arrays como seus elementos.
Para acessar os elementos da matriz myNumbers , especifique dois índices: um para a matriz e outro para o elemento dentro dessa matriz. Este exemplo acessa o terceiro elemento (2) no segundo array (1) de myNumbers:
Exemplo
int[][] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} };
int x = myNumbers[1][2];
System.out.println(x); // Outputs 7
Também podemos usar um for loop
dentro de outro for loop
para obter os elementos de um array bidimensional (ainda temos que apontar para os dois índices):
Exemplo
public class Main {
public static void main(String[] args) {
int[][] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} };
for (int i = 0; i < myNumbers.length; ++i) {
for(int j = 0; j < myNumbers[i].length; ++j) {
System.out.println(myNumbers[i][j]);
}
}
}
}