Tipos primitivos. Tipo lógico.

          

              Nombre      Tamaño en bits          Valores             Significado

              boolean              1 bit                    true/false           Verdadero/Falso

• El tipo boolean se utiliza para a manipular valores lógicos.

• Sólo existen dos literales lógicos: true y false.

• Una expresión lógica o de tipo boolean es cualquier expresión que al evaluarse tiene uno de los dos valores true o false. Se construyen a partir de :

                – expresiones numéricas con operadores relacionales (>, <, … ,).

                – otras expresiones de tipo lógico con operadores de igualdad y booleanos.


• Los operados relacionales actúan sobre datos numéricos y su resultado es un valor de tipos boolean.

                                                    Operador Operación

                                                            == Igual

                                                             != Distinto

                                                              > Mayor que

                                                            >= Mayor o igual que

                                                               < Menor que

                                                             <= Menor o igual que

• Con operandos de tipos boolean sólo pueden usarse == y !=.

Ejemplos:

                int x = 5;

     boolean  b1 = 6 == x,//false

                    b2 = x <= 7,//true

                    b3 = (4 + x) > 10,//false

                    b4 = 'a' < 'b',//true

                    b5 = true == false;//false

                    b3 = 5.5 != 6.3;//true


    • Los operadores lógicos realizan operaciones sobre datos de tipo booleany tienen como resultado un valor de tipo boolean:

                                Operador             Operación                     Significado

                                        !                         NOT                         negación lógica

                                        &                       AND                     conjunción o `y´ lógico

                                        |                         OR                         disyunción o `o´ lógico

                                       ^                         XOR                           `o´ exclusivo

                                     &&             AND cortocircuitado        si el primer operando es false, el segundo                                                                                                     ya no se evalúa y el resultado es false

                                       ||                 OR cortocircuitado        Si el primer operando es true, el segundo ya                                                                                                    no se evalúa y el resultado es true


• Atención a la diferencia entre un operador y su cortocircuitado:

                            5<3 && 5/0>2 se evalúa a false, 5<3 & 5/0>2 error de ejecución!!


• Tablas de verdad:

                            x             y          x && y        x || y           x ^ y                 !x            !y           

                                                        x & y          x | y   

                          false        false        false          false             false               true          true

                          false         true        false            true              true               true          false

                          true          false       false           true               true               false         true

                          true          true         true            true              false               false        false                                                 

• Ejemplos:

(valor>=15) && (valor<=20) se evalúa a true si valor en [15,20]

(valor>15) || (valor==15) se evalúa a true si valor>=15

(x>=0 && x<5 || x>=10 && x<=20 ) && x%2 != 1 

se evalúa a true si x es par y está en [0,5[ U [10,20]


• Atención a la precedencia de los operadores booleanos. Por ejemplo:

5.4<36%30 || 3*4-6<7 && 'a'>='d' 

se evalúa a true.


(5.4<36%30 || 3*4-6<7) && 'a'>='d' 

se evalúa a false.

• La notación abreviada (por transitividad) para expresiones con operadores relacionales no es correcta en Java. Por ejemplo:

2<x<8 sintácticamente incorrecta: error de compilación

2<x && x<8 sintácticamente correcta

• En Java no hay ninguna compatibilidad entre boolean y los tipos numéricos.
















Comentarios

Entradas populares de este blog

Definición de la estructura o atributos que tendrán los objetos de una clase.

Métodos: Declaración.

La clase String de java