Introducción
-
Upload
orestes-febles-diaz -
Category
Documents
-
view
1.266 -
download
2
Transcript of Introducción
Lenguaje Java
Introducción
Objetivos de la asignatura
• Entender los conceptos básicos de la programación
orientada a objetos.
• Diseñar clases y jerarquías de clases.
• Escribir un programa java para un ambiente de
programación.
• Resolver diferentes problemas usando JAVA
Evaluación de la asignatura
• Una pregunta escrita (Miércoles 17)
• 2 trabajos extraclase por equipos. (22 y 30)
• 2 Pruebas Prácticas (23 y 29)
• Una prueba final (Jueves 1 de agosto)
Trabajo extraclase
• Seminario de IDEs y herramientas.
Temas de la clase
• Qué es Java ?
• Un poco de historia
• Herramientas disponibles
• Primer programa en Java
Objetivos de la clase
• Conocer las razones que dieron origen al lenguaje JAVA.
• Conocer herramientas para trabajar con JAVA.
• Comprender las diferencias y similitudes de JAVA con
otros lenguajes de programación
Popularidad de los lenguajes
Julio 2013
Herramientas
• JDK 7u25
• IDE NetBeans 7.3
Historia
• El lenguaje de programación Java fue originalmente
desarrollado por James Gosling de Sun Microsystems
• Formaba parte del proyecto GREEN, software para
controlar dispositivos electrodomésticos.
• A Gosling no le gustaba como C++ resolvía las tareas.
Historia
• Los objetivos eran implementar una máquina virtual y un
lenguaje con una estructura y sintaxis similar a C++.
• El primer nombre que tuvo este proyecto fue OAK.
• Una hipótesis arroja que Java debe su nombre a un tipo
de café disponible en la cafetería cercana.
James Gosling
• Nacido el 19/5/55 en Alberta, Canadá
• Licenciado en ciencias de la computación.
• En 1983 se hizo Doctor en Ciencias Técnicas.
• En 1984 se unió a la compañía Sun Microsystems
donde fue vicepresidente hasta 2010.
• http://nighthacks.com/roller/jag/resource/bio.html
Cronología
Versiones
• JDK 1.0 (23 de enero de 1996)
• JDK 1.1 (19 de febrero de 1997)
• J2SE 1.2 (8 de diciembre de 1998)
• J2SE 1.3 (8 de mayo de 2000)
• J2SE 1.4 (6 de febrero de 2002)
• J2SE 5.0 (30 de septiembre de 2004)
Versiones
• Java SE 6 (11 de diciembre de 2006)
• Java SE 7 (2006)
• El JRE (Java Runtime Environment
• JDK (Java Development Kit).
Características
• Orientado a objetos.
• Independiente de la plataforma (WORA).
• Seguro.
• Escalable.
• Fácil de usar.
Orientación a Objetos
• Nace en los años 60 aplicado a simulaciones de sistemas
físicos.
• Su objetivo principal era disminuir la complejidad del
desarrollo y mantenimiento de software.
• Existen actualmente un grupo importante de lenguajes
de programación que implementan este paradigma.
Ventajas de la OO
• Suministra modelos similares a los del mundo real.
• Facilita el desarrollo de sistemas complejos, la
reutilización.
• Permite un desarrollo iterativo de aplicaciones.
• Facilita la interoperabilidad entre aplicaciones.
Ventajas de la OO
• Abstracción
• Encapsulamiento.
• Modularidad
• Herencia.
• Polimorfismo
Orientación a Objetos
La Orientación a Servicios está basada en 3 distintas
actividades:
• OOA (Se determina la funcionalidad del sistema)
• OOD (Cómo la arquitectura soporta este funcionamiento)
• OOP (Implementación de la aplicación)
Orientación a Objetos
Producto del análisis y el diseño se generan artefactos:
Entre ellos uno de los más importante es el Diagrama de
Clases (UML).Nombre
Atributos
Métodos
Tipos de aplicaciones JAVA
• Aplicaciones de consola
• Aplicaciones de ventanas (Swing , AWT, SWT)
• Aplicaciones Web (JSP, Servlets, JSF , entre otros
estándares)
• Aplicaciones embebidas.
• Componentes para aplicaciones.
Aplicación simple
public class Application {
public static void main(String[] args) {
System.out.println(“Bienvenido al curso de JAVA");}
}
Java Bean
package umg.curso.clase1;
public class SimpleBean {
private String nombre ;
public String getNombre() {
return this. nombre ;
}
public void setNombre(String nombre ) {
this. nombre = nombre ;
}
}
Estructura de una clase
• En Java el código esta organizado alrededor de los
siguientes elementos.
• Paquetes
• Clases
• Métodosclass classname {
// define class level variables
// define methods
}
Estructura de una clase
• Constructores.
• Interfaces
• Métodospublic void setName(String name) throws Exception {
if(name == null) {
throw new Exception("Names must not be null");
} else {
this.name = name;
}
}
Cliente
Paquetes usados y estructura SDK
bin JAVA_HOME
db
demo
jre
sample
java.lang (Class, Object)
java.io (Files, Streams)
java.net (Sockets , Url)
java.util (Stack, Date)
java.awt (Windows)
Compilando aplicaciones Java
Datos primitivos, wrappers y variables (Convención)
boolean
byte
chart
short
int
long
float
double
• int numberWheels;
• int I,j,k;
• float mileage;
• boolean engineOn;
• int $newValue;
• String ownerName;
• String _byline;
Boolean
Byte
Character
Short
Integer
Long
Float
Double
Acceso y Scoping
public
protected
private
Enums
public enum Directions {NORTH, SOUTH, EAST, WEST}
Directions direction;
direction = Directions.EAST;
System.out.println(direction);
String
String s = “Para ";
s = s + " cadenas";
System.out.println(s);
equals
equalsIgnoreCase
startsWith
endsWith
compareTo
length
charAt
substring
indexOf
lastIndexOf
switch
switch (expression) {
case value: statements
case value: statements
…
default: statements
}
switch (zone) {
case 6: shippingCost = weight * 0.23f;
break;
case 15: shippingCost = weight * 0.35f;
break;
default: shippingCost = weight * 0.25f;
}
Arrays
• Son objetos en los que podemos guardar mas de una variable
que deben ser del mismo tipo.
• Pueden se unidimensionales o multidimensionales.
• Se declara: tipo_dedato [] nombre_variable;
• Para definir tamaño:String array[] = new String[10];
• int arreglo[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
Arrays
• Son objetos en los que podemos guardar mas de una variable
que deben ser del mismo tipo.
• Pueden se unidimensionales o multidimensionales.
• Se declara: tipo_dedato [] nombre_variable;
• Para definir tamaño:String array[] = new String[10];
• int arreglo[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
Arrays
• Son objetos en los que podemos guardar mas de una variable
que deben ser del mismo tipo.
• Pueden se unidimensionales o multidimensionales.
• Se declara: tipo_dedato [] nombre_variable;
• Para definir tamaño:String array[] = new String[10];
• int arreglo[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
IntroducciónEjercitación
Deportes con balón.
•Declaración de listado de deportes
•Por cada deporte se pregunta al especialista si es con
balón.
•De ser cierto se adiciona el deporte a otra lista de
deportes con balon (al inicio).
•Se imprime la lista.
Ejercicio
Colecciones
• Una colección es un objeto que permite agrupar otros objetos.
Generalmente, los elementos en una colección representan datos de una
agrupación específico de objetos, como una colección de personas, casas.
En un colección se pueden realizar operaciones sobre los objetos que están
almacenados en su interior, así podemos almacenar, manipular, obtener y
comunicar entre estos objetos.
• Java viene con un grupo de clases preconstruídas, para el uso de
colecciones las cuales conforman el Collection Framework. Este Framework,
está constituido por:
•
Colecciones
• Interfaces: Son representaciones abstractas para colecciones. Las
interfaces permiten mantener un manejo particular para las colecciones que
las implementan.
• Implementaciones: Estas son implementaciones concretas de interfaces,
es decir son estructuras utilizables.
• Algoritmos: Son métodos que realizan algún tipo de operación sobre una
colección (búsqueda, ordenamiento).
Colecciones
• La API (Colleections) de Java provee a los desarrolladores con un conjunto
de clases e interfaces que facilitan la tarea de manejar colecciones de
objetos. En cierto sentido, las colecciones trabajan como los arreglos, la
diferencia es que su tamaño puede cambiar dinámicamente y cuentan con un
comportamiento (métodos) más avanzado que los arreglos.
• La interfaz Collection es otra de las interfaces raíz de las clases de
colecciones de Java. Aunque no es posible instanciar de manera directa una
Colección, en lugar de eso se crea un subtipo de Colección .
• Las siguientes interfaces (tipos de colección) heredan de la interfaz
Collection: List , Set, SortedSet, NavigableSet, Queue, Deque
Iterando Colecciones
Existen varias formas de recorrer una colección.
• Mediante for-each , usando iteradores
for-each
for(Object o: collection){ System.out.println(o);}
Iteradores
Iterator<String> nombreIterator = nombreArrayList.iterator();
while(nombreIterator.hasNext()){
String elemento = nombreIterator.next();
System.out.print(elemento+" / "); }
Collection
ArrayList
• La clase ArrayList en Java, es una clase que permite almacenar datos en
memoria de forma similar a los Arrays, con la ventaja de que el numero de
elementos que almacena, lo hace de forma dinámica, es decir, que no es
necesario declarar su tamaño como pasa con los Arrays.
List<String> nombreArrayList = new ArrayList<String>();
nombreArrayList.add("Elemento"); // Añade el elemento al ArrayList
nombreArrayList.add(n, "Elemento 2"); // Añade el elemento 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'
ArrayList
nombreArrayList.contains("Elemento"); // Comprueba se existe del elemento
nombreArrayList.indexOf("Elemento");
nombreArrayList.lastIndexOf("Elemento");
nombreArrayList.remove(5);
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. ArrayList
arrayListCopia = (ArrayList) nombreArrayList.clone(); // Copiar un ArrayList
Object[] array = nombreArrayList.toArray(); // Pasa el ArrayList a un Array
Ejercicio de la U
Excepciones
Excepciones