Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sintaxis
Arreglos
Clases y Objetos
Objetivos
1. Sintaxis – Eclipse
2. Arreglos
3. Profundizar los conceptos de:
• Clase
• Objeto
• Atributo
• Método
• Instancia
4. Construir aplicaciones sencillas que empleen
los conceptos anteriores.
Sintaxis – repaso rápido
int a = 5;
int b = 2;
double c = 2;
System.out.println(a/b); 2
System.out.println(((double) a)/b); 2.5
System.out.println(a/c); 2.5
Sintaxis – repaso rápido
String a = "aadvark";
String e = "elephant";
System.out.println(
a.substring(0,4) + Error
e.substring(3,9));
Sintaxis – repaso rápido
8
Arreglos
• Un arreglo es un conjunto de datos del mismo tipo.
6
Para usar un arreglo
1. Declarar.
2. Asignar espacio (tamaño).
3. Usar (guardar y leer datos)
7
Arreglos de una dimensión
1. Declarar
char a[];
int vector[];
double datos[];
2. Asignar espacio (tamaño)
a = new char[20]; // a[0]…a[19]
vector = new int[15]; //vector[0]…vector[14]
datos = new double[n]; // datos[0]…datos[n-1] (¿n debe cumplir alguna condición?)
n debe ser entero y tener valor
8
Arreglos de una dimensión
Pasos 1 y 2 en una sola instrucción:
9
Arreglos de una dimensión
3. Usar.
10
Arreglos de una dimensión
Pasos 1, 2 y 3 en una instrucción:
11
Tamaño de un arreglo
• Una vez definido el tamaño de un arreglo, no se puede cambiar.
• La variable length regresa el tamaño del arreglo.
ej: nombre.length, donde nombre es el nombre de la variable.
12
Tamaño de un arreglo
• Por ejemplo, para escribir todos los elementos de un arreglo:
13
Sintaxis – repaso rápido - arreglos
int total = 0, i = 0;
while( total < 90 ) {
switch( i ) {
case 0:
total += 30;
30
i = 1;
break;
30
case 1:
i = 2;
60
total -= 15;
case 2:
60
i = 0;
total += 15;
90
break;
}
System.out.println(total);
}
Programación Orientada a Objetos
Son objetos
Tratamiento de excepciones
El código que puede generar la excepción debe encerrarse dentro de
un bloque try.
try
{
// Código que puede generar la excepción
}
A continuación, la excepción se captura con un bloque catch.
catch (Exception e)
{
// Código para tratar el error
}
Tratamiento de excepciones
El código dentro del try puede generar más de una excepción, y se pueden
capturar todas ellas
try
{
//Código que puede provocar el error
}
catch(IOException ioe)
{
//Código para tratar la IOException
}
catch(Exception e)
{
//Código para tratar la Exception
}
Tratamiento de excepciones
try try
{ {
//código que genera //código que genera
//excepciones //excepciones
} }
catch(IOException ioe) catch(Exception e)
{ {
//catch accesible //catch accesible
} }
catch (Exception e) catch (IOException ioe)
{ {
//catch accesible //catch NO accesible
} }
Tratamiento de excepciones
try
Al tratamiento de una
{
//código que genera excepciones
excepción se le puede
} añadir al final un bloque
catch(IOException ioe) finally que se ejecuta
{ siempre, se produzcan o no
//tratamiento de la excepción Excepciones.
}
finally
Se puede usar para cerrar
{ ficheros, liberar recursos,
//código que se ejecuta siempre etc.
}
Tratamiento de excepciones
• Si una excepción no se captura se propaga hacia
el método llamante, para que éste la trate.
• Si no la trata, se sigue propagando hasta llegar
al main.
• Si en el main tampoco se trata, se aborta la
ejecución del programa.
Clase ArrayList
• Almacena datos de manera similar a los arrays.
• Tamaño dinámico.
• Iteradores.
Los Iteradores (Iterator) sirven para recorrer los ArrayList y poder trabajar con
ellos. Los Iteradores solo tienen tres métodos que son:
• “hasNext()” para comprobar que siguen quedando elementos en el iterador.
• “next()” para que nos de el siguiente elemento del iterador.
• “remove()” que sirve para eliminar el elemento del Iterador.
Clase ArrayList
ArrayList<String> nombreArrayList = new ArrayList<String>();
nombreArrayList.add("Elemento"); // Añade el elemento al ArrayList
nombreArrayList.add(n, "Elemento 2"); // Añade el elemento al ArrayList en la posición 'n'
nombreArrayList.size(); // Devuelve el numero de elementos del ArrayList
nombreArrayList.get(2); // Devuelve el elemento que esta en la posición '2' del ArrayList
nombreArrayList.contains("Elemento"); // Comprueba se existe del elemento ('Elemento')
que se le pasa como parámetro.
nombreArrayList.indexOf("Elemento"); // Devuelve la posición de la primera ocurrencia
('Elemento') en el ArrayList
nombreArrayList.lastIndexOf("Elemento"); // Devuelve la posición de la última ocurrencia
('Elemento') en el ArrayList
nombreArrayList.remove(5); // Borra el elemento de la posición '5' del ArrayList
nombreArrayList.remove("Elemento"); // Borra la primera ocurrencia del 'Elemento' que se le
pasa como parametro.
nombreArrayList.clear(); //Borra todos los elementos de ArrayList
nombreArrayList.isEmpty(); // Devuelve True si el ArrayList esta vacio. Sino Devuelve False
arrayListCopia = (ArrayList) nombreArrayList.clone(); // Copiar un ArrayList ArrayList
Object[] array = nombreArrayList.toArray(); // Pasa el ArrayList a un Array
ArrayList: Ejemplo
Ejercicio 3
Leer desde un fichero de texto, una serie de partidos de fútbol que
guardaremos en un ArrayList de objetos “PartidoFutbol”.
Los partido de fútbol estan guardados en el fichero con la siguiente
estructura: equipoLocal::equipoVisitante::golesLocal::golesVisitante
Recorremos el ArrayList con un Iterator y mostramos por pantalla todos
los resultados de fútbol.
Ejercicio 3: Leer un archivo
// Instanciamos el fichero donde estan los datos
File fichero = new File(nombreFichero);
Scanner s = null;