If ou case

13 respostas
J
case 21:

try {

Runtime.getRuntime().exec("/home//script4.sh");

} catch (IOException ex) {

ex.printStackTrace();

}

break;

olá…

Tem como no lugar do
case 21:
eu colocar
case ip:
por acaso?? invés de números letras??? no if também??? invés de
if == 1
ser
if == ip…

??? obrigado

13 Respostas

_Renatu

no if, tem com certeza…

no case, se nao me engano, precisa ser final e int pra funcionar…

alguém me corrija se eu estiver errado… faz tempo que nao uso case…

Marky.Vasconcelos

O case só aceita inteiros e chars.

antoniopopete

case so aceite inteiros e char.
E se for usar variavel a mesma deve sr final.

O if aceita comparações.
Para uso de apenas um valor, você só pode usar valores booleanos.

if(true )//(inutil)

boolean a = false;

if(a)

o resto, você deve fazer comparações para utilizar o if

Marky.Vasconcelos

O Switch além de apenas aceitar inteiros e chars, os valores a serem comparados tem que ser final, fora o fato de switch ser lento.
Acho que uma implementação melhor do código ajudaria a performance e deixaria o código mais limpo.

LPJava
<blockquote><div class="quote-author">JaVa_MaChInE:</div>case 21:

try {

Runtime.getRuntime().exec("/home//script4.sh");

} catch (IOException ex) {

ex.printStackTrace();

}

break;

olá…

Tem como no lugar do
case 21:
eu colocar
case ip:
por acaso?? invés de números letras??? no if também??? invés de
if == 1
ser
if == ip…

??? obrigado

cara moral dar uma lida aqui… so para facilitar:
http://www.guj.com.br/posts/list/50115.java

P

Mark, o case aceita char, int, constante, enum

[]'s

EDITADO
Aproveitando…qual a diferença de eu usar { }dentro do case ou nao?

case 1: bla bla bla break

case 1:{ bla bla bla break}

ViniGodoy

pardal_nb:
Aproveitando…qual a diferença de eu usar { }dentro do case ou nao?

A diferença está no escopo das variáveis.

Se você não usar as chaves, as variáveis terão visibilidade do ponto onde elas são declaradas, até o final do switch.
Se você usar as chaves, as variáveis só valem dentro das chaves.

Exemplo:

int x = 10; switch (x) { case 1: int y = 10; x = y; break; case 2: y = 5; //Válido! x = 10 + y; //Válido! break; }

Agora experimente colocar as chaves nos blocos e vc vai ver que a linha válida deixará de ser.

P

ViniGodoy:
pardal_nb:
Aproveitando…qual a diferença de eu usar { }dentro do case ou nao?

A diferença está no escopo das variáveis.

Se você não usar as chaves, as variáveis terão visibilidade do ponto onde elas são declaradas, até o final do switch.
Se você usar as chaves, as variáveis só valem dentro das chaves.

Exemplo:

int x = 10; switch (x) { case 1: int y = 10; x = y; break; case 2: y = 5; //Válido! x = 10 + y; //Válido! break; }

Agora experimente colocar as chaves nos blocos e vc vai ver que a linha válida deixará de ser.

uhmmmmmmm…

vlw, obrigado!!

jMacaxera

Interessante este esquema das chaves internas ao case! =)

Marky.Vasconcelos

Mark, o case aceita char, int, constante, enum

[]'s

Sendo mais especifico então faltou o byte, e para enums em um caso bem implementado chega ser inutil o switch
Eu tava procurando um exemplo que o ViniGodoy me deu a um bom tempo mas não achei, da uma ideia de como implementar melhor enumerações.
Se eu achar eu posto.

Marky.Vasconcelos

Achei ^^
http://www.guj.com.br/posts/list/55885.java#293436

P

Mark_Ameba:
Achei ^^
http://www.guj.com.br/posts/list/55885.java#293436

bacana esse link…usando DP…

ViniGodoy

Esse exemplo tava nos meus favoritos… esse cara manda muito bem! :lol:

Criado 28 de novembro de 2007
Ultima resposta 29 de nov. de 2007
Respostas 13
Participantes 8