Java – Modulo 1
Introducción y Fundamentos del
lenguaje de programación Java
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.
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
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.
¿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.
¿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
¿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.
Características
Simple
Seguro
Portable
Orientado a Objetos
Robusto
Multihilos
De Arquitectura
neutral
Interpretado
Alto Rendimiento
Distribuido
Dinámico
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
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
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.
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.
La máquina Virtual Java
Código fuente
Compilador Java
Byte-codes
Win32 JVM
Código máquina
Win32
Macintosh JVM UNIX JVM
Código máquina
Macintosh
Código máquina
UNIX
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.
Compilación y ejecución
HelloWorld.java
javac HelloWorld.java
java HelloWorld HelloWorld.class
compilar
correr
bytecode
Codigo fuente
Elementos del lenguaje
Declaraciones
Tipos de Datos
Operadores
Estructuras de control
Clases y Objetos
Paquetes
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();
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
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
Otros tipos de datos.
Tipos compuestos
 Clases
 Arreglos
Los strings son soportados mediante una
clase built-in class denominada String.
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;
Operadores
Asignación: =, +=, -=, *=, …
Numéricos: +, -, *, /, %, ++, --, …
Relacionales: ==. !=, <, >, <=, >=, …
Booleanos: &&, ||, !
De Bits: &, |, ^, ~, <<, >>, …
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.
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
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;
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.
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.
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;
}
}

iNTRODUCCION AL LENGUAJE JAVA

  • 1.
    Java – Modulo1 Introducción y Fundamentos del lenguaje de programación Java
  • 2.
    Contenido · Características dellenguaje. · 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.
  • 3.
    Breve Historia Java fuediseñ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
  • 4.
    Breve Historia El objetivofue 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.
  • 5.
    ¿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.
  • 6.
    ¿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
  • 7.
    ¿Qué es Java? Unlenguaje 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.
  • 8.
    Características Simple Seguro Portable Orientado a Objetos Robusto Multihilos DeArquitectura neutral Interpretado Alto Rendimiento Distribuido Dinámico
  • 9.
    Caracteristicas (cont...) Simple  Fácilde 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
  • 10.
    Caracteristicas (cont...) Robusto  Localizacióntemprana 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
  • 11.
    La máquina VirtualJava (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.
  • 12.
    La máquina VirtualJava 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.
  • 13.
    La máquina VirtualJava Código fuente Compilador Java Byte-codes Win32 JVM Código máquina Win32 Macintosh JVM UNIX JVM Código máquina Macintosh Código máquina UNIX
  • 14.
    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.
  • 15.
    Compilación y ejecución HelloWorld.java javacHelloWorld.java java HelloWorld HelloWorld.class compilar correr bytecode Codigo fuente
  • 16.
    Elementos del lenguaje Declaraciones Tiposde Datos Operadores Estructuras de control Clases y Objetos Paquetes
  • 17.
    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();
  • 18.
    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
  • 19.
    Tipos de Datos Tiposprimitivos:  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
  • 20.
    Otros tipos dedatos. Tipos compuestos  Clases  Arreglos Los strings son soportados mediante una clase built-in class denominada String.
  • 21.
    Conversiones de tipos Conversiónentre 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;
  • 22.
    Operadores Asignación: =, +=,-=, *=, … Numéricos: +, -, *, /, %, ++, --, … Relacionales: ==. !=, <, >, <=, >=, … Booleanos: &&, ||, ! De Bits: &, |, ^, ~, <<, >>, …
  • 23.
    Comentarios // comentario Los caracteresdesde // 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.
  • 24.
    Identificadores Nombre dado auna 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
  • 25.
    Paquetes Se usan paraencapsular 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;
  • 26.
    Tipos de Clasesen 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.
  • 27.
    Niveles de accesoa 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.
  • 28.
    Ejemplo herencia public classArticulo { // 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; } }