Dúvida com uso do for em método "inclui no inicio" - LISTAS EM JAVA

Boa noite a todos. Antes de mais nada esta pergunta ficou no lugar errado, ela é bem básica. Cliquei sem querer em avançados, mas enfim.Sou iniciante em java, na ocasião, criei uma lista, e estou aprendendo a criar métodos como exibe, incluiNoFIm,incluinoInicio e etc
Só que rolou uma dúvida aqui nesta parte do código. Talvez por ser iniciante e ter pouca experiência com a própria lógica eu pergunto:
o For ( no código abaixo, no metodo inclui no inicio ) faz exatamente o que? Conheço as funções do for, mas desconheço sua utilização nesta parte específica do código. Agradeço desde já pela oportunidade.

public class ListaIntCF{
private int v[];
private int n;

public ListaIntCF(int capacidade){

n=0;
v=new int[capacidade];
}
public ListaIntCF()
{
	this(10);
}

public void incluiNoInicio(int valor){

	if(n==v.length)
	System.out.println("Lista Cheia");
	else{
		[b]for(int i=n;i>=1;i--)[/b]
		v[i]=v[i-1];
		v[0]=valor;
		n++;
	}
}

Boa Noite darth javader,

Pelo que entendi esta estrutura for está fazendo com que você não perca nenhum valor da lista decrementando cada posição valor e atribuindo a posição anterior desde o último até que ele chegue a posição 0 (posição onde deseja-se inserir o valor).
Pois ao inserir um elemento no início da lista você precisa setar os valores que estavam anteriormente para próxima posição da lista para que você não perca os valores que foram inseridos anteriormente.
Um passa a ocupar a região de memória em que o outro estava.

Espero ter Ajudado,