Alguém ai poderia me explicar um pouco sobre enhaced-for e arrays bidimensionais.
Vlw
Enhaced-for e Arrays bidimensionais
11 Respostas
?
Quanto ao enhanced for, veja este pdf:
http://java.sun.com/j2se/1.5/pdf/Tiger-lang.pdf
Quanto aos Arrays bidimensionais:
Em Java vc tem Objetos de vários tipos: Object( <img src="https://cdn.jsdelivr.net/gh/twitter/twemoji@14/assets/72x72/w.pngink.png?v=9" title=":wink:" class="emoji" alt=":wink:"> ), String, int, Panel, etc… E em Java vc tem também o arrays, que são uma coleção de dados de um determinado tipo. Por exemplo:
-Object[] é uma coleção de objetos Object (um array de Object)
-int[] é uma coleção de int (um array de int)
-String[] é uma coleção de objetos String (um array de String)
e por aí vai…
O que não sabemos quando estamos começando a mexer com Java é que um array também é tratado como um tipo de dado. Sendo assim, poderíamos muito bem ter um array de arrays, ou seja, um array que em cada posição, guarda um outro array, que por sua vez guarda algum tipo de dado. Isto seria o seu array bidimensional. Bidimensional por que ele tem duas dimensões (encare que cada “[]” representa 1 dimensão). Exemplos de Arrays bidimensionais:
-int[][] é uma coleção de array de int (um array de array de int, ou ainda um array bidimensionl de int)
-String[][] é uma coleção de array de String (um array de array de String, ou ainda um array bidimensional de String)
Perceba que isso não tem fim, que podemos ter um array de array de array (tridimensional, ou ainda, um array de aridade 3). Exemplos:
-boolean[][][]
-Panel[][][]
e por aí vai…
Qq dúvida, poste mais, ok!
Olá Mantu, obrigado pelas dicas… acho q entendi.
Vc poderia postar um código bestinha mesmo, com um exemplo de “array de arrays”.
Vlw
Olá Mantu, obrigado pelas dicas… acho q entendi.
Vc poderia postar um código bestinha mesmo, com um exemplo de “array de arrays”.
Vlw
bom…acho que posso fazer isso???vou postar o código para você 
ai vai
public class EstudoArray {
private final int linha ;
private final int coluna ;
private int [][] a;
public EstudoArray(int linha,int coluna)
{
this.linha = linha;
this.coluna = coluna;
a = new int[linha][coluna];
}//construto que seta o tamanho da sua array
public void carregaArray()
{
for( int j=0;j < a.length;j++)
for(int i=0;i<a[j].length;i++)
a[j][i] = 0;
} // carrega o array bidimensional com valor zero!
public void testEach()
{
for (int inter[] : a) //declara um array simples que irá percorrer a primeira dimensão do nosso array a
{
for (int a : inter) //com uma int, percorremos os valores dados pela primeira array no caso inter, e permutando em cima de inter...
{
System.out.print(a);
}
System.out.println();
}
}
se precisar maiores explicações estamos ai!
Vlw Akumaldo !!!
Outra pergunta, besta mas eu vou fzr, rs.
“int inter[] : a” = “int inter[]=a” ?
Nops!
Suponha que inter tenha 4 posições:
“int inter[] : a” =
-“a = inter[0];” na primeira vez que passar pelo for
-“a = inter[1];” na segunda vez que passar pelo for
-“a = inter[2];” na terceira vez que passar pelo for
-“a = inter[3];” na quarta vez que passar pelo for
Não seria ao contrário ?
Não o contrário, mas ele vai interar pelas linhas do array a do exemplo! então é como se tivessemos:
inter[0] = a[0][];
inter[1] = a[1][];
e por assim vai
essa sintaxe não existe…mas é apenas para ilustrar…
entedeu? o inter vai pegar as colunas de uma determinada linha…
<img src="https://cdn.jsdelivr.net/gh/twitter/twemoji@14/assets/72x72/s.pnglight_smile.png?v=9" title=":slight_smile:" class="emoji" alt=":slight_smile:">
Outra pergunta!!!
Vamos supor q em :
public EstudoArray(int linha,int coluna)
{
this.linha = linha;
this.coluna = coluna;
a = new int[linha][coluna];
}
Eu tenha digitado 2 e 3. Então "a" vai valer 2 linhas e 3 colunas, certo ?
Depois em:
public void carregaArray()
{
for( int j=0;j < a.length;j++)
for(int i=0;i<a[j].length;i++)
a[j][i] = 0;
}
O for vai de j até o tamanho de “a”, certo ?
Más como ele sabe até onde ele deve ir se “a” vale 2 e 3 ?
Não sei se dá pra entender oq quero dizer, mas blz…>
O for vai de j até o tamanho de “a”, certo ?
Más como ele sabe até onde ele deve ir se “a” vale 2 e 3 ?Não sei se dá pra entender oq quero dizer, mas blz…>
Então…seguinte:
O j vai nesse caso varrer as LINHAS do array a…no caso o primeiro for, ele vai pegar o primeiro valor de j, que será 0, e vai ler todas as colunas dessa primeira linha usando o segundo for, com a variavel i, depois vai pegar o segundo valor de j, que é 1 e vai varrer também todas colunas presentes nessa linha…
A instrução a.length pode ser lida…quantas linhas temos?
a instrução a[j].length pode ser lida…quantas colunas temos, dada a linha j…
espero que tenha entendido…

Vlw cara, agora entendi 