1.9 Sentencias

Una instrucción o sentencia representa la tarea más sencilla que se puede realizar en un programa.
  • Sentencias de expresión 
Los siguientes tipos de expresiones pueden ser hechas dentro de una sentencia terminando la expresión con punto y coma (;):

* Expresiones de asignación
* Cualquier uso de los operadores ++ y --
* Llamada de métodos
* Expresiones de creación de objetos

Esta clase de sentencias son llamadas sentencias de expresión. 
Ej.

valorA = 8933.234;           // asignación
valorA++;                    // incremento
System.out.println(valorA);  // llamada a un método
Integer objInt = new Integer(4); // creación de objetos
  • Sentencias de declaración de variables 
Las sentencias de declaración de variables se utilizan para declarar variables.
Ej.

int  bValue;
double  aValue = 8933.234; 
String varCad;
  • Sentencias de control de flujo
Las sentencias de control de flujo determinan el orden en el cual serán ejecutadas otro grupo de sentencias. Las sentencias if y forson ejemplos de sentencias de control de flujo. 
  • Bloque de sentencias
Un bloque es un grupo de cero o más sentencias encerradas entre llaves ( { y } ). Se puede poner un bloque de sentencias en cualquier lugar en donde se pueda poner una sentencia individual.

Las sentencias de control de flujo se pueden utilizar para ejecutar sentencias condicionalmente, para ejecutar de manera repetida un bloque de sentencias y en general para cambiar la secuencia normal de un programa.
  • La sentencia if

    La sentencia if permite llevar a cabo la ejecución condicional de sentencias.
         if ( Expresion ){
            sentencias;
         }
Se ejecutan las sentencias si al evaluar la expresión se obtiene un valor booleano true.
if ( Expresion ){
   sentenciasA;
}
else{
   sentenciasB;
}
Si al evaluar la expresión se obtiene un valor booleano true se ejecutarán las sentenciasA, en caso contrario se ejecutarán las sentenciasB.

  •  La sentencia switch

Cuando se requiere comparar una variable con una serie de valores diferentes, puede utilizarse la sentencia switch, en la que se indican los posibles valores que puede tomar la variable y las sentencias que se tienen que ejecutar sí es que la variable coincide con alguno de dichos valores.
switch( variable ){
               case valor1:
                               sentencias;
               break;
               case valor2:
                               sentencias;
               break;

                               ...
                              
               case valorN:
                               sentencias;
               break;   
               default:
                               sentencias;
}
Cada case ejecutará las sentencias correspondientes, con base en el valor de la variable, que deberá de evaluarse con valores de tipo bytecharshort o int.

Si el valor de la variable no coincide con ningún valor, entonces se ejecutan las sentencias por default, sí es que las hay.

La sentencia break al final de cada case transfiere el control al final de la sentencia switch; de esta manera, cada vez que se ejecuta un case todos los enunciados case restantes son ignorados y termina la operación del switch.

  • El ciclo for

El ciclo for repite una sentencia, o un bloque de sentencias, mientras una condición se cumpla. Se utiliza la mayoría de las veces cuando se desea repetir una sentencia un determinado número de veces.

La forma general de la sentencia for es la siguiente; 
for(inicialización;condición;incremento){
   sentencias;
}
* En su forma más simple, la inicialización es una sentencia de asignación que se utiliza para establecer una variable que controle el ciclo.

* La condición es una expresión que comprueba la variable que controla el ciclo y determinar cuando salir del ciclo.

* El incremento define la manera en como cambia la variable que controla el ciclo.
Los ciclos while y do-while, al igual que los ciclos for repiten la ejecución de un bloque de sentencias mientras se cumpla una condición específica.
  • La sentencia while 

    El formato de la sentencia while es la siguiente:
while (condición){
 sentencias;
         }
La condición es una condición booleana, que mientras tenga el valor true permite que se ejecuten las sentencias correspondientes.
  • La sentencia do-while 
Al contrario de los ciclos for y while que comprueban una condición en lo alto del ciclo, el ciclo do-while la examina en la parte más baja del mismo. Esta característica provoca que un ciclo do-while siempre se ejecute por lo menos una vez.

El formato de la sentencia do-while es el siguiente:
do{
   sentencias;
}while (condición);
  • break 
La sentencia break tiene dos usos. El primer uso es terminar un case en la sentencia switch. El segundo es forzar la terminación inmediata de un ciclo, saltando la prueba condicional normal del ciclo. 
  • continue 
La sentencia continue es similar a la sentencia break. Sin embargo, en vez de forzar la terminación del ciclo, continue forza la siguiente iteración y salta cualquier código entre medias. 
  • return 
Se utiliza la sentencia return para provocar la salida del método actual; es decir, return provocará que el programa vuelva al código que llamó al método.

La sentencia return puede regresar o no un valor. Para devolver un valor, se pone el valor después de la palabra clave return.
   return valor;
El tipo de dato del valor regresado debe ser el mismo que el que se especifica en la declaración del método.

Cuando un método es declarado void, el método no regresa ningún valor.
   return;


0 comentarios:

1.8 Operadores

En Java disponemos de los operadores lógicos habituales en lenguajes de programación como son “es igual”, “es distinto”, menor, menor o igual, mayor, mayor o igual, and (y), or (o) y not (no). La sintaxis se basa en símbolos como veremos a continuación y cabe destacar que hay que prestar atención a no confundir == con = porque implican distintas cosas.


El operador || se obtiene en la mayoría de los teclados pulsando ALT GR + 1, es decir, la tecla ALT GR y el número 1 simultáneamente.
Los operadores && y || se llaman operadores en cortocircuito porque si no se cumple la condición de un término no se evalúa el resto de la operación. Por ejemplo: (a == b && c != d && h >= k) tiene tres evaluaciones: la primera comprueba si la variable a es igual a b. Si no se cumple esta condición, el resultado de la expresión es falso y no se evalúan las otras dos condiciones posteriores.
En un caso como ( a < b || c != d || h <= k) se evalúa si a es menor que b. Si se cumple esta condición el resultado de la expresión es verdadero y no se evalúan las otras dos condiciones posteriores.
El operador ¡ recomendamos no usarlo hasta que se tenga una cierta destreza en programación. Una expresión como (esVisible) devuelve false si (esVisible == true), o true si (esVisible == false). En general existen expresiones equivalentes que permiten evitar el uso de este operador cuando se desea.

 ORDEN DE PRIORIDAD, PRELACIÓN O PRECEDENCIA
Los operadores lógicos y matemáticos tienen un orden de prioridad o precedencia. Este es un esquema general que indica el orden en que deben evaluarse en la mayoría de los lenguajes de programación:

Una expresión como A+B == 8 && A-B == 1 siendo A = 3 y B = 5 supondrá que se evalúa primero A+B que vale 8, luego se evalúa A-B que vale -2. Luego se evalúa si se cumple que la primera operación es cierta y luego si la segunda también es cierta, resultando que no, por lo que la expresión es falsa.

0 comentarios:

1.7 Constantes

Una constante es una variable del sistema que mantiene un valor inmutable a lo largo de toda la vida del programa. Las constantes en Java se definen mediante el modificador final.

La estructura sería:

De esta forma si queremos definir las constantes DIAS_SEMANA ó DIAS_LABORABLES, que sabemos que son variables que no cambiarán su valor a lo largo del programa, generaremos el siguiente código:

Si queremos utilizar una constante Java, simplemente deberemos de utilizar su nombre. Así, si queremos utilizar las anteriores constantes, lo haremos de la siguiente forma:
El código completo del programa de constantes en Java será el siguiente:


En este caso las hemos declarado static en la clase. Si bien podrían ir dentro del método main sin ser static:

0 comentarios:

1.6 Variables

Una variable en Java es un identificador que representa una palabra de memoria que contiene información. El tipo de información almacenado en una variable sólo puede ser del tipo con que se declaró esa variable.


Una variable se declara usando la misma sintaxis de C. Por ejemplo la siguiente tabla indica una declaración, el nombre de la variable introducida y el tipo de información que almacena la variable:

Java posee dos grandes categorías de tipos para las variables:

Las variables de tipos primitivos almacenan directamente un valor que siempre pertenece al rango de ese tipo. Por ejemplo una variable int almacena un valor entero como 1, 2, 0, -1, etc.

Esto significa que al asignar una variable entera a otra variable entera, se copia el valor de la primera en el espacio que ocupa la segunda variable.

Las variables de tipo referencia a objetos en cambio almacenan direcciones y no valores directamente. Una referencia a un objeto es la dirección de un área en memoria destinada a representar ese objeto. El área de memoria se solicita con el operador new.

Al asignar una variable de tipo referencia a objeto a otra variable se asigna la dirección y no el objeto referenciado por esa dirección. Esto significa que ambas variables quedan refenciando el mismo objeto.

La diferencia entre ambas asignaciones se observa en la siguiente figura:

Esto tiene implicancias mayores ya que si se modifica el objeto referenciado por r, entonces también se modifica el objeto referenciado por s, puesto que son el mismo objeto.

En Java una variable no puede almacenar directamente un objeto, como ocurre en C y C++.
Por lo tanto cuando se dice en Java que una variable es un string, lo que se quiere decir en realidad es que la variable es una referencia a un string.












0 comentarios:

Copyright © 2013 Blog para POO - BTemplate by SoraTemplates and Blogger Themes.