Hola sean bienvenidos a este post, hoy veremos algunos operadores adicionales para trabajar con nuestros programas, veamos el primero de ellos.

Anuncios

Operador condicional

El operador condicional, tambien llamado operador ternario, es similar a trabajar con el condicional if y consta de tres partes:

variable x = (expresion) ? resultado si es verdad : resultado si es falso

Como pueden ver primero tenemos una variable x donde por medio de un operador de asignacion le pondremos una expresion (p.e. a == 1), luego un signo de interrogacion (?) donde chequeara la expresion, si es verdad le asignara el valor despues del signo de interrogacion (?), si no es verdad, pasara al campo posterior de los dos puntos y devolvera el valor por ser falso. Para entenderlo un poco mejor veamoslo por medio de un ejemplo:

public class Test 
{
	public static void main(String args[])
	{        
		int a,b;        
		a = 10;        
		b = (a == 1) ? 20 : 30;        
		System.out.println("Valor de b es: " + b);        
		b = (a == 10) ? 20 : 30;        
		System.out.println("Valor de b es: " + b);
	} 
} 
Anuncios

En este caso creamos una clase simple donde declararemos dos variables (a y b), luego le asignaremos el valor 10 a la variable a, para la variable b utilizaremos el operador condicional. Observen como primero comparamos el valor de a por medio del operador de relacion para verificar si el valor de a es igual a 1, como es falso le asignara el valor de 30 a la variable b, en la siguiente linea muestra el valor de b en pantalla, para la siguiente linea hace exactamente pero como pueden ver en la expresion esta vez va a ser verdadero por ende va a asignarle el valor 20 a b, en la siguiente linea mostrara el nuevo valor de b en pantalla, veamos la salida del programa:

tinchicus@dbn001vrt:~/java/program$ java Test 
Valor de b es: 30
Valor de b es: 20
tinchicus@dbn001vrt:~/java/program$

Vemos como la salida nos muestra lo antes descripto, esta es una forma muy simple de poder asignarle un valor sin necesidad de tener que crear todo un bloque condicional para asignar uno u otro valor, pasemos a ver el siguiente operador

Operador instanceOf

Este tipo de operador es utilizado para objetos referenciados de clases, su unica funcion es chequear que el objeto sea derivado de la clase informada, la sintaxis seria la siguiente:

objeto creado instanceof clase informada

Veamoslo a traves de un ejemplo para entender un poco mejor este tipo de operador:

public class Vehiculo 
{         
	public static void main(String args[])         
	{                 
		String marca = "Volkswagen";                 
		boolean resultado = marca instanceof String;                 
		System.out.println( resultado );         
	} 
} 
Anuncios

Como pueden ver en este caso creamos una clase llamada Vehiculo donde en el metodo main() creamos un objeto de la clase String llamada marca y le asignamos un valor, luego creamos una variable de tipo boolean llamada resultado y en esta utilizaremos el operador instanceof para chequear que marca sea de la clase String, en la siguiente linea imprimiremos el valor almacenado en resultado. La salida sera asi:

tinchicus@dbn001vrt:~/java/program$ java Vehiculo 
true
tinchicus@dbn001vrt:~/java/program$

Como pueden ver el resultado es true (verdadero) porque realmente marca es de la clase String, ahora vamos a hacer una nueva clase llamada Carro para extender a la clase antes creada veamos el nuevo codigo:

public class Carro extends Vehiculo 
{         
	public static void main(String args[])         
	{                 
		Vehiculo a = new Carro();                 
		boolean resultado = a instanceof Carro;                 
		System.out.println( resultado );         
	} 
} 

Como pueden ver en esta clase extendemos a Vehiculo, creamos un nuevo objeto de tipo Vehiculo pero utilizamos Carro en lugar de Vehiculo, vean en el momento de comparar por medio de instanceof utilizamos Carro y luego lo imprimimos nos dara el siguiente resultado:

tinchicus@dbn001vrt:~/java/program$ java Carro 
true
tinchicus@dbn001vrt:~/java/program$

El resultado obtenido no solamente se aplica a una clase, sino tambien a las interfaces, a las clases que extienden a la creadora, como en este caso, es decir que mientras tengan una relacion se considerara verdadera.

Pasemos a nuestro ultimo tema, los operadores de Java tienen una precedencia es decir que algunos operadores tienen mas prioridad que otros por ejemplo, veamos la siguiente operacion:

x = 7 + 3 * 2;

Esta operacion nos dara como resultado 13 porque primero resolvera la multiplicacion y luego la sumara, lo mismo sucede con otros operadores.

Anuncios

En resumen, hoy hemos aprendido como trabaja el operador condicional y su uso, como trabaja el operador instanceOf y su uso y las precedencias de los operadores. Espero les haya sido util, sigueme en Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Tambien podes donar

Es para mantenimiento del sitio, gracias!

$1.00