[RESOLVIDO]Dúvida sobre esse código sobre fatorial

tenho esse código pronto para descobrir os fatoriais dos números de 1 a 10 , só que não intendo essa lógica , um caso é que fatorial = 1 e i = 1 se resolveu colocando fatorial *= i ,
ou seja esse * no nada diz o que?

public class Ex4 {  
public static void main(String[] args) {  
 int fatorial = 1;  
 for (int i=1; i <= 10; i++){  
 fatorial *= i;    
 System.out.println("O fatorial de " + i + " e igual a " + fatorial );  
}  
      
}  
}  
fatorial *= i; 

É a mesma coisa que:

fatorial = fatorial * i; 

Lendo isso: fatorial recebe o valor atual do fatorial vezes o i

Ok mas se fatorial = 1 e i fica aumentando até 10 então não ia descobrir o fatorial pois assim 1 = 1 * i , se fosse de quatro 1 = 1 * 4 que é 4 , isso não é fatorial , e ai?

Fábio,
A variável fatorial funciona como um acumulador.
A cada iteração(for) fatorial armazena o que tinha antes e multiplica pelo valor de i.
Por exemplo Iteração 1:

int fatorial = 1;    
for (int i=1; i <= 10; i++){    
fatorial *= i;//fatorial *= 1
//fatorial vale 1 aqui;      
System.out.println("O fatorial de " + i + " e igual a " + fatorial );    
}   
//iteração 2 fatorial vale 1 e i vale 2
for (int i=2; i <= 10; i++){    
fatorial *= i;//fatorial *= 2    
//fatorial vale 2 aqui  
System.out.println("O fatorial de " + i + " e igual a " + fatorial );    
} 

//iteração 3 fatorial vale 2 e i vale 3

for (int i=3; i <= 10; i++){    
   fatorial *= i;//fatorial *= 3   
   //fatorial vale 6 aqui  
   System.out.println("O fatorial de " + i + " e igual a " + fatorial );    
} 

E assim por diante até chegar a 10 iterações.
A variável fatorial é um acumulador.

Abs