Dúvida operador

2 respostas
Gustavo_Santos

Galera esse código aqui não era pra imprimir true ?

if((2>3)&&(3>1) | true)
			System.out.println("trueee");

A primeira expreção 2>3 == false + && lódigo não analiza a segunda expressão (3>1).
Mas ainda existe o | true.

Por fim eu não teria algo assim: false | true, e por consequência trueee ???

Grato !

2 Respostas

robsonsm

para imprimir “trueee” o codigo deveria ficar assim:

if(((2>3) &&(3>1)) | true) System.out.println("trueee");

ou

if((2>3) & (3>1) | true) System.out.println("trueee");

Gustavo_Santos
if( (2>3) && (3>1) | true )  
   System.out.println("trueee");

SE NÃO ME ENGANO - A PRECEDÊNCIA DOS OPERADORES:

() 
[]
++, --, !, ~
*, /, +, -
<>, <=, >=
==, !=
&
^
|
&&
||

ACHO QUE ISSO FUNCIONA ASSIM:

if ( (2>3) && (3>1) | true )

1º parênteses:

if ( (false) && (true) | true )

DEPOIS O | NÃO LÓGICO:

if ( (false) && true )

POR FIM O && LÓGICO

if ( false ) 
        System.out.println("trueee");  // LOGO ESSE CÓDIGO NÃO SERÁ EXECUTADO.

ACHO QUE É POR AIII !!!

Criado 19 de setembro de 2010
Ultima resposta 19 de set. de 2010
Respostas 2
Participantes 2