Introducción

47
Lenguaje Java Introducción

Transcript of Introducción

Page 1: Introducción

Lenguaje Java

Introducción

Page 2: 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

Page 3: Introducción

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)

Page 4: Introducción

Trabajo extraclase

• Seminario de IDEs y herramientas.

Page 5: Introducción

Temas de la clase

• Qué es Java ?

• Un poco de historia

• Herramientas disponibles

• Primer programa en Java

Page 6: Introducción

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

Page 7: Introducción

Popularidad de los lenguajes

Julio 2013

Page 8: Introducción

Herramientas

• JDK 7u25

• IDE NetBeans 7.3

Page 9: Introducción

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.

Page 10: Introducción

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.

Page 11: Introducción

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

Page 12: Introducción

Cronología

Page 13: Introducción

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)

Page 14: Introducción

Versiones

• Java SE 6 (11 de diciembre de 2006)

• Java SE 7 (2006)

• El JRE (Java Runtime Environment

• JDK (Java Development Kit).

Page 15: Introducción

Características

• Orientado a objetos.

• Independiente de la plataforma (WORA).

• Seguro.

• Escalable.

• Fácil de usar.

Page 16: Introducción

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.

Page 17: Introducción

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.

Page 18: Introducción

Ventajas de la OO

• Abstracción

• Encapsulamiento.

• Modularidad

• Herencia.

• Polimorfismo

Page 19: Introducción

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)

Page 20: Introducció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

Page 21: Introducción

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.

Page 22: Introducción

Aplicación simple

public class Application {

public static void main(String[] args) {

System.out.println(“Bienvenido al curso de JAVA");}

}

Page 23: Introducción

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 ;

}

}

Page 24: Introducción

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

}

Page 25: Introducción

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;

}

}

Page 26: Introducción

Cliente

Page 27: Introducción

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)

Page 28: Introducción

Compilando aplicaciones Java

Page 29: Introducción

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

Page 30: Introducción

Acceso y Scoping

public

protected

private

Page 31: Introducción

Enums

public enum Directions {NORTH, SOUTH, EAST, WEST}

Directions direction;

direction = Directions.EAST;

System.out.println(direction);

Page 32: Introducción

String

String s = “Para ";

s = s + " cadenas";

System.out.println(s);

equals

equalsIgnoreCase

startsWith

endsWith

compareTo

length

charAt

substring

indexOf

lastIndexOf

Page 33: Introducción

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;

}

Page 34: Introducción

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 };

Page 35: Introducción

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 };

Page 36: Introducción

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 };

Page 37: Introducción

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

Page 38: Introducción

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:

Page 39: Introducción

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).

Page 40: Introducción

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

Page 41: Introducción

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+" / "); }

Page 42: Introducción

Collection

Page 43: Introducción

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'

Page 44: Introducción

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

Page 45: Introducción

Ejercicio de la U

Page 46: Introducción

Excepciones

Page 47: Introducción

Excepciones