Colegas,

O que ocorre é que os operadores "||" e "&&" são do tipo curto-circuito, ou
seja, se a primeira condição já definir o resultado final, então a segunda
não é executada. Se vc quiser que a segunda condição seja executada, deve
usar os operadores "|" e "&".

Exemplo:
   
  if (false && (x==y++)) - o java não executa o (y++) pois se a segunda
condição for true ou false, não muda o resultado final, pois false AND
qualquer coisa é false;

  if (false || (x==y++)) - o y é incrementado, pois não foi possível definir
o resultado final só a partir do false, já que se a segunda condição for
true o resultado final será true, mas se for false, será false;

Espero ter explicado mais que complicado.


Saudações,

Nelson Troccoli Jr.
[EMAIL PROTECTED]
Sun Certified Programmer For Java 2 Platform 1.4





-----Mensagem original-----
De: [Carlos H.] [mailto:carlows@;unerj.br]
Enviada em: quinta-feira, 17 de outubro de 2002 14:36
Para: [EMAIL PROTECTED]
Assunto: Re: RES: [java-list] JSP String !=


Olá Jonatan, 

Receio que o Rogério estava correto... quando se trata do operador || (OR)
mesmo que a primeira expressão retorne false a segunda expressão 
é calculada. Experimente rodar o código abaixo:

    public static void main(String[] args) {
        if (false || true) {
            System.out.println("Verdadeiro!");
        }
    }

O mesmo já não ocorre com o operador && (AND), neste sim, ambas as
expressões devem retornar true, e caso a primeira retorne false, a segunda
sequer é calculada. 

[]s

Carlos H.


Jonatan Schroeder wrote:

Uma correção: a segunda condição seria testada apenas se utilizasse o
operador '|' e não com o '||'.

Os dois comandos estão corretos.
retorno =(valor ==null || valor.equals("")) ?"Sim" : "Não";
retorno =(valor !=null || !valor.equals("") )? "Não" : "Sim";

---
Jonatan Schroeder
[EMAIL PROTECTED]


----- Original Message ----- 
From: Rogerio Augusto Costa 
To: [EMAIL PROTECTED] 
Sent: Monday, October 14, 2002 12:55 PM
Subject: Re: RES: [java-list] JSP String !=


Pessoal, so uma correção!
     Se vc testar != null no operador OR ele vai testar a segunda 
condição  trazendo assim um erro
de java.lang.NullPointerException, vc nao quer que seja nem nulo nem 
vazio o ideal seria testar se
valor== nulo, entao a segunda condição nem seria testada!

Exemplo:

     String valor = null;
     String retorno = "";
     retorno =(valor ==null || valor.equals("")) ?"Sim" : "Não";
     System.out.println(retorno );

// Se valor for nulo esta instrução da um erro!!!!

      retorno =(valor !=null || !valor.equals("") )? "Não" : "Sim";
     System.out.println(retorno );
     


Jose Ferreira de Souza Filho wrote:

> José Vieira,
>  
>                 vc deve comparar != null e não !="null", pq se vc 
> coloca entre aspas vc está vendo se sua variável é diferente da String 
> null e na verdade não se é diferente de null...
>  
> Vc poderia fazer da seguinte forma tb:
>  
> String v_nome     = request.getParameter("v_nome");
>    
> int v_total =  v_nome!=null || !v_nome.equals("") ? 50 : 0;
>  
> Acima vai ser feito o seguinte:
>  
> Se v_nome for diferente de null ou diferente de "" a variável v_total=50
> senão ele recbe 0.
> <http://www.politec.com.br/>
> José Ferreira de Souza Filho
> Sun Certified Programmer for Java[tm] 2 Platform
> Politec Informática
> email : [EMAIL PROTECTED] <mailto:ferreira@;gyn.politec.com.br>
>  
>
>     -----Mensagem original-----
>     De: José Vieira [mailto:apoionet@;ig.com.br]
>     Enviada em: segunda-feira, 14 de outubro de 2002 09:50
>     Para: [EMAIL PROTECTED]
>     Assunto: [java-list] JSP String !=
>
>       Olha Pessoal tenho uma String e gostaria de verificar se esta
>     variavel é diferente de null, estou testando com um IF porem não
>     estar funcionando, alguem poderia me ajudar?
>      
>         String v_nome     = request.getParameter("v_nome");
>         int v_total = 0;
>         if (v_nome != "null")
>            {
>              v_total    = 50;
>            }
>      
>        if (v_nome != "")
>            {
>              v_total    = 50;
>            }
>      
>      
>      
>     Grato
>      
>     José
>




-- 
/**
 * [Carlos H.] - [EMAIL PROTECTED]
 * Núcleo de Informática UNERJ - Centro Universitário de Jaraguá do Sul
 * 
 * "O Sábio fala pouco do que muito sabe
 *      O Tolo fala muito do que pouco sabe..."
 */



---
Incoming mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.400 / Virus Database: 226 - Release Date: 9/10/2002

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.400 / Virus Database: 226 - Release Date: 9/10/2002
 

------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------

Responder a