se mais vs mudar o desempenho em java

Gostaria de saber se existe alguma diferença de eficiência entre usar a instrução if ou o switch. Por exemplo:

if(){
//code
}
else if(){
//code
}
else{
//code
}

Acredito que o programa precise verificar todas as declarações if, mesmo que a primeira declaração if seja verdadeira.

switch(i){

case 1:
//code
break;
case 2:
//code
break;

Mas no switch, há um comando de interrupção. Minha aproximação está certa? Caso contrário, você poderia explicar a diferença de eficiência entre eles?

questionAnswers(3)

yourAnswerToTheQuestion