INTRODUCCIÓN INTRODUCCIÓN AL KAIZEN INTRODUCCIÓN INTRODUCCIÓN AL KAIZEN.
Introducción
-
Upload
orestes-febles-diaz -
Category
Documents
-
view
1.266 -
download
2
Transcript of Introducción
![Page 1: Introducción](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/1.jpg)
Lenguaje Java
Introducción
![Page 2: Introducción](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/2.jpg)
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](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/3.jpg)
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](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/4.jpg)
Trabajo extraclase
• Seminario de IDEs y herramientas.
![Page 5: Introducción](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/5.jpg)
Temas de la clase
• Qué es Java ?
• Un poco de historia
• Herramientas disponibles
• Primer programa en Java
![Page 6: Introducción](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/6.jpg)
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](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/7.jpg)
Popularidad de los lenguajes
Julio 2013
![Page 8: Introducción](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/8.jpg)
Herramientas
• JDK 7u25
• IDE NetBeans 7.3
![Page 9: Introducción](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/9.jpg)
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](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/10.jpg)
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](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/11.jpg)
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](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/12.jpg)
Cronología
![Page 13: Introducción](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/13.jpg)
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](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/14.jpg)
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](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/15.jpg)
Características
• Orientado a objetos.
• Independiente de la plataforma (WORA).
• Seguro.
• Escalable.
• Fácil de usar.
![Page 16: Introducción](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/16.jpg)
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](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/17.jpg)
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](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/18.jpg)
Ventajas de la OO
• Abstracción
• Encapsulamiento.
• Modularidad
• Herencia.
• Polimorfismo
![Page 19: Introducción](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/19.jpg)
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](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/20.jpg)
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](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/21.jpg)
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](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/22.jpg)
Aplicación simple
public class Application {
public static void main(String[] args) {
System.out.println(“Bienvenido al curso de JAVA");}
}
![Page 23: Introducción](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/23.jpg)
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](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/24.jpg)
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](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/25.jpg)
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](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/26.jpg)
Cliente
![Page 27: Introducción](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/27.jpg)
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](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/28.jpg)
Compilando aplicaciones Java
![Page 29: Introducción](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/29.jpg)
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](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/30.jpg)
Acceso y Scoping
public
protected
private
![Page 31: Introducción](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/31.jpg)
Enums
public enum Directions {NORTH, SOUTH, EAST, WEST}
Directions direction;
direction = Directions.EAST;
System.out.println(direction);
![Page 32: Introducción](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/32.jpg)
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](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/33.jpg)
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](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/34.jpg)
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](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/35.jpg)
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](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/36.jpg)
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](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/37.jpg)
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](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/38.jpg)
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](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/39.jpg)
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](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/40.jpg)
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](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/41.jpg)
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](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/42.jpg)
Collection
![Page 43: Introducción](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/43.jpg)
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](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/44.jpg)
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](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/45.jpg)
Ejercicio de la U
![Page 46: Introducción](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/46.jpg)
Excepciones
![Page 47: Introducción](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557b031ad8b42a2d178b5147/html5/thumbnails/47.jpg)
Excepciones