? Quando os programadores criar aplicações de computação , eles costumam implementar estruturas complexas em seu código. Por exemplo, em vez de cada linha de execução em seqüência, um programa , muitas vezes, envolvem repetição e testes condicionais que determinam que as declarações de código realmente executar . Instruções Case , também conhecidas como instruções switch , realizar seqüências de testes condicionais . Acorrentado se e else também fazer isso, para que os programadores muitas vezes tem que escolher entre os dois tipos de declarações. Diferenças
if e else cadeias às vezes pode realizar exatamente a mesma tarefa que um caso , ou switch, comunicado. No entanto , algumas tarefas só pode ser levada a cabo por apenas uma delas . Acorrentado se e else fornecer uma série de testes para o programa a ser executado , como no exemplo o seguinte código Java :
if ( num == 1) System.out.println (" um") ; mais if ( num == 2) System.out.println (" dois") ; else if ( num == 3) System.out.println (" três") ; mais System.out.println ("Não foi um , dois ou três ");
o código a seguir representa o processamento equivalente com uma instrução switch :
switch ( num) {case 1: System.out.println (" um ") , quebrar ; case 2: System.out.println (" dois") ; break; case 3: System.out.println (" três") ; break; default: System.out.println (" não uma, dois ou três "); break; . }
os resultados destes blocos de códigos são os mesmos , embora a sua implementação é diferente
testes
Caixa , ou switch, as declarações só podem envolvem certos tipos de dados. Por exemplo, em Java, instruções switch só pode trabalhar em tipos primitivos ou enumerados, bem como as classes de wrapper para os tipos de números. If e else declarações podem realizar testes em qualquer tipo de dados, incluindo objetos. Os testes em declarações switch envolvem apenas um único valor , enquanto que no caso e else , o código pode testar para valores dentro de um determinado intervalo , ou para combinações de condições usando os operadores lógicos - e , ou e não . Isto significa que se e else fornecer mais opções em termos de testes condicionais .
Chains
ao invés de simplesmente ser uma questão de escolher uma estrutura de controle que implementa o processamento necessário , os programadores muitas vezes optar estruturas baseadas no legibilidade. Muitos programadores encontrar declarações de casos mais concisa e legível quando os valores simples estão sendo testados . Uma longa lista de if e else podem aparecer desnecessariamente detalhada dentro de um script. Legibilidade é um fator importante na programação, para o desenvolvimento futuro e para projetos com mais de um desenvolvedor trabalhando neles .
Breaks
uma cadeia de if e else , normalmente não há necessidade de sair de uma estrutura de forma explícita. Com o caso , ou switch, declarações No entanto, é necessário o uso de uma instrução break , instruindo o programa para sair do bloco de código quando o caso for encontrado. Se não houver instruções break estão incluídos, uma instrução switch pode, portanto, realizar exames desnecessários . Os programadores também , por vezes, deixar de incluir a declaração caso padrão , o que pode levar a um comportamento imprevisível.