gente uma duvida que eu tenho do basico do basico do java :?
eu entendo o funcionamento do else if perfeitamente, o else vai rodar quando o if não eh verdadeiro…
mas eu não sei como funciona o comando “else if”
abraço
Eae nipo_style
Depende de como esta no if, exemplo:
boolean s = true;
if(!s) // se s nao for true exibe o syso abaixo.
{System.out.println("s do 1o if é " + s);}
else if (s) // se o s for true exibe o syso abaixo
{System.out.println("s do 2o if é " + s);}
Se satisfazer a condicao do primeiro if o segundo nao será executado(verificado) por que é um else do primeiro if.
nipo_style, é moleza cara. Vamos tratar isso como um algoritmo para você entender:
Se (x = 2), faça:
Imprime "Número 2"
senão, faça:
se (x = 3), faça:
Imprime "Número 3"
senão, faça:
Imprime "Número Inválido"
fim
fim
É só uma forma de você tratar diversas condições somente quando determinada afirmação for falsa ou vice-versa.
Abraços
entao qual a diferença de vc usar um “if” e depois um “else”, ou usar um “if” e depois um “else if”?
agradeço, abraço
Nenhuma, o que você tem que entender é o fluxo de decisões. É melhor explicar isso com um exemplo. Tenha esse código:
if(escolha==1){
// escolha foi 1
}else if(escolha==2){
// escolha foi 2
else{
// sem escolha
}
Ele se desenvolve como:
if(escolha==1){
//escolha foi 1
else{
if(escolha==2){
// escolha foi 2
}else{
// sem escolha
}
}
Else if é um encurtamento para vários if/else encadeados.
Até!
Cara o else eh opcional assim como o else if, isso vai depender de sua regra de negocio.
Mas vc só vai usar um else if caso queira fazer outro teste caso o if anterior nao satisfaca sua condicao.
[code]int idade = 17;
String sexo = “h”;
if(idade >= 18){
System.out.println("idade menor que 18");
}else if(sexo == "f"){ // apenas colocando um if dentro de um else
System.out.println("sexo diferente de h");
}else{ // esse else é do segundo if
System.out.println("idade > 18 e sexo h");
}
[/code]
Usando o mesmo codigo assim sem o else do primeiro if.
[code]int idade = 17;
String sexo = “h”;
if(idade >= 18){
System.out.println("idade menor que 18");
}if(sexo == "f"){ /* apenas colocando um if depois da condicao verdadeira do primeiro if, pois soh se for falso ele pulará {System.out.println("idade menor que 18");} e executará a linha posterior.*/
System.out.println("sexo diferente de h");
}else{ // esse else é do segundo if
System.out.println("idade > 18 e sexo h");
}
[/code]
Acho que a dúvida dele é:
Qual a diferença de usar:
if (n ==1)
faça…
if (n ==2)
faça…
ou usar
if (n ==1)
faça…
else if (n ==2)
faça…
Correto??
veja… no segundo exemplo, o segundo IF será validado APENAS quando a primeira afirmação for falsa. Em alguns casos você quer validar o segundo IF mesmo que o primeiro IF seja verdadeiro, daí você utiliza o primeiro exemplo.
Ficou mais claro??? Isso não é linguagem JAVA, isso é lógica de programação.
Abraços
Exemplo com n = 2
if (n == 1){ // realiza esta comparação
...
}
if (n == 2){ //depois realiza esta comparação
...
}
if (n == 3){ //realiza esta comparação também
...
}
if (n == 4){ //e realiza mais esta comparação
...
}
ou usar
if (n == 1){ //realiza esta comparação
...
}else
if (n == 2){ //caso a anterior seja falsa, realiza esta comparação [é o nosso caso]
...
}else
if (n == 3){ //caso a anterior seja falsa, realiza esta comparação [não é o nosso caso]
...
}else
if (n == 4){ //caso a anterior seja falsa, realiza esta comparação [não é o nosso caso]
...
}
No primeiro modo ele testará todos as condições, no segundo caso testará as condições até que encontre a condição correta.
Não tem segredo nenhum…
São simples condições:
Quando a condição que estiver dentro do “if” for verdadeira, ela executa e o else não.
Quando a codição que estiver denrtro do “if” for falsa, ela não executa e é executado o comando dentro do “else”.
olha só:
int x = 1;
if(x==1)
System.out.println("X é igual a 1");
else
System.out.println("X é diferente de 1");
Entendeu?
Entendi galera valeu ai!
abraço
ainda aproveitando o topico, quantos if /else eu posso colocar em um método?
no meu caso eu tentei usar:
if (nome != null) {
System.out.println("leu primeira condição");
return nome;
}
if (cpf != null) {
System.out.println("leu segunda condição");
return cpf;
}
if (rg != null) {
System.out.println("leu terceira condição");
return rg;
}
if (og != null) {
System.out.println("leu quarta condição");
return og;
}
mas só a primeira condicao é lida…
alguem pode ajudar?
é pq vc se esqueceu do else
if (nome != null) {
System.out.println("leu primeira condição");
return nome;
} else if (cpf != null) {
System.out.println("leu segunda condição");
return cpf;
} else if (rg != null) {
System.out.println("leu terceira condição");
return rg;
} else if (og != null) {
System.out.println("leu quarta condição");
return og;
}
[quote=Scoobydoo]é pq vc se esqueceu do else
if (nome != null) {
System.out.println("leu primeira condição");
return nome;
} else if (cpf != null) {
System.out.println("leu segunda condição");
return cpf;
} else if (rg != null) {
System.out.println("leu terceira condição");
return rg;
} else if (og != null) {
System.out.println("leu quarta condição");
return og;
}
[/quote]
Blz. mas dessa forma eu posso usar qualquer uma das 4 condicoes ou algumas simultaneamente, ou somente uma delas?
[quote=Kleber-rr]ainda aproveitando o topico, quantos if /else eu posso colocar em um método?
no meu caso eu tentei usar:
if (nome != null) {
System.out.println("leu primeira condição");
return nome;
}
if (cpf != null) {
System.out.println("leu segunda condição");
return cpf;
}
if (rg != null) {
System.out.println("leu terceira condição");
return rg;
}
if (og != null) {
System.out.println("leu quarta condição");
return og;
}
mas só a primeira condicao é lida…
alguem pode ajudar?[/quote]
Não esqueça que no return, ele irá sair do método.