Beruflich Dokumente
Kultur Dokumente
Objetivos:
Reconocer las sentencias de control de flujo de Java. Desarrollar aplicaciones bsicas en Java.
Temas:
2.1 Programacin en Java. 2.1.1 Comentarios. 2.1.2 Identificadores. 2.1.3 Tipos de variables y arreglos. 2.1.4 Operadores. 2.2 Control de flujo. 2.2.1 Sentencias repetitivas. 2.2.2 Sentencias condicionales. 2.2.3 Sentencias de transferencia. 2.2.4 Excepciones.
CIBERTEC
Captulo 2
Java Fundamentals
2.1.1 Comentarios
CIBERTEC
Java Fundamentals
Los comentarios en el cdigo de un programa son importantes para el mantenimiento futuro del mismo, as como para interpretar ms fcilmente una rutina compleja. Java tiene 3 tipos de comentario:
// //
Todo lo que est a la derecha de // ser considerado comentario por el compilador de Java, y es eliminado en el archivo compilado (.class).
/* /* */ */
Todo lo que est entre /* y */ ser considerado comentario por el compilador de Java, y es eliminado en el archivo compilado (.class).
/** /** */ */
Comentario Comentariode dedocumentacin documentacin
Todo lo que est entre /** y */ ser considerado comentario por el compilador de Java, y permanece en el archivo compilado (.class). Usado normalmente para describir al desarrollador y a la aplicacin.
CIBERTEC
Java Fundamentals
2.1.2 Identificadores
Los identificadores nombran variables, mtodos, clases, objetos y otros que el programador necesite identificar o usar. En Java, un identificador comienza con una letra, un subrayado (_) o un smbolo de dlar ($). Los siguientes caracteres pueden ser letras o dgitos. Se distinguen las maysculas de las minsculas y no hay longitud mxima. Seran identificadores vlidos: nombreCliente _variable_del_sistema $transaccion Sin embargo, existen palabras claves del lenguaje que no pueden ser usadas como identificadores, ests son: abstract boolean break byte byvalue case catch char class const continue default do double else extends false final finally float for goto if implements import instanceof int interface long native new null package private protected public return short static super switch synchronized this threadsafe throw transient true try void while
Tambin, hay palabras reservadas del lenguaje que no pueden ser usadas como identificadores, y son: cast operator future outer generic rest inner var
CIBERTEC
Java Fundamentals
NOTA El tipo de variable en que se almacena por defecto un nmero entero es int. El valor por defecto asociado a cualquier variable entera no inicializada es 0.
De tipo real o de coma flotante Son variables que almacenan datos numricos con decimales. Se pueden dividir en los siguientes tipos:
NOTA El tipo de variable en que se almacena por defecto un nmero decimal es double. El valor por defecto asociado a cualquier variable real no inicializada es 0.0.
De tipo lgico o booleanas Son variables que almacenan dos posibles valores: true o false. No se corresponden con ningn valor numrico. Ejemplo: boolean tienesCalor = true;
De tipo carcter Son variables que almacenan caracteres individuales (letra). El carcter que se inicializa debe ir entre apstrofes o comillas simples 'a'. El cdigo de caracteres empleado por Java es Unicode y recoge los caracteres de prcticamente todos los idiomas importantes del mundo (son unos 65.536). Los caracteres Unicode del alfabeto occidental corresponden a los primeros 256 enteros; es decir van desde [0, 255].
CIBERTEC
Java Fundamentals
A cada carcter le corresponde unvocamente un nmero entero perteneciente al intervalo [0, 65536] o al de [0, 255] si se trabaja slo con el alfabeto occidental. Por ejemplo, la letra es el entero 164. Ejemplo: char miCaracter = 'n'; char miCaracter1 = 110; // le corresponde segn Unicode
char miCaracter2 = '\u006E'; // notacin Unicode Asociado a este tipo de variable se tienen las secuencias de escape. Se emplean para representar caracteres especiales (por ejemplo, unas comillas dentro de una instruccin que exige una cadena entrecomillada) y caracteres no imprimibles como el tabulador, salto de lnea, etc. Van precedidos del carcter contrabarra. Algunos de ellos se detallan en la tabla siguiente:
NOTA El valor por defecto asociado a cualquier variable char no inicializada es '\u0000'
Arreglos o Arrays Se pueden declarar en Java arrays de cualquier tipo: char[] s; int[] iArray; Incluso se pueden construir arrays de arrays: int[][] tabla = new int[4][5]; Los lmites de los arrays se comprueban en tiempo de ejecucin para evitar desbordamientos y la corrupcin de memoria. En Java un array es realmente un objeto, porque tiene redefinido el operador []. Tiene una funcin miembro: length. Se puede utilizar este mtodo para conocer la longitud de cualquier array. int[][] a = new int[10][3]; a.length; /* 10 */ a[0].length; /* 3 */ Para crear un array en Java hay dos mtodos bsicos. Crear un array vaco: int[] lista = new int[50];
CIBERTEC
Java Fundamentals
o se puede crear ya el array con sus valores iniciales: String[] nombres = { "Juan","Pepe","Pedro","Maria" }; Esto que es equivalente a: String[] nombres; nombres = new String[4]; nombres[0] = new String( "Juan" ); nombres[1] = new String( "Pepe" ); nombres[2] = new String( "Pedro" ); nombres[3] = new String( "Maria" );
2.1.4 Operadores
Existe una gran variedad de operadores en Java con los que podemos procesar nuestros datos, as tenemos:
Aritmticos + * / % Adicin Sustraccin Multiplicacin Divisin Mdulo. Toma el residuo de una divisin de enteros. Ejemplo: 17%5 == 2; // Residuo de 17 entre 5 es 2 Se incrementa en uno. Ejemplo 1: int a, b; // Se declara dos enteros a y b a = 5; b = ++a; Ejemplo 2: int a, b; a = 5; b = a++; --
++
// a==6 y b==6
// a==6 y b==5
CIBERTEC
Java Fundamentals
||
O (or) p v v f f q v f v f p || q v v v f
No (not) q v f
!q f v
Relacionales == Igual que Ejemplo: 3+4 == 7; Diferente que. Ejemplo: 5+6 != 7; Menor que Menor o igual que Mayor que Mayor o igual que
!=
CIBERTEC
Java Fundamentals
a += 5; = // Es igual a poner a = a + 5;
Compacta una sustraccin. Ejemplo: x = 8; // Es igual a poner x = x - 8; Compacta un producto. Ejemplo: y *= 12; Compacta una divisin. Ejemplo: b /= 100; Compacta el mdulo.
*=
/=
%=
Ternario ?: Tiene tres operandos, cada uno de los cuales es una expresin; se ordena de la siguiente forma: expresin1 ? expresin2 : expresin3 El valor de la expresin completa equivale al de la expresin2 si la expresin1 es verdad, o al valor de la expresin3 en caso contrario. Ejemplos: ( 5>4 ) ? 1 : 2 // Toma el valor 1 ( 5<4 ) ? 1 : 2 // Toma el valor 2 ( x>y ) ? x : y // Toma el mayor entre x e y
Precedencia de operadores
/= /=
%= %=
+= +=
-= -=
CIBERTEC
Java Fundamentals
10
Ejercicio N. 3
Desarrollar un proyecto calculadora, en la que use la clase Baldor creada en el captulo 1. Por lo tanto, aadir al nodo Libraries la biblioteca MiLib:
CIBERTEC
Java Fundamentals
11
Ejercicio N. 4
Desarrollar un proyecto ventas, que permita detallar las compras de un cliente como muestra la imagen siguiente:
Declarar una variable global total al final de la clase, pero antes del ltimo cerrar llaves (})
CIBERTEC
Java Fundamentals
12
CIBERTEC
Java Fundamentals
13
condicin
false
true
proposicin
Por ejemplo, si quisiramos sumar los mltiplos de 7 de 2 dgitos, entonces tendramos como parte del cdigo de la aplicacin, el siguiente cdigo:
int suma = 0; int mult7 = 10; while( mult7<100 ) { suma += ((mult7 % 7) == 0) ? mult7 : 0; mult7++; } // En la variable suma tendremos el resultado
Instruccin do
CIBERTEC
Java Fundamentals
Presenta el siguiente formato:
14
proposicin
true
condicin
false
Esta sentencia a diferencia de la anterior no presenta condicin de entrada, pero si tiene condicin de salida. Por lo tanto, puede ser usada cuando no es necesario evaluar la entrada y queremos que de todas maneras ejecute el bloque de sentencias que forma su proposicin. Por ejemplo, si quisiramos saber cul es el primer mltiplo de 13 de 2 dgitos, entonces tendramos como parte del cdigo de la aplicacin, el siguiente cdigo:
int mult13 = 100; do { mult13++; } while( (mult13 % 13) != 0 ); // En la variable mult13 tendremos el resultado
CIBERTEC
Java Fundamentals
Instruccin for Presenta el siguiente formato:
15
inicializacin
false
actualizacin
Es la nica instruccin que su parmetros estn separados por punto y coma (;) porque el primero (inicializacin) y el ltimo (actualizacin) pueden a su vez tener sub argumentos. Por ejemplo, en el siguiente cdigo, la variable str terminara con el siguiente contenido: x == 5, y == 1 x == 4, y == 2
// inicio de cdigo String str = ""; for(int x=5, y=1; x!=y; --x, ++y) { str += "x == " + x + ", y == " + y + "\n"; } // fin de cdigo
CIBERTEC
Java Fundamentals
16
Ejercicio N. 5
Desarrollar un proyecto notas, que permita seleccionar las 3 notas que tienen los alumnos y que se seleccionan de listas despegables, para imprimir el promedio respectivo, cuando se de clic en el botn Ver promedio:
CIBERTEC
Java Fundamentals
17
true
condicin
false
proposicin1
proposicin2
opcional
Segn la verdad o falsedad de la condicin ejecuta la proposicin1 o la proposicin2, ambas representan a un bloque de sentencias.
CIBERTEC
Java Fundamentals
18
Ejercicio N. 6
Desarrollar un proyecto eCuadratica, que permita dar solucin a una ecuacin cuadrtica que puede tener solucin imaginaria o real. Imagen con solucin imaginaria:
CIBERTEC
Java Fundamentals
19
switch ( var ) { case caso1 : accion1; break; case caso2 : accion2; break; ... case casoN : accionN; break; default : accionD; }
Donde: var Se evala a un dato ordinal (byte, short, int, long, y char) Las acciones accion1, ... son instrucciones sencillas o compuestas, Los casos caso1, ... son valores concretos del mismo tipo que var. Si se omite el break se realizan todas las instrucciones que corresponde a los valores que se encuentran a continuacin.
CIBERTEC
Java Fundamentals
20
Instruccin break Esta sentencia de transferencia solo se puede ejecutar dentro de una instruccin repetitiva y como proposicin de una condicional. Su pictogrfico sera el siguiente:
Cuando se ejecuta break, automticamente la instruccin repetitiva termina, ya que break salta a la sentencia despus del bloque de la repetitiva.
Instruccin continue Al igual que la anterior, esta sentencia solo se puede ejecutar dentro de una instruccin repetitiva y como proposicin de una condicional. Su pictogrfico sera el siguiente:
CIBERTEC