Estrutura de repetição for

3 respostas
_
Alguem pode explicar o resultado da quetão seguinte:
public class Teste{
 	static boolean foo(char c){
 		System.out.print(c);
 		return true;
 		}
 		
 public static void main( String[] argv )
 {
 	int i =0;
 	for ( foo('A'); foo('B')&&(i<2); foo('C'))
 	{
 		i++;
 		foo('D');
 	}
 }
}

resposta--> ABDCBDCB

3 Respostas

J

O for inicia e a expressão de inicialização é executada e imprime A.
A
É feito o teste da condição e imprime B.
AB
Como o teste é verdadeiro ele entra no for, incrementa o i, e imprime D.
ABD
É executada a terceira expressão que imprime C.
ABDC
É feito o teste da condição novamente e imprime B.
ABDCB
Como o teste é verdadeiro ele entra no for, incrementa o i, e imprime D.
ABDCBD
É executada a terceira expressão que imprime C.
ABDCBDC
É feio o teste da condição novamente e imprime B.
ABDCBDCB
Como o teste é falso o for é finalizado.

A questão é que a terceira expressão é executada depois de executar o corpo do for, a sequencia é:

inicialização --> condição --> corpo --> terceira expressão --> condição …

V
A ordem em que as coisas ocorrem é a seguinte:

1. Inicialização
2. Verifica se a condição é verdadeira, senão for pára de executar
3. Executa o corpo
4. Código em "iteração" ocorre
5. Volta ao passo 2

A ordem em que as coisas ocorrem é a seguinte:

  1. Inicialização
  2. Verifica se a condição é verdadeira, senão for pára de executar
  3. Executa o corpo
  4. Código em “iteração” ocorre
  5. Volta ao passo 2
_

BLz,

Valeu galera!!!

Criado 24 de agosto de 2006
Ultima resposta 24 de ago. de 2006
Respostas 3
Participantes 3