martes, 10 de noviembre de 2009

JC6 - Operadores Aritmeticos en Java y C#

Los operadores aritmeticos nos permiten realizar calculos en nuestras aplicaciones Java o C# ocupan la misma sintaxis para los operadores aritmeticos. Las expresiones que usan operadores aritmeticos son expresiones binarias porque se necesitan dos operadores para realizar una operacion matematica.

Operador de asignacion ( = )

Asigna un valor a una variable o expresion que se encuentra del lado izquierdo del operador ( = ).int myInteger = 1;

Operador Suma ( + )

Es la suma de los dos valores de los dos operadores.

myInteger = 3 + 6; //myInteger sera 9

Si se esta sumando un valor a una variable y se coloca el resultado en la misma variable, se puede escribir una instruccion abreviada que realice la suma. Por ejemplo:

myInteger += 3;

La instruccion anterior es la abreviatura de la siguiente:

myInteger = myInteger + 3;

El operador de suma tiene un significado especial cuando los dos operandos son cadenas. La suma de dos cadenas une la segunda cadena a la primera.

string myMensaje = "Hola desde " + "C#"; //myMensaje contiene "Hola desde C#"

Operador Resta ( - )

Es la diferencia de los valores de los dos operadores.

myInteger = 7 - 3; // myInteger sera 4

tambien es posible escribir una expresion abreviada

myInteger -=3; //myInterger = myInteger - 3;

Operador de multiplicacion ( * )

Es el producto de los valores de los dos operandos.

int myInteger = 3;

int myOtherInteger = 2 * myInteger;

Operador de division ( / )

El valor de una expresion que usa el operador de division es el producto de los valores de los operadores.

myInteger = 6 / 3; //MyInteger = 2;

Si la operacion de division da como resultado un resto. El resultado de la operacion sera solo el cociente.

myInteger = 7 / 3;

Operador Resto ( % )

El valor de una expresion que usa el operador de resto es el resto de una operacion de division

myInteger = 7 % 3;

cuando se ejecuta este codigo, la variable MyInteger = 1, porque si se divide 7 entre 3 queda un cociente de 2 y un resto de 1.

Aprovechando que este blog esta muy pequenio...

Como prefijar operadores de incremento y decremento.

Los operadores postfijos ++ y -- pueden ser usados en uno de los dos modos. Ya hemos visto las versiones postfijas de los operadores, que aparece despues de la expresion. Las versiones prefijas aparecen antes de la expresion como se ve en el siguiente ejemplo:

myInteger = 125;


++myInteger; //el valor ahora es 126

--myInteger; //el valor ahora vuelve a ser 125

Tenga en cuenta una importante diferencia: Con los operadores prefijos el valor cambia antes de que se evalue la expresion, con los postfijos el valor cambia despues de que se evalue la expresion.

myInteger = 123;

System.Console.WriteLine(myInteger++);

System.Console.WriteLine(++myInteger);

Nota: Recuerden que cuando no hago diferencia quiere decir que el codigo es similar lo unico que cambia es la instruccion de salida a consola. De hecho en java puse saludos desde C#, jejeje ya que lo hice en C# y nada mas sutitui Console.WriteLine por System.out.println... Jeje Sorry!!!

Saludos y sigan el blog... je =)



JC5 - Operadores Logicos en Java y C#

Cada una de las instrucciones if, if...else, while, do...while, y for requieren de una condicion para determinar como continuar el flujo de control de un programa, las condiciones simples se expresan en los terminos de los operadores relacionales >, <, >=, <=, ==, !=, y cada decision evalua una condicion. Para evaluar multiples condiciones necesitamos de los operadores logicos que son:
  • && (AND CONDICIONAL)
  • (OR CONDICIONAL)
  • & (AND LOGICO BOOLEANO)
  • (OR ICLUYENTE LOGICO BOOLEANO)
  • ! (NOT LOGICO, TAMBIEN LLAMADO NEGACION LOGICA)
  • ^ (OR EXCLUYENTE LOGICO BOOLEANO)

AND CONDICIONAL (&&)

La condicion And solo es verdadera si ambas expresiones a evaluer son verdaderas en caso contrario son falsas.

OR CONDICIONAL ()

La condicion Or es falsa solo cuando ambas expresiones a evaluar son falsas en los demas casos es verdadero.

Las partes de una expresion que contiene && u se evaluan solo hasta que se sabe si la condicion es verdadera o falsa y se evaluan de izquierda a derecha. Por lo tanto la evaluacion de la expresion:

genero == FEMENINO && edad >= 65

se detienen inmediatamente si genero no es igual a FEMENINO(es decir toda la expresion es falsa) y continua si genero es igual a FEMENINO(es decir, toda la expresion podria aun ser true si la condicion edad >= 65 es true). Esta caracteristica se conoce como evaluacion en corto circuito


Los Operadores logicos booleanos (& y ) funcionan de manera identica a los operadores condicionales (&& y ) con una excepcion: los operadores logicos booleanos siempre evaluan ambos de sus operandos(es decir, no realiza una evaluacion por corto circuito). Por lo tanto la expresion:

genero == 1 & edad >= 65

evalua edad >= 65 sin importar que genero sea igual o no a 1, esto es util si el operando derecho del operador AND logico booleano u OR logico booleano tiene un efecto secundario requerido: la modificacion del valor de la variable. Por ejemplo la expresion:

cumpleanios == true ++edad >= 65

garantiza que la condicion ++edad >= 65 se evalue. Por lo tanto la variable edad se incrementa en la expresion anterior, sin importar que la expresion total sea true o false.


A continuacion se muestran las tablas de verdad de los operadores logicos.


A continuación muestro el código de un ejemplo en C# y su salida.