Switch e IfElse

Quando Devo usa o Switch no luga do if galera ? existe alguma diferença especifica entre os dois ?

Quando vc precisar verificar diversas condições de valor de uma única variável use o switch! Como por exemplo, na comparação de Enums…

Além de deixar o código mais legível e elegante, o switch pode ser otimizado pelo compilador.

Acrescentando no que o Alison disse, embora os dois possam praticamente resolver os mesmos problemas, o If/Else é o ideal quando pretendemos fazer comparações booleanas.

if(nota >= 10)
   instrucao;

Entretanto, quando queremos verificar valor exacto, o switch é o mais apropriado.

switch(opcao){
  Case 1: instrucao; break;
}

Apesar de os dois serem capazes de efectuar praticamente as mesmas condições, como programadores devemos ter a sensatez de criar códigos legíveis e primar também pela performance.