djJoe
Setembro 27, 2010, 11:31am
#1
Olá amigos bom dia a todos, tenho duvidas sobre o for each, já achei algumas coisas mas não entendi direito, alguem pode me explicar?
vejam esse codigo:
public class ForEach {
public static void main(String[] args) {
int[] a = new int[10];
for(int i : a)
System.out.println("Número = " + i);
}
}
Como faz para mudar o " i "??
pmlm
Setembro 27, 2010, 11:42am
#2
Nesse caso, o i vai tomar os valores que estão no array a. Como não atribuíste nenhum valor, vai estar sempre a 0.
Complementando.
para inserir os valores em i:
a[0] = 1;
a[1] = 2;
a[2] = 3;
a[3] = 4;
...
Ev3rton
Setembro 27, 2010, 11:54am
#4
O for each funciona como um for normal que percorre uma estrutura, então o seu ficaria assim com um for normal:
for(int i = 0; i <= a.length(); i++)
System.out.println("Número = " + i);
Na for each na parte “int i” você está criando a variável que vai receber os valores da estrutura que você vai percorrer, por isso deve ser um tipo compatível com o que tem na estrutura.
E “a” é a estrutura que você deseja percorrer.
A cada iteração “i” recebe um valor da estrutura, até que chegue o fim da estrutura.
pmlm
Setembro 27, 2010, 12:15pm
#5
[quote=Ev3rton]O for each funciona como um for normal que percorre uma estrutura, então o seu ficaria assim com um for normal:
for(int i = 0; i <= a.length(); i++)
System.out.println("Número = " + i);
[/quote]
Errado!
O código
[code]int[] a = new int[10];
for(int i : a)
System.out.println("Número = " + i);
[/code]corresponde a
int[] a = new int[10];
for(int i = 0; i <= a.length(); i++)
System.out.println("Número = " + a[i]); // nota o a[i] e não apenas i
Ev3rton
Setembro 27, 2010, 1:06pm
#6
[quote=pmlm]
O código
[code]int[] a = new int[10];
for(int i : a)
System.out.println("Número = " + i);
[/code]corresponde a
int[] a = new int[10];
for(int i = 0; i <= a.length(); i++)
System.out.println("Número = " + a[i]); // nota o a[i] e não apenas i
[/quote]
É verdade, neste caso usa-se estrutura[index]
Obrigado por corrigir.
djJoe
Setembro 27, 2010, 1:59pm
#7
Obrigado a todos!!! Muito bom mesmo.