Lógica

bem não entedi a lógica desse prog

import javax.swing.*;

public class Progex
{
	private static int inicio=0;
	private static int fim=0;
	public static void main(String args[])
	{
		int vet[]= new int [4];
	   	for(int i=0;i<12;i++)	
	   	{
	   		
	   		vet[fim]=i;
	   		fim=(fim+1)%vet.length;
	   		
	   		System.out.println(vet[fim]);
	   	}
		
		
	}
}

porque na primeira passagem ele fica 0,0,0,0 porque ele não estora…?

Bem… acontece que se tu reparar na linha…

fim=(fim+1)%vet.length;

essa que faz alterar a posicao do seu Vetor…

lembrando que quando iniciamos um array de tipo primitivo, no caso seu int, todas as posicoes sao setadas com 0.

na primeira interacao ele vai imprimir a posicao 1 do seu array
na segunda a posicao 0, que na primeira interassao esta setada com 0…
vet[fim]=i;
na terceira … ele vai acessar a posicao 2
na quarta a posicao 0

ok ?