Pré-incremento e Pós-incremento - em um FOR

Pessoal qual a diferença na prática de usar no for operador ++i ou i++, fiz um exemplo e não vir diferença

for(int i = 1; i<=3; i++){
			System.out.println(i);
		} 

for(int i = 1; i<=3; ++i){
			System.out.println(i);
		} 

O resultado é o mesmo

Rode esses 2 métodos e veja se percebe a diferença:public static void preIncremento(){ int i = 10; System.out.println(++i); System.out.println(i); }public static void posIncremento(){ int i = 10; System.out.println(i++); System.out.println(i); }

Esse da diferença, o que estou dizendo é que no for me parecer que isso não faz diferença entende ?

tanto faz você colocar i++ ou i++ = é como se isso não tivesse valendo para o for

entende ?

No for não vai ter diferença nenhuma, a não ser que você realize alguma operação no terceiro argumento do laço.

Como assim realizar operação, poderia me explicar ?

[code]public static void main(String[] args){
int contador = 0;
for(int i = 0 ; i < 10 ; contador = i++){

}
System.out.println(contador);

}[/code]Algo como o exemplo acima. Se você alterar para pré-incremento, aí terá uma alteração no valor final.

Não consigo pensar em um exemplo prático para isso, mas é só naquele bloco de código do for que fará diferença o incremento ser pré ou pós.

[quote=Rodrigo Sasaki][code]public static void main(String[] args){
int contador = 0;
for(int i = 0 ; i < 10 ; contador = i++){

}
System.out.println(contador);

}[/code]Algo como o exemplo acima. Se você alterar para pré-incremento, aí terá uma alteração no valor final.

Não consigo pensar em um exemplo prático para isso, mas é só naquele bloco de código do for que fará diferença o incremento ser pré ou pós.[/quote]

É verdade, acho q é só naquele exato momento ali

a questão e simples na verdade,

o pre-incremento executa o o incremento antes da linhas, o pos-descremento o faz ao final;

int x = 5;


 System.out.println(x++);
//vai mostrar 5, porque ira imprimir antes de incrementar
// no entando apos essa linha o valor de x ja será 6


 System.out.println(++x);
//vai mostrar 7, porque era incrementar antes de imprimir

percebeu a diferenca?
existem alguns calculos que isso pode realmente fazer a diferenca

Salve,

Cara eu não sei se sua duvida é refente ao pós e pre incremento ou o laço for.
no laço for de fato não ira ter qualquer diferença você utilizar pós e pre incremento como disse o Rodrigo Sasaki,
Eu também não sei se você conhece o laço for mas ele não é divido em:
for(inicialização de variável; teste da variável; incremento da variável) como é o comum utilizar
o for é dividido em
for(operação executada ao inicio do for; operação que retorna um booleano para continuação do laço; operação executada a cada instrução do laço)
eu sei que parece que eu estou só falando o que você já sabe mas a diferença na pratica é a seguinte:
O uso comum do for é:

Uma forma incomum mas valida é:

int i = 0;
for(System.out.println(&quot;Inicio do laco&quot;);i&lt;=10;System.out.printf(&quot;Executando laco: %d\n&quot;,i++))

Neste segundo caso acontece o que o Rodrigo Sasaki havia dito de executar alguma operação com o terceiro argumento

Espero ter ajudado Abraço

Uma forma muito boa de você entender o que acontece, sem precisar de decorar, é aprender que o loop “for” é na verdade uma abreviação de um “while”. Se aprender isso, vai ver que é trivial entender por que é que, nesse caso, tanto faz usar “i++” ou “++i” que o resultado vai ser exatamente o mesmo.
O seguinte laço “for”:

for (A ; B; C) {
    D;
    E;
}

equivale ao seguinte laço “while”:

{
    A;
    while (B) {
        D;
        E;
        C;
    }
}

Por exemplo:

for (String linha = br.readLine(); linha != null; linha = br.readLine()) {
      System.out.println (linha);
}

equivale a:

{
    String linha = br.readLine();
    while (linha != null) {
        System.out.println (linha);
        linha = br.readLine(); 
    }
}

(Há um caso particular onde se omite a condição, ou “B” no exemplo acima. Nesse caso, B é considerado como se fosse “true”. )