Documente Academic
Documente Profesional
Documente Cultură
Qu
es?
! Ordenador
! Mquina
virtual
! Arquitectura
del
! Programacin
Introduccin
a
Java
ordenador
! SoNware
estructurada
! Programacin
orientada
a
Curso
de
Programacin
en
Java
objetos
! Programar
! Aplicacin
Web
! Lenguaje
de
programacin
Jess
Montes
Snchez
! Terminal
(smbolo
de
jmontes@.upm.es
! C,
C++,
Java
sistema)
! Compilador
! IDE
Contenidos
! Origen,
caracters\cas
y
evolucin
de
Java
Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es) Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es)
1
18/01/12
Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es) Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es)
Especicacin
Implantacin Anlisis
Validacin Diseo
Programacin
Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es) Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es)
Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es) Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es)
2
18/01/12
! Depura
00111101010111000101110001110001
! Localiza
y
corrige
errores
! Documenta
Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es) Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es)
Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es) Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es)
Codicacin,
compilacin,
enlazado
y
ejecucin
Lenguajes
de
alto
nivel
! Codicacin
! C
! Escritura
del
programa
! Creado
de
1972
por
Dennis
M.
Ritchie
! Compilacin
y
enlazado
! De
alto
nivel,
pero
muy
relacionado
con
las
funcionalidades
bsicas
de
la
mquina
(de
forma
abstracta)
! Traduccin
del
programa
a
lenguaje
mquina
! Ideal
para
la
programacin
de
sistemas
opera\vos,
sistemas
ejecutable
empotrados,
dirvers
! Depende
de
la
mquina
! Muy
eciente
! En
teora,
portable
siempre
que
se
disponga
de
un
compilador
de
! Ejecucin
C
para
la
arquitectura
des\no
! Puesta
en
funcionamiento
del
programa
resultante
Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es) Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es)
3
18/01/12
Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es) Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es)
Java
Java
! Filoso^a
write
once,
run
anywhere
(se
escribe
una
vez
y
se
! Lenguaje
simple
y
sencillo,
basado
en
C++
ejecuta
en
todas
partes)
! De
alto
nivel
! Programacin
orientada
a
objetos
! Incorpora
un
amplio
conjunto
de
bibliotecas
! Uso
fcil,
robusto
y
eciente
en
entornos
distribuidos
(aplicaciones
web)
! Facilita
la
ges\n
de
errores
(ges\n
autom\ca
de
memoria,
control
de
denicin
de
\pos)
Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es) Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es)
Java
Java
// Esto es un comentario de una linea
! Se
ejecuta
sobre
una
aplicacin
llamada
Mquina
Virtual
(JVM)
/*
! Abstrae
las
caracters\cas
especcas
del
hardware
Esto es un comentario de
multiples lineas
! Facilita
la
portabilidad
de
cdigo
*/
// Clase holaMundo
! Portable
a
cualquier
arquitectura
en
la
que
exista
la
JVM
public class holaMundo {
! Hoy
en
da,
muy
orientado
al
mudo
web
/* El metodo main es el punto de comienzo del programa */
public static void main(String[] args) {
! Potencialmente
menos
eciente
que
C/C++
System.out.println("Hola mundo");
}
! SoNware
libre
y
abierto
}
Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es) Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es)
4
18/01/12
Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es) Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es)
Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es) Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es)
Evolucin
de
Java
! Sep\embre
de
2004:
J2SE
1.5
! Plan\llas
! Metaprogamacin
! Varargs
(argumentos
variables)
Temario
del
curso
! Diciembre
de
2006:
J2SE
1.6
Java
6
! Combinacin
con
otros
lenguajes
dinmicos
(PHP,
Python)
! Cliente
de
Servicios
Web
! Mejorar
en
GUI
y
rendimiento
de
la
JVM
5
18/01/12
Temario
Temario
! Mdulo
1:
Introduccin
a
Java
(5
horas)
! Mdulo
3:
Programacin
orientada
a
objetos
en
Java
(35
horas)
! Nociones
bsicas
! Mdulo
2:
Programacin
Java
(35
horas)
! Declaracin
de
clases
y
concepto
de
herencia.
Clases
e
interfaces
! Introduccin
a
la
programacin.
Secuencia
de
ejecucin
de
un
! Elementos
del
lenguaje
orientadas
a
la
ges\n
de
clases
e
programa
interfaces
! Declaracin
de
variables
y
su
uso
en
sentencias
aritm\cas
y
lgicas
! Empaquetado
de
clases
y
organizacin
de
un
proyecto
completo
! Programacin
de
mtodos,
denicin
y
llamada
de
los
mismos
! Mdulo
Extra:
Repaso
de
los
fundamentos
de
java
(15
horas)
! Estructuras
de
control,
bucles
y
evaluacin
de
condiciones
! Programacin
bsica
! Tipos
de
datos
bsicos,
uso
de
la
clase
String
y
otras
clases
! Programacin
orientada
a
objetos
sencillas
! Otros
aspectos
de
la
sintaxis
de
Java
Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es) Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es)
Temario
Temario
! Mdulo
4:
Interfaces
Grcas
de
Usuario
(75
horas)
! Mdulo
5:
Paquete
de
U\lidades
Java
(27.5
horas)
! Programacin
basada
en
eventos
! Visin
general
del
paquete
java.u\l.
Reu\lizacin
de
cdigo
y
uso
! Componentes
bsicos
de
los
interfaces
de
usuario,
ventanas,
de
\pos
abstractos
campos
de
texto
y
cuadros
de
dilogo.
Java
AWT
! Tipos
de
datos
para
almacenamiento
de
otros
elementos.
Clase
! Manejadores
de
eventos
y
acciones
Object
! Despliegue
de
componentes,
organizadores
de
elementos
grcos
! Clases
de
u\lidad
para
la
ges\n
del
\empo
! Componentes
grcos
extendidos,
clases
Java
Swing
! Clases
de
u\lidad
para
la
organizacin
de
aplicaciones
complejas
! Modelo
Vista-Controlador
! Entornos
grcos
de
desarrollo.
Desarrollo
de
aplicaciones
profesionales
Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es) Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es)
Temario
Temario
! Mdulo
6:
Ges\n
de
Ficheros
(32.5
horas)
! Mdulo
8:
Aspectos
Avanzados
de
Java
(30
horas)
! Entrada/Salida
en
Java.
Concepto
de
stream
o
ujo
de
entrada/ ! Comunicacin
de
aplicaciones
Java
va
RMI
salida
! Extensiones
mul\media
de
Java.
Manipulacin
de
imagen
vdeo
y
! Clases
Java
asociadas
a
la
manipulacin
de
directorios
y
cheros
audio
! Ges\n
de
errores
por
medio
de
excepciones
! Presentacin
de
las
tecnologas
Java
avanzadas:
Jini,
JNI,
EJB,
JDBC
! Mdulo
7:
Desarrollo
de
Aplicaciones
Web
en
Java
(15
horas)
! Conceptos
generales
del
desarrollo
de
aplicaciones
sobre
Internet
! Mdulo
9:
Sensibilizacin
medioambiental
(10
horas)
! Programacin
de
applets.
Caracters\cas
y
restricciones
de
seguridad
Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es) Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es)
6
18/01/12
! Estndar
! Reu\lizacin
! No
reinventa
la
rueda
! Robusto
! U\liza
las
bibliotecas
! Legible
! Permite
reaprovechar
el
cdigo
! Matenible
Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es) Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es)
! Robusto
! Tolerar
los
errores
de
otros
y
no
errar
l
Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es) Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es)
7
18/01/12
! Datos
! Informacin
que
el
programa
recibe,
maneja
y
devuelve
! Las
estructuras
de
datos
facilitan
su
manejo
Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es) Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es)
Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es) Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es)
Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es) Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es)
8
18/01/12
Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es) Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es)
Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es) Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es)
Caf
Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es) Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es)
9
18/01/12
Entorno
de
trabajo
! Conjunto
de
herramientas
que
usamos
para
desarrollar
soNware
! Herramientas
de
diseo
asis\do
! Editores
Entorno
de
trabajo
! Compiladores
! Depuradores
!
Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es) Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es)
Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es) Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es)
10
18/01/12
Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es) Introduccin a Java - Jess Montes Snchez (jmontes@.upm.es)
11