Vous êtes sur la page 1sur 19

PROGRAMACIN AVANZADA

ESCUELA: CIENCIAS DE LA COMPUTACIN

NOMBRES Ing. Daniel Guamn

SEGUNDO BIMESTRE
OCTUBRE 2011 FEBRERO 2012
Esquema de Contenidos

Colecciones
Genricos
Expresiones Regulares
Conexiones a BDD
Sentencias CRUD
Multiprocesamiento

2
Colecciones

Son estructuras de datos (objetos).


Se pueden realizar operaciones de Get, Set, Find, Clear,
Contains, similar a usar sentencias CRUD en BDD.
Sirven para simular el procesamiento de lo que se conoce como
DataTable y/o DataSet Tipados y no Tipados en programacin
con VStudio.
La interfaz Collection es la interfaz raz en la jerarqua de
colecciones, a partir de la cual se derivan las interfaces Set y List.

3
Tips Colecciones
List = ordenado

List = puede contener elementos duplicados

Set = Elementos nicos

LinkedList = Valores duplicados

Collections = Interfaz raiz en la jerarquia de Colecciones

Map = No puede contener claves duplicadas

4
Ejemplo Colecciones 1

//Crea el objeto colecciones arraylist


List<String> Cursos = new ArrayList<String>();
//Permite aadir los valores a la lista
Cursos.add(0, "Valor0");
Cursos.add(1, "Valor1");
Cursos.add(2, "Valor2");
int tamanio = Cursos.size();
System.out.println("Tamanio de la Collection: " + tamanio);
System.out.println("Dado el indice retorna el elemento" + Cursos.get(0));
System.out.println("Dando el elemento retorna el valor" + Cursos.indexOf("Valor1"));
boolean resultado = Cursos.contains("Valor1");
//Evaluar o buscar elemento dentro de la Coleccion
if (resultado ==true)
System.out.println("Elemento encontrado: " + resultado + "en posicion es: " + Cursos.get(1));
//permite setear o aadir nuevo valor en la collection
String set = Cursos.set(1, "ValorNN");
int tamanio1 = Cursos.size();
System.out.println("Nuevo elemento en posicion 1: "+ Cursos.get(1)); 5
Ejemplo Colecciones 2

//Haciendo referencia a una Clase java

List <Persona> ListPersonas = new ArrayList<Persona>();


Persona p = new Persona("Daniel","Guaman");
Persona p1 = new Persona("Daniel2","Guaman2");
ListPersonas.add(p);
ListPersonas.add(p1);
int tamanio2 = ListPersonas.size();
System.out.print("Tamano Persona " + tamanio2);

//Clase Persona
public class Persona
{
String Nombre; String Apellido;
public Persona(String N, String A)
{this.Nombre = N; this.Apellido = A;}
}
6
Genricos
Similar a trabajar con sobrecarga de Mtodos.
Sobrecarga de Mtodos: Varias Mtodos que se programan de forma diferente y se
obtiene el mismo resultado.

7
Ejemplo Genricos (Mtodos Sobrecargados)
public class Principal
{
public static void main(String[] args)
{
Figura f= new Figura(4,5) {

@Override
public double GetArea() {
throw new UnsupportedOperationException("Not supported yet.");
}
};
f.GetArea();
}}
abstract class Figura
{
//Atributos
protected int X1;
protected int Y1;
//Constructor
public Figura (int X, int Y)
{
this.X1 = X;
this.Y1 = Y;}

//Metodo Abstracto
public abstract double GetArea(); 8
}
Ejemplo Genricos (Mtodos Sobrecargados)
class Triangulo extends Figura
{
private double base;
private double altura;

public Triangulo(int X, int Y, double b, double a)


{
//llamada al contructor de la clase padre
super(X,Y);
this.base= b;
this.altura= a;
}
public double GetArea()
{
return (this.base * this.altura)/2;
}
class Cuadrado extends Figura
{private double lado;
public Cuadrado(int X, int Y, double l)
{
//llamada al contructor de la clase padre
super(X,Y);
this.lado = l;}

public double GetArea()


{ 9
return (Math.pow(lado, 2));}
Expresiones Regulares
Sirven para realizar o validar temas como: longitud de cadenas, validacion de nmeros
de telfono, celular, nmero de seguro social, email, etc.

Para las expresiones regulares se utilizan Pattern y Matcher; el primero para ubicar el
patron de comparacin y Matcher para poder validar la expresin.

//Pattern expression = Pattern.compile("[1-9]+[1-9]+[0]");


Pattern expression = Pattern.compile("[a-z]+@[a-z]+[a-z]+[a-z]+[a-z]");
//String test = "110";
String test = "daguaman@utpl";
Matcher matcher = expression.matcher(test);
System.out.println("Matcher" + matcher);
boolean res = matcher.matches();
System.out.println(res);

Pattern expresion2=Pattern.compile("[ \t]+$");


String test2 = "Es una prueba para elimnar espacios";
Matcher matcher1 = expresion2.matcher(test2); 10
System.out.println(matcher1);
Conexiones a Base de Datos
Una BDD permite almacenar datos e informacin.
Una BDD posee objetos que son propios de BDD entre los que destacan Tablas,
indices, paquetes, procedimientos almacenados, triggers, etc.
Un motor de BDD puede ser: Oracle, SQL, MySql, Access, DB2, etc.
En java para conectarse a una BDD se necesita importar el paquete java.sql.
Para operar con una BDD en java:
Conectarse a la BDD.
Abrir la BDD.
Operar sobre la BDD.
Cerrar la conexin a la BDD.

//Metodo que permite realizar conexion a BDD en este caso Access


private static Connection getConnection() throws Exception
{
Driver d = (Driver)Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
Connection c = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver
(*.mdb)};DBQ=c:/BASE/prueba.mdb");
return c; 11
}
Sentencias CRUD
Sentencias SQL que permiten operar sobre una BDD.

Se utilizan con cualquier lenguaje de programacin que permita conexin a BDD.

C = Create -> Insert


R = Read -> Select
U = Update
D = Delete

Ejemplos:

SELECT * FROM DUAL;


SELECT CAMPO1 FROM DUAL;
SELECT CAMPO1, CAMPO2, CAMPO3.. FROM DUAL
INSERT INTO TABLA VALUES(1,2,A);
12
Ejemplos Sentencias CRUD en java
//Objeto Connection
Connection conn = getConnection();
//Objeto para manipulas las sentencias SQL
java.sql.Statement sentencia = conn.createStatement();
//Ejecucion de la sentencia SQL
java.sql.ResultSet rsResultado = sentencia.executeQuery("SELECT * FROM ESTUDIANTES");
//Recorrer las filas resultantes
while (rsResultado.next())
{
System.out.println(rsResultado.getString("CEDULA"));
System.out.println(rsResultado.getString("NOMBRES"));
System.out.println(rsResultado.getString("APELLIDOS"));
}
rsResultado.close();
sentencia.close();
java.sql.Statement sentenciaINS = conn.createStatement();
String sql= "INSERT INTO ESTUDIANTES VALUES (7,'1108','BBBBB','XXXXX')";
int rsResultadoINS = sentenciaINS.executeUpdate(sql);
sentenciaINS.close();
java.sql.Statement sentenciaUPD = conn.createStatement();
String sqlUPD= "UPDATE ESTUDIANTES SET NOMBRES = 'DANIEL' WHERE ID = 6";
int rsResultadoUPD = sentenciaUPD.executeUpdate(sqlUPD);
sentenciaUPD.close(); 13
conn.close();
Bases de Datos

Gestores o Motores de BDD: SQL Server, Mysql, Oracle,


Access.

BDD Livianas: Access, MySql.

BDD contiene tablas y dentro de las tablas se tiene filas y


columnas o tuplas y columnas.

Sql es el lenguaje para operar en una BDD.

14
Multiprocesamiento
Para realizar el multiprocesamiento se necesita de programar HILOS.
Hilos = Thread; poseen prioridad (alta, media, baja)
Dentro de un programa java se puede tener 1, 2 o mas hilos.
Temas similares a multiprocesamiento tienen que ver con el rendimiento del Equipo (PC).
Para ejecutar un hilo se necesita del uso de Start y su ejecucin se encuentra dentro de
run.
El uso del multiprocesamiento es similar a los temas estudiados en los temas de
recursividad.
Con multiprocesamiento se puede realizar los siguiente:
Ejecutar un programa que muestre los nmeros pares.
En una GUI poder ingresar valores a una BDD.
15
En una GUI ubicar un reloj que incremente segundo, minuto y hora.
Multiprocesamiento
public class Hilos2 extends Thread
{
public void run()
{
while(true)
{Pares();}}}
public void Pares()
{
for (int i =0; i<100000; i++)
{
if (i%2 == 0)
System.out.println("Par :" + i);}}
//llamada a los hilos para su ejecucion
Hilos h1 = new Hilos();
public PruebaHilos()
{
h1.start();
Hilos2 h2 = new Hilos2();
h2.start();
16
}
Preguntas Ejemplo:
El trmino CRUD significa:
a) Create, Read, Update y Delete
b) Create, Reset, Update y Delete
c) Create, Read, Unique y Delete
d) Create, Red, Update, Diference

Un objeto List es un objeto Collections ..que puede contener elementos duplicados


a) ordenado
b) desordenado
c) en arrays
d) todas las anteriores

La interfazdefine a una coleccin que representa a una lnea de espera


a) Set
b) Collection
c) Queue
d) Collections

Una coleccin es:


a) una clase
b) un objeto
c) una sentencia de control 17
d) todas las anteriores
Preguntas Ejemplo Ensayo:

Remtase a las presentaciones 6 y 13.

Conocimientos previos:

Creacin de Clases.
Definicin de atributos y mtodos de clase.
Conocer sentencias CRUD y el uso de getConnection,
CreateStament, Execute
Conocer para que se utiliza Set, Clear, IndexOf.

18

Vous aimerez peut-être aussi