if (i == 0){
...
} else if (i == 1) {
...
} else {
...
}
ou
if (i != 0 && i != 1) {
// Não é nem 0 nem 1 ...
}
sydtpt
if(i==0||i==1){
exec("");
}else{
}
os sinal de igualdade é “==” e não “=” .
felipealbuquerque
Importante: para comparações, utilizamos o ‘==’. O ‘=’ serve para atribuições.
Se eu entendi a sua pergunta, o código deve ficar parecido com esse:
//...if(i==0){// faz algo}elseif(i==1){// faz algo}else{// exibe a mensagem de erro}//...
spycall
switch (i) {
case 0:
execute(...);
break;
case 1:
execute(...);
break;
default:
System.out.println("erro");
break;
}
J
JaVa_MaChInE
blz…
Mas é q os 2 if é para executarem duas coisas diferentes… ent5ão naum podem ser juntos…
felipealbuquerque
Então a primeira solução do peczenyj, a minha solução e a solução do spycall são válidas para resolver o seu problema.
Marky.Vasconcelos
spycall:
switch (i) {
case 0:
execute(...);
break;
case 1:
execute(...);
break;
default:
System.out.println("erro");
break;
}
Swith é muito lento, e pode ter perda de performance é recomendavel não utilizar.
T
thingol
Mark_Ameba:
Swith é muito lento, e pode ter perda de performance é recomendavel não utilizar.
Onde é que você leu isso?
Ele é equivalente a uma série de ifs consecutivos (se os valores não forem consecutivos) ou a um “goto calculado” (se os valores forem consecutivos e pequenos).
Pode até ser mais rápido, se bobear.
Mas não é isso que vai tornar seu programa mais lento; outras coisas (como reconexões ao banco de dados, ou redesenho desnecessário de telas) é que tornam seu programa mais lento. Não um “switch”.