Rumbo a nuestra Certificación (Segunda entrega)

Hola a todos, cómo están?

Pues como lo habiamos comentado anteriormente, mi hermana y un servidor se estàn preparando para la Certificaciòn de "Expert Java Programmer" y estamos compartiendo los ejercicios y textos resumidos de varios libros para tal efecto.

Ésta sería la segunda entrega para todos los novatos, esperamos sea de su ayuda como lo es para nosotros.

Dicha entreda contempla los siguientes temas:

a) Constantes.
b) Operadores aritméticos.
c) Operadores de asignación.
d) Asignación de referencia y asignación de valores.
e) Operadores condicionales.
f) Comparación de tipos básicos.

Saludos y felices compilaciones.

---------------------------------------------------------------------------

Constantes.

Una constante es una variable cuyo valor no puede ser modificado. Para declarar una constante utilizaremos la palabra reservada "final", delante de la declaración de tipo, siguiendo la expresión:

final tipo nombre_constante = valor;

Ejemplo:

final double pi = 3.1416;

Las constantes pueden declararse dentro de una clase o un método.

Es habitual que las constantes puedan utilizarse fuera de la clase en la que se declaran, sin necesidad de una instancia del objeto; para esto debemos definirla con los modificadores de acceso correspondientes (público y estático). Como ejemplo tenemos la constante PI, declarada en la clase Math de Java estándar de la forma:

public static double PI = 3.1416;

Operadores.

Los operadores son signos que nos permiten realizar operaciones dentro de un programa. Java posee una gran cantidad de operadores; los cuales los clasificaremos a continuación en base al tipo de operación que realizan:

1.- Aritméticos:

Se utilizan para realizar operaciones aritméticas dentro de un programa actuando sobre valores numéricos.

A continuación se describen los operadores aritméticos más utilizados:

a) Operador suma (+): Suma dos valores numéricos.
b) Operador resta (-): Resta dos valores numéricos.
c) Operador multiplicación (*): Multiplica dos valores numéricos.
d) Operador División (/); Divide dos números. El resultado de la operación dependerá del tipo de los operandos, ya que si se dividen dos variables de tipo entero, el resultado de la división será también entero.
e) Operador módulo (%): Calcula el resto de la división entre dos números.
f) Operador Incremento (++): Incrementa una variable numérica en una unidad y deposita el resultado en la misms variable.
g) Operador Decremento (--): Decrementa una variable numérica en una unidad y deposita el resultado en la misma variable.

Nota importante: Cabe mencionar que el operador (+) además de sumar dos números, se puede utilizar también para la concatenación de cadenas de caracteres.

Ejemplo:

System.out.println("Hola" + "adiós"); // Mostrará en pantalla el texto "Holaadiós".

También puede utilizarse para unir texto con el contenido de una variable que no sea de tipo texto, esto debido a que java convierte automáticamente los operandos que no sean de tipo cadena antes de realizar la concatenación. A continuación proveemos un pequeño ejemplo:

public class Cuadrado {

        public static void main (String args[]) {
                int r, n=5;
                r = n*n;
                System.out.println("El cuadrado de " + n + " es " + r);
        }

}

Al ejecutarse el programa anterior se mostrará en pantalla:

El cuadrado de 5 es 25.

En cuanto a los operadores de incremento (++) y decremento (--), hay que tener cierta precaución al utilizarlos dado que es posible situarlos delante de la variable (prefijo), o después de ésta (posfijo), lo que puede condicionar el resultado final de una expresión.

El siguiente ejemplo nos muestra a detalle lo anteriormente descrito:

public class Ejemplo001 {

        public static void main (String args[]) {

                int a = 3, b, s;
                b = a++;
                System.out.println("La variable b vale: " + b);
                s = ++b*++a;
                System.out.println("La variable s vale: " + s);

        }

}

En la línea con el código (b = a++;), el operador de incremento está colocado después de la variable, estro implica que primero se asignará el valor de la variable "a" a la variable "b"; realizando posteriormente el incremento de la variable "a". Por otro lado en la línea con el código (s = ++b*++a;), dado que el operador está colocado antes de las variables, se realizará primero el incremento de "a" y "b" y posteriormente se multiplicarán sus contenidos.

Como regla general, al utilizar operadores de incremento y decremento en una expresión compleja, debemos tener en cuenta los siguientes aspectos:

a) Las expresiones en Java se evalúan de izquierda a derecha.
b) Si el operador se encuentra antes de la variable, se ejecutará primeramente la operación que representa antes de seguir evaluando la expresión.
c) Si el operador se sitúa después de la variable, se utiliza el valor actual de la variable para evaluar la expresión y a continuación se ejecuta la operación asignada al operador.

2.- Asignación.

Además del clásico operador de asignación (=), Java dispone de un conjunto de operadores que permite simplificar el proceso de operar con una variable y asignar el resultado de la operación a la misma variable.

A continuación se describen los operadores de asignación con los que cuenta Java:

a) Operador de asignación (=): Asigna la expresión de la derecha al operando situado a la izquierda del operador.
b) Operador más - igual (+=): Suma la expresión de la derecha a la variable situada a la izquierda del operador.
c) Operador menos - igual (-=): Resta la expresión de la derecha a la variable situada a la izquierda del operador.
d) Operador por - igual (*=): Multiplica la expresión de la derecha y deposita el resultado en la variable.
e) Operador entre - igual (/=): Divide la variable situada a la izquierda entre la expresión de la derecha, depositando el resultado en la variable.
f) Operador módulo - igual (%=): Calcula el resto de la división entre la variable situada a la izquierda y la expresión de la derecha, depositando el resultado en la variable.

Asignación de referencias y asignación de valores.

Es importante destacar en este punto la diferencia existente entre realizar una operación de asignación entre variables de tipo objeto y realizar la misma operación entre variables de tipo básico.

En el caso de un tipo básico, por ejemplo un entero, esta operación implica que el dato contenido en una variable se copia en la otra. En el caso de objetos lo que realmente se está copiando es la referencia al objeto, no al objeto mismo. Por lo tanto, nos encontramos con que no tenemos dos copias del objeto, sino un objeto único referenciado por dos variables.

3.- Condicionales.

Se utilizan para establecer una condición dentro de un programa, el resultado de ésta será de tipo boolean (true o false). Estos operadores se utilizan en instrucciones de control de flujo.

A continuación se describen a detalle:

a) Operador igual - igual (==): Compara dos valores, en caso de que sean iguales el resultado de la operación será true.
b) Operador menor que (<): Si el operador de la izquierda es menor que el de la derecha, el resultado es true.
c) Operador menor o igual que (<=): Si el operador de la izquierda es menor o igual al de la derecha, el resultado es true.
d) Operador mayor que (>): Si el operador de la izquierda es mayor que el de la derecha, el resultado es true.
e) Operador mayor o igual que (>=): Si el operador de la izquierda es mayor o igual que el de la dercha, el resultado es true.
f) Operador difrente de (!=): Si el valor de los operandos es diferente, el resultado es true.

Comparación de tipos básicos.

Los operadores de comparación (<, <=, >, >=) únicamente podrán utilizarse para comparar enteros, puntos flotantes o caracteres.

Si estos operadores se utilizan con referencias a objetos (por ejemplo un String) se producirá un error de compilación.

A continuación se anexa un ejemplo:

public class Ejemplo002 {

        public static void main (String args[]) {

                String s = "hola";
                char c = 'k';

                // Esta expresión es válida
                if(c <= 20);

                // La siguiente expresión lanza error de compilación
                // operator <= cannot be applied to java.lang.String,int
                if(s <= 20);

        }

}

---------------------------------------------------------------------------
Martes 12 de mayo del 2mil9.
Jhanno Foulds Gaunt - Km3