CONTACTO

Encuentra informaci贸n referente a la programaci贸n, dise帽o gr谩fico, electr贸nica y mucho m谩s, la p谩gina est谩 pensada para compartir contenido educativo relevante coadyuvando a su aprendizaje diario.


Tipos de operadores en Java

En Java se utiliza varios tipos de operadores: aritm茅ticos, condicionales, de Bit, de asignaci贸n, de precedencia, y el operador ternario, conocer cada uno de estos operadores es imprescindible para poderlos utilizar y que nuestros programas est茅n optimizados.

Estos datos son manipulados en distintas operaciones, para sumar, restar, multiplicar, etc., hasta realizar operaciones m谩s complejas, todos estos operadores son de f谩cil uso.

Operadores aritm茅ticos de Java

Estos operadores son los que m谩s se utiliza al momento de realizar nuestros programas en Java, a continuaci贸n se muestra una tabla con estos operadores de Java.

Operador Significado
+ Suma
Resta
* Producto
/ Divisi贸n
% Modulo (Resto)

Debemos tomar en cuenta que no es lo mismo dividir dos n煤meros enteros que dos n煤meros de coma flotante, a continuaci贸n un ejemplo con estos operadores de Java.

Ejemplo

/**
 *
 * @author Creatividad Codificada
 */
public class OperadoresAritmeticos {

    /**
     * @param args the command line arguments
     */
        public static void main(String[] args) {
        
        byte x = 27, y = 15, resultado;
        float x1 = 27, y1 = 15, resultado1; 
        resultado = (byte)(x / y);
        resultado1 = x1 / y1;
        
        System.out.println("x=27 y=15 :: x1=27 y1=15 ");//Variables
        System.out.println("x + y = "+(x+y));//Suma
        System.out.println("x - y = "+(x-y));//Resta
        System.out.println("x * y = "+(x*y));//Producto
        System.out.println("x % y = "+(x%y));//Modulo
        System.out.println("x / y = "+resultado+"(Numeros enteros)");//Division
        System.out.println("x1 / y1 = "+resultado1+"(Numeros de coma flotante)");//Division
       
    }
}

Resultado

x=27 y=15 :: x1=27 y1=15
x + y = 42
x - y = 12
x * y = 405
x % y = 12
x / y = 1(Numeros enteros)
x1 / y1 = 1.8(Numeros de coma flotante)

Operadores condicionales de Java

Estos operadores de Java se utilizan para comparar valores, adem谩s siempre devolver谩n valores booleanos, a continuaci贸n se mostrara una tabla con estos operadores.

Operador Significado
Menor
Mayor
>= Mayor o igual
<= Menor o igual
== Exactamente igual
!= Distinto
! No l贸gico (NOT)
&& 鈥淵鈥 l贸gico (AND)
|| 鈥淥鈥 l贸gico (OR)

EL operador l贸gico && (鈥淵鈥 l贸gico) se utiliza para comparar dos o m谩s expresiones de modo que si ambas son verdaderas el resultado final ser谩 tambi茅n verdadero (true) en caso contrario ser谩 falso, el operador l贸gico || (鈥淥鈥 l贸gico) se utiliza tambi茅n para comparar dos expresiones, Cuando una de las expresiones sea verdadera (true) el resultado tambi茅n ser谩 verdadera (true) en caso de que ninguno sea verdadero (true) el resultados ser谩 falso (false).

Para entender de mejor manera todos estos operadores l贸gicos de Java se realizara un ejemplo utilizando todos estos operadores.

Ejemplo

/**
 *
 * @author Creatividad Codificada
 */
public class OperadoresLogicos {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
    
        boolean mayor, menor;
        byte edad1=15, edad2=18;
        System.out.println("Edad1 = 15 :: Edad2 = 18");
        System.out.println("Edad1 < Edad2 = "+(edad1<edad2));
        System.out.println("Edad1 > Edad2 = "+(edad1>edad2));
        System.out.println("Edad1 >= Edad2 = "+(edad1>=edad2));
        System.out.println("Edad1 <= Edad2 = "+(edad1<=edad2));
        System.out.println("Edad1 == Edad2 = "+(edad1==edad2));
        System.out.println("Edad1 != Edad2 = "+(edad1!=edad2));
        System.out.println("Edad1 != Edad2 = "+!(edad1!=edad2)+"(NOT)");
        System.out.print("(Edad1 < Edad2) && (Edad1==15) = ");
        System.out.println((edad1 < edad2) && (edad1==15));
        System.out.print("(Edad1 == Edad2) || (Edad1 < 18) = ");
        System.out.println((edad1 == edad2) || (edad1 <= 18));
    }
}

Resultado

Edad1 = 15 :: Edad2 = 18
Edad1 < Edad2 = true Edad1 > Edad2 = false
Edad1 >= Edad2 = false
Edad1 <= Edad2 = true
Edad1 == Edad2 = false
Edad1 != Edad2 = true
Edad1 != Edad2 = false(NOT)
(Edad1 < Edad2) && (Edad1==15) = true
(Edad1 == Edad2) || (Edad1 < 18) = true

Operadores de BIT de Java

Estos operadores son muy utilizados cuando queremos trabajar directamente con bits, cuando hablamos de este tipo de operador tenemos que tomar en cuenta que las operaciones se hacen en binario aunque trabajemos en decimal, octal o hexadecimal, es decir si trabajo con un n煤mero entero decimal internamente Java lo transforma en n煤mero binario (100 (decimal) = 1100100 (Binario)), a continuaci贸n se muestra una tabla con todos estos operadores de BIT de Java.

Operador Significado
& AND
| OR
~ NOT
^ XOR
>>  Desplazamiento a la derecha
<<  Desplazamiento a la izquierda
>>>  Desplazamiento derecha con relleno de ceros
<<<  Desplazamiento izquierda con relleno de ceros

Cuando se habla de AND, OR, XOR y NOT estamos hablando de l贸gica binaria, utilizada en gran medida en la electr贸nica digital si tienes alg煤n conocimiento de electr贸nica seguro lo entiendes a la perfecci贸n y si no, no te preocupes en posteriores art铆culos realizaremos proyectos con estos operadores para tu mejor comprensi贸n.

Ejemplo

/**
 *
 * @author Creatividad Codificada
 */
public class OperadoresdeBit {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        int x = 50;
        int y = 10;
        System.out.print("x = 50");
        System.out.println(" :: 50 en Binario : 110010 ");
        System.out.print("x>>1 = " + (x>>1));
        System.out.println(" :: 25 en Binario : 011001 ");
        System.out.println("recorrio una posicion a la derecha");
        System.out.println("x&y = "+ (x&y));
        System.out.println("x|y = "+ (x|y));
        System.out.println("x^y = "+ (x^y));
        System.out.println("~x = "+ (~x));
    }
}

Resultado

x = 50 :: 50 en Binario : 110010
x>>1 = 25 :: 25 en Binario : 011001
recorrio una posicion a la derecha
x&y = 2
x|y = 58
x^y = 56
~x = -51

Como abran visto este ejemplo no est谩 completo falta realizar ejemplos con desplazamiento a la izquierda, desplazamiento a la derecha con relleno de ceros y desplazamiento izquierda con relleno de ceros, ser铆a muy bueno que practiquen modificando el c贸digo del ejemplo para trabajar con los operadores faltantes y ver qu茅 sucede.

Operadores de asignaci贸n de Java

Como su nombre dice estos operadores asignan un valor a una variable, el operador m谩s usado es sin duda es 鈥=鈥, adem谩s se pueden usar expresiones complejas como: x += 3;聽 es igual聽 x = x + 3;

Y si necesitamos en alg煤n programa una expresi贸n compleja podemos utilizar los que muestra la siguiente tabla.

+= -= *= /= &=
|= ^= %= >>= <<=

Tambi茅n existe lo operadores de asignaci贸n de incremento (++) y decremento (–), que son muy utilizados cuando queremos trabajar con series de n煤meros y muchas otras aplicaciones.

 x++; //esto es x=x+1;
x--; //esto es x=x-1;

Cuando empecemos a trabajar con estos operadores debemos saber que no es igual trabajar con x++ que trabajar con ++x.

Ejemplo

/**
 *
 * @author Creatividad Codificada
 */
public class OperadoresdeAsignacion {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        short x = 2;
        short y = 2;
                
        //Toma en valor inicial de x = 2
        System.out.println("x++ = "+ (x++));
        
        //ahora x = 3, pero como incia con un incremento
        //su valor final sera x = 4
        System.out.println("++x = "+ (++x));
        
        //y+=3 :: y=y+3
        System.out.println("y+=3 -> y = "+ (y += 3));
    }
}

Resultado

x++ = 2
++x = 4
y+=3 -> y = 5

Operador condicional ternario de Java

Este operador nos permite ejecutar una acci贸n u otra dependiendo del valor de la condici贸n en unas sola l铆nea.

Sintaxis

expresionlogica? valorSiVerdadero : valorSiFalso;

Ejemplo

/**
 *
 * @author Creatividad Codificada
 */
public class OperadorTernario {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        int edad = 5, entrada;
        entrada=(edad>10)?60:30; // operador ternario
        System.out.println("Precio de la entrada = "+entrada);
    }
}

Resultado

Precio de la entrada = 30

Si el usuario es mayor de 10 a帽os pagara 60 y si no pagara solo 30.

Precedencia

Muchas veces cuando trabajamos con muchos operadores en una misma expresi贸n, existe la confusi贸n con relaci贸n al resultado, por esto es importante saber cu谩l es precedencia correcta para tener la certeza de cu谩l es el resultado final de nuestra expresi贸n, a continuaci贸n se muestra una tabla con el orden de precedencia que se usa en Java.

() [] .  
++ ~ !
* / %
+
>> >>> << <<< 
> >= < <=
== !=
&
^
|
&&
||
?:
= +=, -=, *=,…

En esta tabla los operadores que tienen mayor precedencia est谩n en la parte superior y los de menor precedencia en la parte inferior, ahora si vemos la tabla de izquierda a derecha la precedencia es la misma, por ejemplo si en una expresi贸n existe una divisi贸n y un producto en la misma l铆nea el compilador de Java realizara primero la operaci贸n que este m谩s a la izquierda.

10/5*2=4

Para sacarnos de cualquier duda sobre los resultados de alguna expresi贸n se recomienda usar par茅ntesis para separar los operadores de Java.

Ejemplo

/**
 *
 * @author Creatividad Codificada
 */
public class Precedencia {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        int resultado, resultado1;
        resultado = 10/5*2;
        resultado1 = 10/(5*2);
        
        System.out.println("10/5*2 = "+resultado);
        System.out.println("10/(5*2) = "+resultado1);
        System.out.println("10/5*2 es distinto de 10/(5*2)");
    }
}

Resultado

10/5*2 = 4

10/(5*2) = 1

10/5*2 es distinto de 10/(5*2)

Como pudimos observar existe una gran variedad de operadores en Java, por lo cual depender谩 de nosotros cual es el m谩s apropiado para nuestros programas.

Comentarios

Su direcci贸n de email no sera publicado. Los campos obligatorios est谩n marcados con *.