SlideShare una empresa de Scribd logo
1 de 36
1. Variables.
2. Operadores.
3. Expresiones.
4. Instrucciones.
5. Bloques.
 El nombre de variable debe ser un identificador válido,
-- un número ilimitado de caracteres Unicode que
comienza con una letra.
 El tipo de variable determina que valores puede
contener y que operaciones se pueden realizar en ella.
 Para dar a una variable un nombre y un tipo, se escribe
una declaración de variable, la cual aparecería como:
Ejs: int x; // Entero de 32 bits
short y; // Entero corto de 16 bits
En el lenguaje de programación Java, existen dos categorías de
datos:
Primitivos
Referenciales
Una variable de tipo primitivo contiene un valor simple del tamaño
y formato apropiado para su tipo: un número, un carácter, o un
valor booleano (condicional verdadero ó falso), etc
La siguiente tabla lista, por palabras reservadas, todos los tipos de
datos primitivos soportados por Java, sus tamaños y formatos, y una
breve descripción de cada uno:
Palabra
Reservada en
JAVA
Descripción Tamaño
byte Entero c/longitud byte 8-bit
short Entero corto 16-bit
int Integer 32-bit
long Entero largo 64-bit
float Punto flotante simple p. 32-bit
double Punto flotante doble p. 64-bit
char Un carácter simple 16-bit
boolean Un carácter booleano true o false
 Ejemplo21: Calcular cuanto recorre la velocidad de la luz en 1000 días.
 Ejemplo22: Calcular el área de un circulo.
 //Ejemplo de uso de char
class Ejemplo23 {
public static void main(String args[]) {
char ch1, ch2;
ch1 = 88; // codigo de x
ch2 = 'Y';
System.out.print("ch1 y ch2: ");
System.out.println(ch1 + " " + ch2);
}
}
 //Ejemplo de conversion(cast)
class Ejemplo24 {
public static void main(String args[]) {
byte b;
int i = 257;
double d = 323.142;
System.out.println("nConversion de int a byte.");
b = (byte) i;
System.out.println("i y b " + i + " " + b);
System.out.println("nConversion de double a int.");
i = (int) d;
System.out.println("d y i " + d + " " + i);
System.out.println("nConversion de double to byte.");
b = (byte) d;
System.out.println("d y b " + d + " " + b);
}
}
 //Ejemplo de promocion de valores de diferentes tipos
class Ejemplo25 {
public static void main(String args[]) {
byte b = 42;
char c = 'a';
short s = 1024;
int i = 50000;
float f = 5.67f;
double d =0.1234;
double resultado = (f * b) + (i / c) - (d * s);
System.out.println((f * b) + " + " + (i / c) + " - " + (d * s));
System.out.println("resultado = " + resultado);
}
}
Una referencia es denominada apuntador ó
dirección de memoria en otros lenguajes.
Java no soporta el uso explicito de apuntadores
como otros lenguajes. Se emplea el nombre de
variable en su lugar.
Public class MiFecha{
int dia;
int mes;
int año;
// Podemos usar MiFecha como sigue: 
public static void main(String[] args) {
MiFecha hoy = new MiFecha();
hoy.dia=21;
hoy.mes=8;
hoy.año=2008;
System.out.println("la fecha es :"
+hoy.dia+"/"+hoy.mes+"/"+hoy.año);
}
}
La variable hoy es una referencia a un objeto de
MiFecha.
Se puede declarar una variable en cualquier ámbito para que sea final.
El valor de una variable final no puede cambiar después de que ha sido
inicializada. Tales variables son similares a las constantes en otros lenguajes.
Para declarar una variable final, emplee la palabra reservada final antes del
tipo:
Ej.
final int aFinalVar = 0;
En el caso del ejemplo, se ha declarado e inicializado la variable en un solo
paso. Se puede hacer en dos pasos si se prefiere. Hecho esto, si se intenta
asignar posteriormente un valor a ésta variable, produciría un error de
compilación.
Un operador realiza una función en uno, dos o tres operandos. Un operador
que requiere un operando es denominado operador unario.
Ej. ++ es un operador unitario que incrementa en uno el valor de su operando.
Un operador que requiere dos operandos es un operador binario.
Ej. = es un operador binario. Se usa para asignación de valores a variables.
Un operador que requiere tres operadores se denomina ternario. Existe un
operador ternario ?: que es una abreviación de la instrucción if-else.
Existen también tres modalidades de notación: prefija, postfija e infija.
Java soporta varios operadores aritméticos para todos los números enteros y de
punto flotante:
+ (suma), - (resta), * (multiplicación), / (división) y % módulo.
Operador Uso Descripción
+ op1 + op2 Suma op1 y op2
- op1 - op2 Resta op2 de op1
* op1 * op2 Multiplica op1 por op2
/ op1 / op2 Divide op1 entre op2
% op1 % op2 Calcula el remanente.
Los operadores abreviados de incremento/decremento son
sumarizados en la siguiente tabla:
Operador Uso Descripción
++ op++ Incrementa op en 1. Asigna primero, incrementa después.
++ ++op Incrementa op en 1. Incrementa primero, asigna después.
-- op-- Decrementa op en 1. Asigna primero, decrementa
después.
-- --op Decrementa op en 1. Decrementa primero, asigna
después.
Un operador relacional compara dos valores y determina la relación
entre ellos. Por ejemplo, != retorna verdadero si los dos operandos son
diferentes. A continuación una tabla de operadores:
Ej.
Operador Uso Retorna verdadero
> op1 > op2 op1 es mayor que op2
>= op1 >= op2 op1 es mayor que o igual que op2
< op1 < op2 op1 es menor que op2
<= op1 <= op2 op1 es menor que o igual que op2
== op1 == op2 op1 y op2 son iguales
!= op1 != op2 op1 y op2 son diferentes
Los operadores relacionales frecuentemente son empleados con operadores
condicionales para construir más complejas expresiones de toma de decisiones.
Java soporta seis operadores condicionales – cinco binarios y uno unario - como
aparece en la siguiente tabla:
Operado
r
Uso Retorna verdadero si
&& op1 && op2 op1 y op2 son ambos verdad. (shortcircuit)
| | op1 | | op2 o op1 o op2 es verdad. (shortcircuit)
! !op op es falso.
& op1 & op2 op1 y op2 son ambos verdad. (non-shortcircuit)
| op1 | op2 o op1 o op2 es verdad. (non-shortcircuit)
^ op1 ^ op2 si op1 y op2 son diferentes – esto es si uno u otro
de los operandos es verdad, pero no los dos.
Un operador de cambio realiza transformaciones de manipulaciones de
bits en datos cambiando los bits de su primer operando a la izquierda ó
la derecha. La tabla a continuación resume los operadores de cambio
disponibles en Java.
Operado
r
Uso Operación
>> op1 >> op2 Cambia bits de op1 a la derecha basado en op2
<< op1 << op2 Cambia bits de op1 a la izquierda basado en op2
>>> op1 >>> op2 Cambia bits de op1 a la derecha basado en op2
(unsigned)
La siguiente tabla muestra los cuatro operadores que el lenguaje Java provee
para realizar lógicas a nivel de bit en sus operandos:
Operador Uso Operación
& op1 & op2 Bitwise and
| op1 | op2 Bitwise or
^ op1 ^ op2 Bitwise xor
~ ~op2 Bitwise complement
La siguiente lista la asignación abreviada y sus equivalentes sin abreviar:
Operador Uso Equivalente a
+= op1 += op2 op1 = op1 + op2
-= op1 -= op2 op1 = op1 – op2
*= op1 *= op2 op1 = op1 * op2
/= op1 /= op2 op1 = op1 / op2
%= op1 %= op2 op1 = op1 % op2
&= op1 &= op2 op1 = op1 & op2
| = op1 | = op2 op1 = op1 | op2
^= op1 ^= op2 op1 = op1 ^ op2
<<= op1 <<= op2 op1 = op1 << op2
>>= op1 >>= op2 op1 = op1 >> op2
>>>= op1 >>>= op2 op1 = op1 >>> op2
La siguiente tabla lista los otros operadores que el lenguaje Java
soporta:
Operador Descripción
?: Abreviación if - else
[ ] Empleado para declarar arreglos y accesar elementos.
. Usado para formar nombres cualificados
( parametros ) Delimita una lista de parámetros separados por coma
( tipo ) Convierte un valor al tipo especificado
new Crea un nuevo objeto ó un nuevo arreglo
instanceof Determina si su primer operando es una instancia del segundo
operando. (descendencia directa o no).
Variables y operadores, los cuales aparecen en las secciones previas, son
bloques básicos que conforman los programas. Se pueden combinar literales,
variables, y operadores para formar expresiones – segmentos de código que
realizan cálculos y retornan valores.
Por definición, una expresión es una serie de variables, operadores y llamadas
a métodos (construidas de acuerdo a la sintaxis del lenguaje) que resultan en
un valor simple.
Instrucciones son claramente equivalentes a las sentencias en los
lenguajes naturales. Una instrucción forma una completa unidad de
ejecución. Los siguientes tipos de expresiones pueden ser convertidas
en instrucciones finalizando la expresión con un punto y coma, ( ; ).
Expresiones de asignación.
Cualquier uso de ++ ó --.
llamadas a métodos.
Expresiones de creación de objetos.
Hay tres tipos de expresiones: instrucción de expresión, instrucción de
declaración e instrucción de control de flujo.
Se pueden emplear instrucciones de flujo para condicionalmente ejecutar
instrucciones, para repetidamente ejecutar bloques de instrucciones y para
de otro modo cambiar el flujo secuencial de control.
Hay cuatro tipos de instrucciones de control de flujo que son: bucles, de
decisión, manejo de excepciones y ramificaciones (branching).
Se debe usar una instrucción while para continuamente ejecutar un bloque de
instrucciones mientras una condición permanezca verdadera. La sintaxis
general de while es:
while (expression) {
statement
}
Primero, la instrucción while evalúa la expresión, la cual debe retornar un valor
booleano. Si la expresión retorna verdadero, entonces la instrucción while
ejecuta las instrucciones dentro del bloque asociado. El proceso se mantiene
ininterrumpido hasta que la expresión retorne falso.
Esta instrucción es muy similar a la anterior, con la diferencia
de que la evaluación de la instrucción se hace al final, no al
principio. Esto permite ejecutar aunque sea una vez el bloque
asociado sin evaluar la expresión.
La instrucción for provee una forma compacta de iterar sobre un rango de
valores. La forma general de la instrucción for puede ser expresada como esto:
for (initialization; termination; increment) {
statement
}
La inicialización es una expresión que inicializa el bucle. Es ejecutada una vez
al comienzo del bucle. La expresión de terminación determina cuando terminar
el bucle. Esta expresión es evaluada al tope de cada iteración del bucle.
Cuando la expresión evalúa a falso, el bucle termina. Finalmente, la expresión
increment es invocada después de cada iteración. Todos esos componentes
son opcionales.
Los bucles for son frecuentemente utilizados para iterar sobre los elementos
de un arreglo, o los caracteres de un String.
La instrucción if / else permite al programa ejecutar
selectivamente otras instrucciones, basado en algún criterio.
La forma general sería:
if (expression) {
statement(s)
}
Se emplea la instrucción switch para condicionalmente ejecutar
instrucciones basadas en expresiones de enteros.
La instrucción switch evalúa su expresión, y ejecuta la instrucción
case adecuada. Otro punto de interés es la instrucción break después
de cada case. Cada instrucción break termina el bloque de switch, y
el flujo de control continúa con la primera instrucción que sigue
después del bloque de switch. Si no se colocaran instrucciones break,
el cursor de ejecución seguiría ejecutando otros bloques case.
El lenguaje de programación Java provee un mecanismo conocido como excepciones para
ayudar a los programas a reportar y manejar errores. Cuando un error ocurre, el programa
arroja una excepción, lo cual significa que el flujo normal de ejecución a quedado
interrumpido y que el entorno de runtime intenta encontrar un manejador de excepciones –
un bloque de código que pueda manejar un tipo particular de error. El manejador de
excepciones puede intentar recuperar del error ó, si determina que el error es irrecuperable,
proveer una finalización gentil del programa. Hay tres instrucciones que juegan un rol en el
manejo de excepciones: Try, Catch y Finally.
try {
statement(s)
} catch (exceptiontype name) {
statement(s)
} finally {
statement(s)
}
En otro apartado ampliaremos este tema.
El lenguaje de programación Java soporta tres
instrucciones de ramificación:
 Break
 Continue
 Return.
La instrucción break tiene dos formas: con etiqueta ó sin
etiqueta. La forma sin etiqueta es empleada para terminar el
bucle interno en que se encuentre, mientras que la forma con
etiqueta permite terminar una instrucción marcada con una
etiqueta.
La instrucción continue se emplea para saltar (obviar) la iteración
actual de un bucle for, while ó do-while. La forma sin etiqueta salta
hasta el final del bucle interno y evalúa la expresión booleana que
controla el bucle, básicamente obviando el remanente de esta iteración
del bucle. La forma con etiqueta salta (obvia) la iteración actual con la
etiqueta dada. A continuación unos ejemplos con cada una de las
formas:
Se emplea la instrucción return para salir del método actual. El flujo de
control retorna a la instrucción que sigue al método llamador. La instrucción
return tiene dos formas: una que retorna un valor y otra que no lo hace. Para
retornar un valor, simplemente coloque el valor (o una expresión que calcule
el valor) después de la palabra reservada return:
return ++count;
El tipo de dato del valor retornado debe ser acorde con el tipo de dato de
retorno del método (en su declaración). Cuando un método es declarado void,
use la forma de return que no retorna valor.
return;
 // ejemplo de un arreglo sencillo.
class Ejemplo26 {
public static void main(String args[]) {
int diasDelMes[];
diasDelMes = new int[12];
diasDelMes[0] = 31;
diasDelMes[1] = 29;
diasDelMes[2] = 31;
diasDelMes[3] = 30;
diasDelMes[4] = 31;
diasDelMes[5] = 30;
diasDelMes[6] = 31;
diasDelMes[7] = 31;
diasDelMes[8] = 30;
diasDelMes[9] = 31;
diasDelMes[10] = 30;
diasDelMes[11] = 31;
System.out.println("Febrero tiene " + diasDelMes[1] + " dias.");
}
}
 // Ejemplo de ++ y --.
class Ejemplo27 {
public static void main(String args[]) {
int a = 1;
int b = 2;
int c;
int d;
c = ++b;
d = a++;
c++;
System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("c = " + c);
System.out.println("d = " + d);
}
}
 //ejemplo de if
class Ejemplo28 {
public static void main(String args[]) {
int mes = 4; // abril
String estacion;
if(mes == 12 || mes == 1 || mes == 2)
estacion = "el Invierno";
else if(mes == 3 || mes == 4 || mes == 5)
estacion = "la primavera";
else if(mes == 6 || mes == 7 || mes == 8)
estacion = "el verano";
else if(mes == 9 || mes == 10 || mes == 11)
estacion = "el Otoño";
else
estacion = "Mes desconocido";
System.out.println("Abril esta en " + estacion + ".");
}
}

Más contenido relacionado

La actualidad más candente

Sintaxis Básica de Java
Sintaxis Básica de JavaSintaxis Básica de Java
Sintaxis Básica de JavaRay
 
Unidad 2
Unidad 2Unidad 2
Unidad 2UTP, TA
 
Estructuras de los lenguajes de programacion
Estructuras de los lenguajes de programacionEstructuras de los lenguajes de programacion
Estructuras de los lenguajes de programacionManuelDorante65
 
Operadores y expresiones
Operadores y expresionesOperadores y expresiones
Operadores y expresionesJorge Ñauñay
 
Comenzando a programar
Comenzando a programarComenzando a programar
Comenzando a programarRubén Loredo
 
Lenguajes diapositivas
Lenguajes diapositivasLenguajes diapositivas
Lenguajes diapositivasstarduslex
 
La estructura basica_para_c_
La estructura basica_para_c_La estructura basica_para_c_
La estructura basica_para_c_GamePlayer35
 
Tema 7 www.fresymetal.com
Tema 7 www.fresymetal.comTema 7 www.fresymetal.com
Tema 7 www.fresymetal.comFresyMetal
 
2685008 taller-java
2685008 taller-java2685008 taller-java
2685008 taller-javajairjulian
 
Apuntes1 elementos del lenguaje c
Apuntes1 elementos del lenguaje cApuntes1 elementos del lenguaje c
Apuntes1 elementos del lenguaje cZalimanunezc
 
Sintaxis en java
Sintaxis en javaSintaxis en java
Sintaxis en javapbcanessa
 
Chuleta de lenguaje C para principiantes
Chuleta de lenguaje C para principiantesChuleta de lenguaje C para principiantes
Chuleta de lenguaje C para principiantesAbrirllave
 
Operadores y expresiones en pseudocódigo
Operadores y expresiones en pseudocódigoOperadores y expresiones en pseudocódigo
Operadores y expresiones en pseudocódigoAbrirllave
 
Lenguaje c (expresiones logicas)
Lenguaje c (expresiones logicas)Lenguaje c (expresiones logicas)
Lenguaje c (expresiones logicas)Eloy Rodriguez
 

La actualidad más candente (19)

C sharp
C sharpC sharp
C sharp
 
Sintaxis Básica de Java
Sintaxis Básica de JavaSintaxis Básica de Java
Sintaxis Básica de Java
 
Algoritmos y programacion en C++
Algoritmos y programacion en C++Algoritmos y programacion en C++
Algoritmos y programacion en C++
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Estructuras de los lenguajes de programacion
Estructuras de los lenguajes de programacionEstructuras de los lenguajes de programacion
Estructuras de los lenguajes de programacion
 
Operadores y expresiones
Operadores y expresionesOperadores y expresiones
Operadores y expresiones
 
la instrucción if , Leer cadenas, caracteres
 la instrucción if , Leer cadenas, caracteres la instrucción if , Leer cadenas, caracteres
la instrucción if , Leer cadenas, caracteres
 
Comenzando a programar
Comenzando a programarComenzando a programar
Comenzando a programar
 
Lenguajes diapositivas
Lenguajes diapositivasLenguajes diapositivas
Lenguajes diapositivas
 
La estructura basica_para_c_
La estructura basica_para_c_La estructura basica_para_c_
La estructura basica_para_c_
 
Tema 7 www.fresymetal.com
Tema 7 www.fresymetal.comTema 7 www.fresymetal.com
Tema 7 www.fresymetal.com
 
2685008 taller-java
2685008 taller-java2685008 taller-java
2685008 taller-java
 
Clase 5
Clase 5Clase 5
Clase 5
 
Apuntes1 elementos del lenguaje c
Apuntes1 elementos del lenguaje cApuntes1 elementos del lenguaje c
Apuntes1 elementos del lenguaje c
 
Transparencias4
Transparencias4Transparencias4
Transparencias4
 
Sintaxis en java
Sintaxis en javaSintaxis en java
Sintaxis en java
 
Chuleta de lenguaje C para principiantes
Chuleta de lenguaje C para principiantesChuleta de lenguaje C para principiantes
Chuleta de lenguaje C para principiantes
 
Operadores y expresiones en pseudocódigo
Operadores y expresiones en pseudocódigoOperadores y expresiones en pseudocódigo
Operadores y expresiones en pseudocódigo
 
Lenguaje c (expresiones logicas)
Lenguaje c (expresiones logicas)Lenguaje c (expresiones logicas)
Lenguaje c (expresiones logicas)
 

Similar a Estructuras control java-

Similar a Estructuras control java- (20)

Introduccions a java
Introduccions a javaIntroduccions a java
Introduccions a java
 
Fundamentos de programacion en java
Fundamentos de programacion en javaFundamentos de programacion en java
Fundamentos de programacion en java
 
Taller completo
Taller completoTaller completo
Taller completo
 
Leccion 2 Java
Leccion 2 JavaLeccion 2 Java
Leccion 2 Java
 
Programacion en java_inicio apeuntes para ems
Programacion en java_inicio apeuntes para emsProgramacion en java_inicio apeuntes para ems
Programacion en java_inicio apeuntes para ems
 
TIPOS DE OPERADORES PARA C++
TIPOS DE OPERADORES PARA C++TIPOS DE OPERADORES PARA C++
TIPOS DE OPERADORES PARA C++
 
TIPOS DE OPERADORES PARA C++
TIPOS DE OPERADORES PARA C++TIPOS DE OPERADORES PARA C++
TIPOS DE OPERADORES PARA C++
 
Aprendiendo php 1
Aprendiendo php 1Aprendiendo php 1
Aprendiendo php 1
 
Estructura de un programa
Estructura de un programaEstructura de un programa
Estructura de un programa
 
Manuan de php y MySql-1.pdf
Manuan de php y MySql-1.pdfManuan de php y MySql-1.pdf
Manuan de php y MySql-1.pdf
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
Php informacion
Php informacion Php informacion
Php informacion
 
Lenguaje Borland C - Estructuras de Control
Lenguaje Borland C - Estructuras de ControlLenguaje Borland C - Estructuras de Control
Lenguaje Borland C - Estructuras de Control
 
Manual C/C++
Manual C/C++Manual C/C++
Manual C/C++
 
Operadores yahir
Operadores yahirOperadores yahir
Operadores yahir
 
Var const
Var constVar const
Var const
 
Principales codigos visual basic
Principales codigos visual basicPrincipales codigos visual basic
Principales codigos visual basic
 
UT2. Elementos básicos de programación en Java.pdf
UT2. Elementos básicos de programación en Java.pdfUT2. Elementos básicos de programación en Java.pdf
UT2. Elementos básicos de programación en Java.pdf
 
C facil de_v2
C facil de_v2C facil de_v2
C facil de_v2
 
Operadores en c_ (1)
Operadores en c_ (1)Operadores en c_ (1)
Operadores en c_ (1)
 

Estructuras control java-

  • 1.
  • 2. 1. Variables. 2. Operadores. 3. Expresiones. 4. Instrucciones. 5. Bloques.
  • 3.  El nombre de variable debe ser un identificador válido, -- un número ilimitado de caracteres Unicode que comienza con una letra.  El tipo de variable determina que valores puede contener y que operaciones se pueden realizar en ella.  Para dar a una variable un nombre y un tipo, se escribe una declaración de variable, la cual aparecería como: Ejs: int x; // Entero de 32 bits short y; // Entero corto de 16 bits
  • 4. En el lenguaje de programación Java, existen dos categorías de datos: Primitivos Referenciales Una variable de tipo primitivo contiene un valor simple del tamaño y formato apropiado para su tipo: un número, un carácter, o un valor booleano (condicional verdadero ó falso), etc
  • 5. La siguiente tabla lista, por palabras reservadas, todos los tipos de datos primitivos soportados por Java, sus tamaños y formatos, y una breve descripción de cada uno: Palabra Reservada en JAVA Descripción Tamaño byte Entero c/longitud byte 8-bit short Entero corto 16-bit int Integer 32-bit long Entero largo 64-bit float Punto flotante simple p. 32-bit double Punto flotante doble p. 64-bit char Un carácter simple 16-bit boolean Un carácter booleano true o false
  • 6.  Ejemplo21: Calcular cuanto recorre la velocidad de la luz en 1000 días.  Ejemplo22: Calcular el área de un circulo.  //Ejemplo de uso de char class Ejemplo23 { public static void main(String args[]) { char ch1, ch2; ch1 = 88; // codigo de x ch2 = 'Y'; System.out.print("ch1 y ch2: "); System.out.println(ch1 + " " + ch2); } }
  • 7.  //Ejemplo de conversion(cast) class Ejemplo24 { public static void main(String args[]) { byte b; int i = 257; double d = 323.142; System.out.println("nConversion de int a byte."); b = (byte) i; System.out.println("i y b " + i + " " + b); System.out.println("nConversion de double a int."); i = (int) d; System.out.println("d y i " + d + " " + i); System.out.println("nConversion de double to byte."); b = (byte) d; System.out.println("d y b " + d + " " + b); } }
  • 8.  //Ejemplo de promocion de valores de diferentes tipos class Ejemplo25 { public static void main(String args[]) { byte b = 42; char c = 'a'; short s = 1024; int i = 50000; float f = 5.67f; double d =0.1234; double resultado = (f * b) + (i / c) - (d * s); System.out.println((f * b) + " + " + (i / c) + " - " + (d * s)); System.out.println("resultado = " + resultado); } }
  • 9. Una referencia es denominada apuntador ó dirección de memoria en otros lenguajes. Java no soporta el uso explicito de apuntadores como otros lenguajes. Se emplea el nombre de variable en su lugar.
  • 10. Public class MiFecha{ int dia; int mes; int año; // Podemos usar MiFecha como sigue:  public static void main(String[] args) { MiFecha hoy = new MiFecha(); hoy.dia=21; hoy.mes=8; hoy.año=2008; System.out.println("la fecha es :" +hoy.dia+"/"+hoy.mes+"/"+hoy.año); } } La variable hoy es una referencia a un objeto de MiFecha.
  • 11. Se puede declarar una variable en cualquier ámbito para que sea final. El valor de una variable final no puede cambiar después de que ha sido inicializada. Tales variables son similares a las constantes en otros lenguajes. Para declarar una variable final, emplee la palabra reservada final antes del tipo: Ej. final int aFinalVar = 0; En el caso del ejemplo, se ha declarado e inicializado la variable en un solo paso. Se puede hacer en dos pasos si se prefiere. Hecho esto, si se intenta asignar posteriormente un valor a ésta variable, produciría un error de compilación.
  • 12. Un operador realiza una función en uno, dos o tres operandos. Un operador que requiere un operando es denominado operador unario. Ej. ++ es un operador unitario que incrementa en uno el valor de su operando. Un operador que requiere dos operandos es un operador binario. Ej. = es un operador binario. Se usa para asignación de valores a variables. Un operador que requiere tres operadores se denomina ternario. Existe un operador ternario ?: que es una abreviación de la instrucción if-else. Existen también tres modalidades de notación: prefija, postfija e infija.
  • 13. Java soporta varios operadores aritméticos para todos los números enteros y de punto flotante: + (suma), - (resta), * (multiplicación), / (división) y % módulo. Operador Uso Descripción + op1 + op2 Suma op1 y op2 - op1 - op2 Resta op2 de op1 * op1 * op2 Multiplica op1 por op2 / op1 / op2 Divide op1 entre op2 % op1 % op2 Calcula el remanente.
  • 14. Los operadores abreviados de incremento/decremento son sumarizados en la siguiente tabla: Operador Uso Descripción ++ op++ Incrementa op en 1. Asigna primero, incrementa después. ++ ++op Incrementa op en 1. Incrementa primero, asigna después. -- op-- Decrementa op en 1. Asigna primero, decrementa después. -- --op Decrementa op en 1. Decrementa primero, asigna después.
  • 15. Un operador relacional compara dos valores y determina la relación entre ellos. Por ejemplo, != retorna verdadero si los dos operandos son diferentes. A continuación una tabla de operadores: Ej. Operador Uso Retorna verdadero > op1 > op2 op1 es mayor que op2 >= op1 >= op2 op1 es mayor que o igual que op2 < op1 < op2 op1 es menor que op2 <= op1 <= op2 op1 es menor que o igual que op2 == op1 == op2 op1 y op2 son iguales != op1 != op2 op1 y op2 son diferentes
  • 16. Los operadores relacionales frecuentemente son empleados con operadores condicionales para construir más complejas expresiones de toma de decisiones. Java soporta seis operadores condicionales – cinco binarios y uno unario - como aparece en la siguiente tabla: Operado r Uso Retorna verdadero si && op1 && op2 op1 y op2 son ambos verdad. (shortcircuit) | | op1 | | op2 o op1 o op2 es verdad. (shortcircuit) ! !op op es falso. & op1 & op2 op1 y op2 son ambos verdad. (non-shortcircuit) | op1 | op2 o op1 o op2 es verdad. (non-shortcircuit) ^ op1 ^ op2 si op1 y op2 son diferentes – esto es si uno u otro de los operandos es verdad, pero no los dos.
  • 17. Un operador de cambio realiza transformaciones de manipulaciones de bits en datos cambiando los bits de su primer operando a la izquierda ó la derecha. La tabla a continuación resume los operadores de cambio disponibles en Java. Operado r Uso Operación >> op1 >> op2 Cambia bits de op1 a la derecha basado en op2 << op1 << op2 Cambia bits de op1 a la izquierda basado en op2 >>> op1 >>> op2 Cambia bits de op1 a la derecha basado en op2 (unsigned)
  • 18. La siguiente tabla muestra los cuatro operadores que el lenguaje Java provee para realizar lógicas a nivel de bit en sus operandos: Operador Uso Operación & op1 & op2 Bitwise and | op1 | op2 Bitwise or ^ op1 ^ op2 Bitwise xor ~ ~op2 Bitwise complement
  • 19. La siguiente lista la asignación abreviada y sus equivalentes sin abreviar: Operador Uso Equivalente a += op1 += op2 op1 = op1 + op2 -= op1 -= op2 op1 = op1 – op2 *= op1 *= op2 op1 = op1 * op2 /= op1 /= op2 op1 = op1 / op2 %= op1 %= op2 op1 = op1 % op2 &= op1 &= op2 op1 = op1 & op2 | = op1 | = op2 op1 = op1 | op2 ^= op1 ^= op2 op1 = op1 ^ op2 <<= op1 <<= op2 op1 = op1 << op2 >>= op1 >>= op2 op1 = op1 >> op2 >>>= op1 >>>= op2 op1 = op1 >>> op2
  • 20. La siguiente tabla lista los otros operadores que el lenguaje Java soporta: Operador Descripción ?: Abreviación if - else [ ] Empleado para declarar arreglos y accesar elementos. . Usado para formar nombres cualificados ( parametros ) Delimita una lista de parámetros separados por coma ( tipo ) Convierte un valor al tipo especificado new Crea un nuevo objeto ó un nuevo arreglo instanceof Determina si su primer operando es una instancia del segundo operando. (descendencia directa o no).
  • 21. Variables y operadores, los cuales aparecen en las secciones previas, son bloques básicos que conforman los programas. Se pueden combinar literales, variables, y operadores para formar expresiones – segmentos de código que realizan cálculos y retornan valores. Por definición, una expresión es una serie de variables, operadores y llamadas a métodos (construidas de acuerdo a la sintaxis del lenguaje) que resultan en un valor simple.
  • 22. Instrucciones son claramente equivalentes a las sentencias en los lenguajes naturales. Una instrucción forma una completa unidad de ejecución. Los siguientes tipos de expresiones pueden ser convertidas en instrucciones finalizando la expresión con un punto y coma, ( ; ). Expresiones de asignación. Cualquier uso de ++ ó --. llamadas a métodos. Expresiones de creación de objetos. Hay tres tipos de expresiones: instrucción de expresión, instrucción de declaración e instrucción de control de flujo.
  • 23. Se pueden emplear instrucciones de flujo para condicionalmente ejecutar instrucciones, para repetidamente ejecutar bloques de instrucciones y para de otro modo cambiar el flujo secuencial de control. Hay cuatro tipos de instrucciones de control de flujo que son: bucles, de decisión, manejo de excepciones y ramificaciones (branching).
  • 24. Se debe usar una instrucción while para continuamente ejecutar un bloque de instrucciones mientras una condición permanezca verdadera. La sintaxis general de while es: while (expression) { statement } Primero, la instrucción while evalúa la expresión, la cual debe retornar un valor booleano. Si la expresión retorna verdadero, entonces la instrucción while ejecuta las instrucciones dentro del bloque asociado. El proceso se mantiene ininterrumpido hasta que la expresión retorne falso.
  • 25. Esta instrucción es muy similar a la anterior, con la diferencia de que la evaluación de la instrucción se hace al final, no al principio. Esto permite ejecutar aunque sea una vez el bloque asociado sin evaluar la expresión.
  • 26. La instrucción for provee una forma compacta de iterar sobre un rango de valores. La forma general de la instrucción for puede ser expresada como esto: for (initialization; termination; increment) { statement } La inicialización es una expresión que inicializa el bucle. Es ejecutada una vez al comienzo del bucle. La expresión de terminación determina cuando terminar el bucle. Esta expresión es evaluada al tope de cada iteración del bucle. Cuando la expresión evalúa a falso, el bucle termina. Finalmente, la expresión increment es invocada después de cada iteración. Todos esos componentes son opcionales. Los bucles for son frecuentemente utilizados para iterar sobre los elementos de un arreglo, o los caracteres de un String.
  • 27. La instrucción if / else permite al programa ejecutar selectivamente otras instrucciones, basado en algún criterio. La forma general sería: if (expression) { statement(s) }
  • 28. Se emplea la instrucción switch para condicionalmente ejecutar instrucciones basadas en expresiones de enteros. La instrucción switch evalúa su expresión, y ejecuta la instrucción case adecuada. Otro punto de interés es la instrucción break después de cada case. Cada instrucción break termina el bloque de switch, y el flujo de control continúa con la primera instrucción que sigue después del bloque de switch. Si no se colocaran instrucciones break, el cursor de ejecución seguiría ejecutando otros bloques case.
  • 29. El lenguaje de programación Java provee un mecanismo conocido como excepciones para ayudar a los programas a reportar y manejar errores. Cuando un error ocurre, el programa arroja una excepción, lo cual significa que el flujo normal de ejecución a quedado interrumpido y que el entorno de runtime intenta encontrar un manejador de excepciones – un bloque de código que pueda manejar un tipo particular de error. El manejador de excepciones puede intentar recuperar del error ó, si determina que el error es irrecuperable, proveer una finalización gentil del programa. Hay tres instrucciones que juegan un rol en el manejo de excepciones: Try, Catch y Finally. try { statement(s) } catch (exceptiontype name) { statement(s) } finally { statement(s) } En otro apartado ampliaremos este tema.
  • 30. El lenguaje de programación Java soporta tres instrucciones de ramificación:  Break  Continue  Return.
  • 31. La instrucción break tiene dos formas: con etiqueta ó sin etiqueta. La forma sin etiqueta es empleada para terminar el bucle interno en que se encuentre, mientras que la forma con etiqueta permite terminar una instrucción marcada con una etiqueta.
  • 32. La instrucción continue se emplea para saltar (obviar) la iteración actual de un bucle for, while ó do-while. La forma sin etiqueta salta hasta el final del bucle interno y evalúa la expresión booleana que controla el bucle, básicamente obviando el remanente de esta iteración del bucle. La forma con etiqueta salta (obvia) la iteración actual con la etiqueta dada. A continuación unos ejemplos con cada una de las formas:
  • 33. Se emplea la instrucción return para salir del método actual. El flujo de control retorna a la instrucción que sigue al método llamador. La instrucción return tiene dos formas: una que retorna un valor y otra que no lo hace. Para retornar un valor, simplemente coloque el valor (o una expresión que calcule el valor) después de la palabra reservada return: return ++count; El tipo de dato del valor retornado debe ser acorde con el tipo de dato de retorno del método (en su declaración). Cuando un método es declarado void, use la forma de return que no retorna valor. return;
  • 34.  // ejemplo de un arreglo sencillo. class Ejemplo26 { public static void main(String args[]) { int diasDelMes[]; diasDelMes = new int[12]; diasDelMes[0] = 31; diasDelMes[1] = 29; diasDelMes[2] = 31; diasDelMes[3] = 30; diasDelMes[4] = 31; diasDelMes[5] = 30; diasDelMes[6] = 31; diasDelMes[7] = 31; diasDelMes[8] = 30; diasDelMes[9] = 31; diasDelMes[10] = 30; diasDelMes[11] = 31; System.out.println("Febrero tiene " + diasDelMes[1] + " dias."); } }
  • 35.  // Ejemplo de ++ y --. class Ejemplo27 { public static void main(String args[]) { int a = 1; int b = 2; int c; int d; c = ++b; d = a++; c++; System.out.println("a = " + a); System.out.println("b = " + b); System.out.println("c = " + c); System.out.println("d = " + d); } }
  • 36.  //ejemplo de if class Ejemplo28 { public static void main(String args[]) { int mes = 4; // abril String estacion; if(mes == 12 || mes == 1 || mes == 2) estacion = "el Invierno"; else if(mes == 3 || mes == 4 || mes == 5) estacion = "la primavera"; else if(mes == 6 || mes == 7 || mes == 8) estacion = "el verano"; else if(mes == 9 || mes == 10 || mes == 11) estacion = "el Otoño"; else estacion = "Mes desconocido"; System.out.println("Abril esta en " + estacion + "."); } }