For each

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 "??

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;
...

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.

[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

[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.

Obrigado a todos!!! Muito bom mesmo.