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] -------------------------------------------------------------------------