ivette c. martínez - héctor palacios java – modulo 1 introducción y fundamentos del lenguaje de...
TRANSCRIPT
![Page 1: Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java](https://reader035.vdocuments.pub/reader035/viewer/2022070416/5665b4921a28abb57c92481a/html5/thumbnails/1.jpg)
Ivette C. Martínez - Héctor Palacios
Java – Modulo 1
Introducción y Fundamentos del lenguaje de programación Java
![Page 2: Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java](https://reader035.vdocuments.pub/reader035/viewer/2022070416/5665b4921a28abb57c92481a/html5/thumbnails/2.jpg)
Ivette C. Martínez - Héctor Palacios
Contenido
· Características del lenguaje.
· Breve historia (origen y versiones).
· Variables y Tipos de Datos.
· Estructuras de Decisión.
· Ciclos iterativos.
· Datos estructurados (vs. Clases).
· Introducción a la POO.
· Uso básico de la herramienta de desarrollo.
![Page 3: Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java](https://reader035.vdocuments.pub/reader035/viewer/2022070416/5665b4921a28abb57c92481a/html5/thumbnails/3.jpg)
Ivette C. Martínez - Héctor Palacios
Breve Historia
Java fue diseñado en 1990 por James Gosling, de Sun Microsystems Fue diseñado antes de que diese comienzo la
era World Wide Web. Software para dispositivos electrónicos:
calculadoras, microondas y la televisión interactiva.
Lenguaje que independiente de la plataforma
![Page 4: Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java](https://reader035.vdocuments.pub/reader035/viewer/2022070416/5665b4921a28abb57c92481a/html5/thumbnails/4.jpg)
Ivette C. Martínez - Héctor Palacios
Breve Historia
El objetivo fue crear un nuevo lenguaje de programación lo más sencillo posible, con el objeto de que se pudiese adaptar con facilidad a cualquier entorno de ejecución.
Se conjuntaron las características esenciales que debía tener un lenguaje de programación moderno y potente.
![Page 5: Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java](https://reader035.vdocuments.pub/reader035/viewer/2022070416/5665b4921a28abb57c92481a/html5/thumbnails/5.jpg)
Ivette C. Martínez - Héctor Palacios
¿Por qué Java?
Portabilidad: tanto del código fuente como del “bytecode”.Más soporte en el lenguaje. Una amplia librería de Clases.Manejo de Errores.No usa apuntadores. (garbage collection)El manejo de threads es parte del lenguaje.Carga dinámica del las clases y una “caja” segura para le ejecución de código remoto.
![Page 6: Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java](https://reader035.vdocuments.pub/reader035/viewer/2022070416/5665b4921a28abb57c92481a/html5/thumbnails/6.jpg)
Ivette C. Martínez - Héctor Palacios
¿Qué es Java?
“ Es un lenguaje simple, orientado a Objetos, Distribuido, interpretado, robusto, seguro, de arquitectura neutral, portable, de alto rendimiento, multihilos, y dinámico”
- Sun
![Page 7: Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java](https://reader035.vdocuments.pub/reader035/viewer/2022070416/5665b4921a28abb57c92481a/html5/thumbnails/7.jpg)
Ivette C. Martínez - Héctor Palacios
¿Qué es Java?
Un lenguaje de Programación Definido por Gosling, Joy y Steele en la especificación
del lenguaje Java.
Una plataforma Una definición de una máquina virtual (JVM). Ambientes de ejecución para diferentes “hardwares”.
Una librería de clases Un conjunto estándar de APIs () : GUI,
almacenamiento de datos, E/S, redes, etc.
![Page 8: Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java](https://reader035.vdocuments.pub/reader035/viewer/2022070416/5665b4921a28abb57c92481a/html5/thumbnails/8.jpg)
Ivette C. Martínez - Héctor Palacios
Características
Simple
Seguro
Portable
Orientado a Objetos
Robusto
Multihilos
De Arquitectura neutral
Interpretado
Alto Rendimiento
Distribuido
Dinámico
![Page 9: Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java](https://reader035.vdocuments.pub/reader035/viewer/2022070416/5665b4921a28abb57c92481a/html5/thumbnails/9.jpg)
Ivette C. Martínez - Héctor Palacios
Caracteristicas (cont...)
Simple Fácil de aprender, sintaxis de C/C++, versión
simplificada de C++.
Seguro Los applets pueden ejecutarse sin temor a virus
o a la violación de acceso a información privada.
Portable Generación de código intermedio: Bytecode
![Page 10: Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java](https://reader035.vdocuments.pub/reader035/viewer/2022070416/5665b4921a28abb57c92481a/html5/thumbnails/10.jpg)
Ivette C. Martínez - Héctor Palacios
Caracteristicas (cont...)
Orientado a Objetos (Colocar ventajas)
![Page 11: Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java](https://reader035.vdocuments.pub/reader035/viewer/2022070416/5665b4921a28abb57c92481a/html5/thumbnails/11.jpg)
Ivette C. Martínez - Héctor Palacios
Caracteristicas (cont...)
Robusto Localización temprana de errores Minimización de errores comunes de programación. Verificaciones a tiempo de compilación y ejecución. Fuertemente tipado.
Multihilos Permite hacer programas que realicen varias cosas al
mismo tiempo. Facilita la creación de sistemas interactivos.
De Arquitectura neutral
![Page 12: Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java](https://reader035.vdocuments.pub/reader035/viewer/2022070416/5665b4921a28abb57c92481a/html5/thumbnails/12.jpg)
Ivette C. Martínez - Héctor Palacios
La plataforma Java
![Page 13: Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java](https://reader035.vdocuments.pub/reader035/viewer/2022070416/5665b4921a28abb57c92481a/html5/thumbnails/13.jpg)
Ivette C. Martínez - Héctor Palacios
La máquina Virtual Java (JVM)
Puede verse como una computadora abstracta que es definida por una especificación. Es una máquina imaginaria que se implementa por software .Podemos estar hablando de: La especificación abstracta. Una implementación concreta Una instancia de tiempo de ejecución
Sun publicó las especificaciones para la JVM para asegurar la portabilidad de las aplicaciones.
![Page 14: Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java](https://reader035.vdocuments.pub/reader035/viewer/2022070416/5665b4921a28abb57c92481a/html5/thumbnails/14.jpg)
Ivette C. Martínez - Héctor Palacios
La máquina Virtual Java
Cada aplicación Java se ejecuta dentro de una instancia de tiempo de aplicación de alguna implementación concreta para la especificación abstracta.
![Page 15: Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java](https://reader035.vdocuments.pub/reader035/viewer/2022070416/5665b4921a28abb57c92481a/html5/thumbnails/15.jpg)
Ivette C. Martínez - Héctor Palacios
La máquina Virtual Java
Código fuenteCódigo fuente
Compilador JavaCompilador Java
Byte-codesByte-codes
Win32 JVMWin32 JVM
Código máquinaWin32
Código máquinaWin32
Macintosh JVMMacintosh JVM UNIX JVMUNIX JVM
Código máquinaMacintosh
Código máquinaMacintosh
Código máquinaUNIX
Código máquinaUNIX
![Page 16: Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java](https://reader035.vdocuments.pub/reader035/viewer/2022070416/5665b4921a28abb57c92481a/html5/thumbnails/16.jpg)
Ivette C. Martínez - Héctor Palacios
El API de Java
Es una colección de “partes” de software que brindan al usuario “utilidades”. Ejm: GUI.
Está formado por librerías o paquetes relacionados.
![Page 17: Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java](https://reader035.vdocuments.pub/reader035/viewer/2022070416/5665b4921a28abb57c92481a/html5/thumbnails/17.jpg)
Ivette C. Martínez - Héctor Palacios
Un programa Simple
![Page 18: Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java](https://reader035.vdocuments.pub/reader035/viewer/2022070416/5665b4921a28abb57c92481a/html5/thumbnails/18.jpg)
Ivette C. Martínez - Héctor Palacios
Compilación y ejecución
HelloWorld.java javac HelloWorld.java
java HelloWorld HelloWorld.class
compilar
correr
bytecode
Codigo fuente
![Page 19: Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java](https://reader035.vdocuments.pub/reader035/viewer/2022070416/5665b4921a28abb57c92481a/html5/thumbnails/19.jpg)
Ivette C. Martínez - Héctor Palacios
Elementos del lenguaje
Declaraciones
Tipos de Datos
Operadores
Estructuras de control
Clases y Objetos
Paquetes
![Page 20: Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java](https://reader035.vdocuments.pub/reader035/viewer/2022070416/5665b4921a28abb57c92481a/html5/thumbnails/20.jpg)
Ivette C. Martínez - Héctor Palacios
Declaraciones
Declaración de Variables <tipo> <variable>; <tipo> <var1>, <var2>, ..., <varn>; <tipo> <var1> = <valor>;
Ejemplos int x,y,z; int x = 9; boolean terminar = false; Cliente = new Cliente();
![Page 21: Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java](https://reader035.vdocuments.pub/reader035/viewer/2022070416/5665b4921a28abb57c92481a/html5/thumbnails/21.jpg)
Ivette C. Martínez - Héctor Palacios
Asignaciones
Asignaciones <tipo> <variable> = <valor>; <tipo> <variable>;
<otras instrucciones>...<variable> = <valor>;
Ejemplo int x = 4; //Declaracion con asignación x = 9; //Se asume que x está definida c1 = new Cliente(); //Se asume que Cliente
//y c1 están definidos
![Page 22: Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java](https://reader035.vdocuments.pub/reader035/viewer/2022070416/5665b4921a28abb57c92481a/html5/thumbnails/22.jpg)
Ivette C. Martínez - Héctor Palacios
Tipos de Datos
Tipos primitivos: boolean true o false char unicode! (16 bits) byte entero de 8 bits con signo. short entero de 16 bits con signo. int entero de 32 bits con signo. long entero de 64 bits con signo. float,double IEEE 754 floating point
No es un int
![Page 23: Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java](https://reader035.vdocuments.pub/reader035/viewer/2022070416/5665b4921a28abb57c92481a/html5/thumbnails/23.jpg)
Ivette C. Martínez - Héctor Palacios
Otros tipos de datos.
Tipos compuestos Clases Arreglos
Los strings son soportados mediante una clase built-in class denominada String.
![Page 24: Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java](https://reader035.vdocuments.pub/reader035/viewer/2022070416/5665b4921a28abb57c92481a/html5/thumbnails/24.jpg)
Ivette C. Martínez - Héctor Palacios
Conversiones de tipos
Conversión entre los tipos enteros y punto flotante. Incluye char
No hay conversión automatica con el tipo boolean!Las conversiones se pueden forzar mediante una operación de casting – con la misma sintaxis de C/C++.
int i = (int) 1.345;
![Page 25: Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java](https://reader035.vdocuments.pub/reader035/viewer/2022070416/5665b4921a28abb57c92481a/html5/thumbnails/25.jpg)
Ivette C. Martínez - Héctor Palacios
Declaraciones y Convenciones
![Page 26: Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java](https://reader035.vdocuments.pub/reader035/viewer/2022070416/5665b4921a28abb57c92481a/html5/thumbnails/26.jpg)
Ivette C. Martínez - Héctor Palacios
Inicialización
![Page 27: Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java](https://reader035.vdocuments.pub/reader035/viewer/2022070416/5665b4921a28abb57c92481a/html5/thumbnails/27.jpg)
Ivette C. Martínez - Héctor Palacios
Alcances y Bloques
![Page 28: Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java](https://reader035.vdocuments.pub/reader035/viewer/2022070416/5665b4921a28abb57c92481a/html5/thumbnails/28.jpg)
Ivette C. Martínez - Héctor Palacios
Operadores
Asignación: =, +=, -=, *=, …
Numéricos: +, -, *, /, %, ++, --, …
Relacionales: ==. !=, <, >, <=, >=, …
Booleanos: &&, ||, !
De Bits: &, |, ^, ~, <<, >>, …
![Page 29: Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java](https://reader035.vdocuments.pub/reader035/viewer/2022070416/5665b4921a28abb57c92481a/html5/thumbnails/29.jpg)
Ivette C. Martínez - Héctor Palacios
Operadores de asignación
![Page 30: Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java](https://reader035.vdocuments.pub/reader035/viewer/2022070416/5665b4921a28abb57c92481a/html5/thumbnails/30.jpg)
Ivette C. Martínez - Héctor Palacios
Estructuras de Control
![Page 31: Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java](https://reader035.vdocuments.pub/reader035/viewer/2022070416/5665b4921a28abb57c92481a/html5/thumbnails/31.jpg)
Ivette C. Martínez - Héctor Palacios
Sentencias If
![Page 32: Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java](https://reader035.vdocuments.pub/reader035/viewer/2022070416/5665b4921a28abb57c92481a/html5/thumbnails/32.jpg)
Ivette C. Martínez - Héctor Palacios
El lazo While
![Page 33: Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java](https://reader035.vdocuments.pub/reader035/viewer/2022070416/5665b4921a28abb57c92481a/html5/thumbnails/33.jpg)
Ivette C. Martínez - Héctor Palacios
El lazo Do-While
![Page 34: Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java](https://reader035.vdocuments.pub/reader035/viewer/2022070416/5665b4921a28abb57c92481a/html5/thumbnails/34.jpg)
Ivette C. Martínez - Héctor Palacios
La sentencia Switch
![Page 35: Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java](https://reader035.vdocuments.pub/reader035/viewer/2022070416/5665b4921a28abb57c92481a/html5/thumbnails/35.jpg)
Ivette C. Martínez - Héctor Palacios
Comentarios
// comentario Los caracteres desde // hasta el final de la línea son ignorados./* comentario */Los caracteres entre /* y */ son ignorados/** comentario */Los caracteres entre /** y */son ignorados y se incluyen en la generación autómatica de la documentación.
![Page 36: Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java](https://reader035.vdocuments.pub/reader035/viewer/2022070416/5665b4921a28abb57c92481a/html5/thumbnails/36.jpg)
Ivette C. Martínez - Héctor Palacios
Identificadores
Nombre dado a una variable, un método o una clase.Comienzan con una letra Unicode (incluyendo _ and $) y seguido de letras y digitos.Pueden ser de cualquier longitud.Ejemplos: Apellido Hora $PorMenos
![Page 37: Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java](https://reader035.vdocuments.pub/reader035/viewer/2022070416/5665b4921a28abb57c92481a/html5/thumbnails/37.jpg)
Ivette C. Martínez - Héctor Palacios
Paquetes
Se usan para encapsular los datos de manera automática.
Los paquetes de clases se cargan con la palabra clave import. Ejemplo:
import java.Date;
import java.awt.*;
import miPaquete.miClase;
![Page 38: Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java](https://reader035.vdocuments.pub/reader035/viewer/2022070416/5665b4921a28abb57c92481a/html5/thumbnails/38.jpg)
Ivette C. Martínez - Héctor Palacios
Tipos de Clases en Java
abstract. Una clase abstracta no se instancia, sino que se utiliza como clase base para la herencia.
final. Una clase final se declara como la clase que termina una cadena de herencia.
public. Las clases public son accesibles desde otras clases, bien sea directamente o por herencia. Para acceder desde otros paquetes, primero tienen que ser importadas.
![Page 39: Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java](https://reader035.vdocuments.pub/reader035/viewer/2022070416/5665b4921a28abb57c92481a/html5/thumbnails/39.jpg)
Ivette C. Martínez - Héctor Palacios
Niveles de acceso a métodos y atributos
public. Cualquier clase desde cualquier lugar puede acceder a las variables y métodos.
protected o friendly. Sólo las subclases de la clase y nadie más pueden acceder a las variables y métodos.
Private. Las variables y métodos de instancia privados sólo pueden ser accedidos desde dentro de la clase.
![Page 40: Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java](https://reader035.vdocuments.pub/reader035/viewer/2022070416/5665b4921a28abb57c92481a/html5/thumbnails/40.jpg)
Ivette C. Martínez - Héctor Palacios
Ejemplo herencia
public class Articulo { // clase padre public float precio=0; ... public void setPrecio(float elPrecio) { precio = elPrecio; } ... public float getPrecio() { return precio; }} //los métodos y atributos de
Articulo son heredados a Pelicula public class Pelicula extends Articulo {// clase hijo
public void setDescripcion(String descrip) { descripcion = descrip; } ... public String getDescripcion() { return descripcion; }}