Pergunta envolvendo for e continue

6 respostas
LeandroSantanaDiniz

Hello World, boa tarde GUJ, este é o meu primeiro post :stuck_out_tongue:

vou postar o código-fonte do arquivo <MeuPrograma.java>

public class MeuPrograma
{
	
	public static void main(String[] argumentos)
	{
	
	
		int valorDigitadoPeloUsuario = 100;
		
		
		for (int loop = 0 ; loop <= 20 ; loop++)
		{
			
			if (loop % 19 == 0)
			{
		
				System.out.println("TCHARAM");			
					
				continue;
		
			}
			
			System.out.println("Hoooy" + loop);
			
		}  
	
	
	}
	
}

agora se eu mudar uma linha de posição, alí depois do continue o programa dá erro…

gostaria de saber, por qual motivo isso ocorre, por favor :smiley:

public class MeuPrograma
{
	
	public static void main(String[] argumentos)
	{
	
	
		int valorDigitadoPeloUsuario = 100;
		
		
		for (int loop = 0 ; loop <= 20 ; loop++)
		{
			
			if (loop % 19 == 0)
			{
		
					
					
				continue;
		
				System.out.println("TCHARAM");	
		
			}
			
			System.out.println("Hoooy" + loop);
			
		}  
	
	
	}
	
}

6 Respostas

KamikazeBr
LeandroSantanaDiniz:
Hello World, boa tarde GUJ, este é o meu primeiro post :p

vou postar o código-fonte do arquivo

public class MeuPrograma
{
	
	public static void main(String[] argumentos)
	{
	
	
		int valorDigitadoPeloUsuario = 100;
		
		
		for (int loop = 0 ; loop <= 20 ; loop++)
		{
			
			if (loop % 19 == 0)
			{
		
				System.out.println("TCHARAM");			
					
				continue;
		
			}
			
			System.out.println("Hoooy" + loop);
			
		}  
	
	
	}
	
}

agora se eu mudar uma linha de posição, alí depois do continue o programa dá erro...

gostaria de saber, por qual motivo isso ocorre, por favor :D

public class MeuPrograma
{
	
	public static void main(String[] argumentos)
	{
	
	
		int valorDigitadoPeloUsuario = 100;
		
		
		for (int loop = 0 ; loop <= 20 ; loop++)
		{
			
			if (loop % 19 == 0)
			{
		
					
					
				continue;
		
				System.out.println("TCHARAM");	
		
			}
			
			System.out.println("Hoooy" + loop);
			
		}  
	
	
	}
	
}

O continue faz com que você volte a executar o for, logo qualquer coisa abaixo dele, será ignorado, claro que as chaves delimitam isso.

Assim como o break, mas em vez de pular para o inicio do for, ele o para, caindo pra fora.

Entendeu?

LeandroSantanaDiniz

O continue faz com que você volte a executar o for, logo qualquer coisa abaixo dele, será ignorado, claro que as chaves delimitam isso.

Assim como o break, mas em vez de pular para o inicio do for, ele o para, caindo pra fora.

Entendeu?

Concordo com vc, a linha dps do continue deveria ser ignorada, porém dá erro… xD

gostaria de saber o motivo … :smiley:

tinorberto

Vai apresenta o seguinte erro unreachable statement, pois vc não pode ter um trecho que código que nunca vai ser executado. Ou seja o programa nunca vai executar o comando System.out.println(“TCHARAM”); O mesmo acontece com o break.

LeandroSantanaDiniz

Okay, obrigado gente !

Ajudaram bastante

KamikazeBr

O motivo foi o que tinorberto comentou. Nunca será passado por lá.
Mesmo caso para isso abaixo:

if (true){
   System.out.println("Oi");
}else{
   System.out.println("Tcharam??!");
}
lucaslzl

Pelo seu segundo código quando o resto do loop dividido por 19 for igual a 0 ele não vai fazer nada pois, ele via entrar executar o continue e não mostrará a mensagem. Para o segundo código o if e tudo dentro dele não fará nada.

if (loop % 19 == 0)  
            {  
          
                      
                      
                continue;  
          
                System.out.println("TCHARAM");    
          
            }
Criado 20 de maio de 2012
Ultima resposta 21 de mai. de 2012
Respostas 6
Participantes 4