Break e Return

Será que alguém pode me explicar bem detalhadamente em que contexto é utilizado o comando break e o comando return?
Obrigada

Essa é qual questão da sua lista de exercicios? a 2?

Pq acho que respondi a 1 no outro topico… :roll:

Essa é a numero 7.KKKKK

break é akela dança que os bboy fazem nos show de rap :smiley:

return ja é mais estilo michael jackson! pa trais "sacumé "?

2 curtidas

Use o break pra sair de uma laço e o return para sair de um método. E não, isso não é uma boa explicação, mas isso é a diferença básica, que você deve estar vendo agora. O resto pesquisando no google deves achar com facilidade.

Obrigada Daniels!!!

[code]public class Mes {
public static void main(String[] args){
switch (i)
{
case 1:
System.out.println (“Janeiro”);
break;
case 2:
System.out.println (“Fevereiro”);
break;
case 3:
System.out.println (“Marco”);
break;
case 4:
System.out.println (“Abril”);
break;

        default:System.out.println ("Nao e valido");   
        }       
     }   
}     

} [/code]
Nesse caso, se vc entrar com o valor “1”, irar imprimir no console “Janeiro”. Isso pq tem o break.
Se não tivesse o break no final de cada case, ele iria continuar lendo a próxima linha e seria impresso os outros meses no console. Sendo que o certo é somente o “Janeiro” já que o usuário entrou com o valor 1. Pra isso que serve o break! =)

E o return é utilizado, por exemplo, quando vc quer salvar algo no banco de dados e depois de salvo, vc deseja retornar uma mensagem para o usuário dizendo que os dados foram salvos com sucesso.

Obrigada Fer!!!

po eu tb mereço um obrigado =~

ta loco nao se tem mais senso de humor :confused:

Obrigada pra vc tbém Filipe!!!

break interrompe um for, while ou do-while ou evita o fall-through em switches.for (int i = 1; i <= 10; i++) { // Percorre de 1 a 10. System.out.println(i); // Escreve o número if (i == 6) break; // Mas, pára no 6. }Isso escreve 1, 2, 3, 4, 5 e 6.
O laço vai de 1 a 10, mas o break o interrompe antes dele terminar, quando chega no 6.
Para while e do-while, o funcionamento é o mesmo que no for. O break faz ele parar na hora.

int i = ...; switch (i) { case 1: System.out.println("A"); break; case 2: System.out.println("B"); break; case 3: System.out.println("C"); // NÃO TEM BREAK AQUI!!!! case 4: System.out.println("D"); break; case 5: System.out.println("E"); // E NEM AQUI!!!! case 6: System.out.println("F"); // E NEM AQUI!!!! default: System.out.println("X"); }Se i for 1, ele escreve A e sai do switch (é o que o break faz).
Se i for 2, escreve B e sai do switch por causa do break.
Se i for 3, escreve C, NÃO SAI DO SWITCH e continua (isso se chama fall-through), imprime D também.
Se i for 4, escreve D e sai do switch por causa do break.
Se i não for qualquer número entre 1 e 6, escreve X (default significa “nenhuma das outras alternativas”) e o switch acaba.
Se i for 6, escreve F, fall-through, escreve X e acaba o switch.
Se i for 5, escreve E, fall-through, escreve F, fall-through de novo, escreve X e acaba o switch.

Para o return de um método void:private void a(int x) { System.out.println("AA"); if (x == 5) return; System.out.println("BB"); }Se você chamar o método com qualquer valor diferente de 5, ele escreve AA e BB.
Porém se você chamar com o valor 5, ele escreve AA e o return faz ele cair fora, não escreve BB.

Para métodos não void, o return devolve (retorna) um valor:[code]private void teste() {
int x = calcula(1);
System.out.println(x);
x = calcula(2);
System.out.println(x);
}

private int calcula(int b) {
if (b == 1) return 5;
System.out.println(“oi”);
return 7;
}[/code]O método teste chama calcula duas vezes. Na primeira passa-lhe o valor 1. O método calcula então retorna 5 (não escreve “oi”) e o método teste escreve 5, que foi o que calcula lhe retornou.
Na segunda vez, é passado o valor 2, o método calcula escreve “oi” e retorna 7, então teste escreve 7.

Obrigada Victor!Esclarecedor.
Abraços