Características imperativas de Java Controle de Fluxo if-else switch while do-while for break continue return Instruções e Blocos As duas instruções básicas são instruções de expressão e instruções de declaração. O ponto-e-vírgula finaliza a instrução. Exemplo de instruções: i++; chamadas de métodos ptA.printIt(); Separador X Finalizador Instruções e Blocos Tipos de expressões que podem tornar-se instruções: Expressões de atribuição; Formas pré-fixadas e pós-fixadas de ++; Chamadas de métodos; Expressões de criação de objeto ( new ); Parênteses ( ) e chaves { } agrupam nenhuma ou mais instruções em um bloco. if-else If (expressao-booleana) instrucao1 else instrucao2 switch Avalia uma expressão inteira cujo valor é utilizado para localizar um rótulo case apropriado dentre aqueles listados dentro do bloco seguinte. Se o rótulo case correspondente for encontrado, o controle passa para a intrução seguinte. Caso contrário, o controle será transferido para o rótulo default. Se não existir rótulo default, a instrução switch será pulada. switch while e do-while while (expressao booleana) instrucao do instrucao while (expressao booleana); for for (expr-inicial; expr-booleana; expr-incremento) instrucao { expr-inicial; while (expr-booleana){ instrucao expr-incremento; } } Rótulos As instruções podem ser rotuladas. São normalmente utilizados em blocos e laços. Um rótulo precede uma intrução desta forma: rótulo: instrução blocos rotulados são úteis com break e continue. break Uma instrução break pode ser utilizada para sair de um bloco qualquer. Freqüentemente utilizada para interromper um laço. Pode ser usada para sair imediatamente de qualquer bloco break continue Pula para o fim do corpo do laço e avalia a expressão booleana que controla o laço. Possui significado apenas dentro de laços: while, do-while e for. Pode especificar um rótulo de um laço mais externo. Não é necessário rótulo, desde que exista apenas um laço anexado. continue return Finaliza a execução de um método e retorna ao que o chamou. return; //não retorna nenhum valor Se o método possuir um tipo de retorno, return deve incluir uma expressão de mesmo tipo. return 0; return também pode ser usado para sair de construtores e código de inicializador estático. Não goto? Principais usos de goto: Controlar laços externos em laços aninhados. Use break e continue rotulados. Saltar o resto de um bloco de código qdo uma resposta ou erro são encontrados. Use break rotulado. Executar o código de limpeza antes de sair de um método ou bloco de código. Use break rotulado.