Publicado el 15 de Septiembre del 2018
12.295 visualizaciones desde el 15 de Septiembre del 2018
6,3 MB
601 paginas
Creado hace 12a (04/09/2012)
programación en
00_Joyanes Preliminares.indd I
00_Joyanes Preliminares.indd I
12/5/11 12:49:55
12/5/11 12:49:55
00_Joyanes Preliminares.indd 2
16/5/11 13:43:17
n
n e
c i ó
a m a
r
g
o
r
p
r i e
r i o
n o
a
u
c i ó
a m a
s
e u
a d
r
o
g
fi c
r
á
s , p
z g
r
r i t m o
a
f
r
e
t
o
A l g
e i n
s
o
t
b j e
a a o
d
a
t
n
s
o
t i c
o
r m á
a
c
n
s
o
t
a
e D
a d
z
u
t
n
r
c
a
e
t í n
c
u
r
t
s
a l a m a
g
u il a
s A
e
e m a
t
s y S i s
e S
t ifi c i a d
o M
r
e
n
o
c i ó
a m a
t ifi c i a d
r
f
s I n
a l a m a
r
a
n y E
e S
h
r
g
n
o
o
r
d P
y
a
n
a j e
o
n
g
n
u
d P
a
c i o Z
e P
o d
d
a
s i d
r
e
a
u i s J o
L
e
e L
o d
s i d
r
n i v
e
t i c
U
I g
s
r A
o
n
a
c i a
n i v
o
U
á
s
r
d
e
t
e
f
o
r
C
a
P
MÉXICO • BOGOTÁ • BUENOS AIRES • CARACAS • GUATEMALA • MADRID • NUEVA YORK
SAN JUAN • SANTIAGO • SÃO PAULO • AUCKLAND • LONDRES • MILÁN • MONTREAL
NUEVA DELHI • SAN FRANCISCO • SINGAPUR • ST. LOUIS • SIDNEY • TORONTO
00_Joyanes Preliminares.indd III
00_Joyanes Preliminares.indd III
12/5/11 12:49:55
12/5/11 12:49:55
Director General México: Miguel Ángel Toledo Castellanos
Editor sponsor: Pablo Eduardo Roig Vázquez
Coordinadora editorial: Marcela I. Rocha Martínez
Editora de desarrollo: Karen Estrada Arriaga
Supervisor de producción: Zeferino García García
ProGraMaCión En Java 6. algoritmos, programación orientada a objetos
e interfaz gráfica de usuarios
Primera edición
Prohibida la reproducción total o parcial de esta obra,
por cualquier medio, sin la autorización escrita del editor.
DERECHOS RESERVADOS © 2011, respecto a la primera edición por
McGRAW-HILL/INTERAMERICANA EDITORES, S.A. DE C.V.
A Subsidiary of The McGraw-Hill Companies, Inc.
Prolongación Paseo de la Reforma 1015, Torre A,
Piso 17, Colonia Desarrollo Santa Fe,
Delegación Álvaro Obregón,
C.P. 01376, México, D. F.
Miembro de la Cámara Nacional de la Industria Editorial Mexicana, Reg. Núm. 736
iSBn: 978-607-15-0618-4
1234567890
Impreso en México
1098765432101
Printed in Mexico
00_Joyanes Preliminares.indd 4
13/5/11 11:59:44
CONTENIDO
Prólogo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XIX
Agradecimientos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXV
capítulo 1
Introducción a la programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Breve historia de las computadoras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.1.1 Generación de computadoras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.2 Organización y componentes de una computadora . . . . . . . . . . . . . . . . . . . .
4
1.2.1 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
1.2.2 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
1.3 Sistema operativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
1.4 Lenguaje de computadora . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
11
1.4.1 Unidades de medida de memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.2
Representación de la información en las computadoras
(códigos de caracteres) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5.1 Lenguaje ensamblador (assembly language) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5.2 Lenguaje de programación de alto nivel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5.3 El caso la máquina virtual Java (JVM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
1.5 Lenguajes de programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
14
14
15
1.6 Internet y la web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.7 La revolución Web 2.0 y cloud computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
18
18
19
1.8 Web semántica y Web 3.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.9 Java como lenguaje y plataforma de programación . . . . . . . . . . . . . . . . . . . . 20
1.10 Historia de Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
22
Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.7.1 Los social media . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.7.2 Desarrollo de programas web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.7.3 Cloud computing (computación en nube) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.10.1 Características de Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
capítulo 2
Metodología de programación, creación
y desarrollo de programas en Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.1 Resolución de problemas con Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
00_Joyanes Preliminares.indd V
00_Joyanes Preliminares.indd V
12/5/11 12:49:57
12/5/11 12:49:57
VI CONTENIDO
2.3.1 Programación estructurada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.2 Programación orientada a objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1 Análisis del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.2 Diseño del algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.3 Codificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.4 Compilación-interpretación de un programa en Java . . . . . . . . . . . . . . . . . . .
2.1.5 Verificación y depuración de un programa Java . . . . . . . . . . . . . . . . . . . . . . . .
2.1.6 Documentación y mantenimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
27
29
30
31
31
2.2 Creación de un programa en Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.3 Metodología de la programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
34
35
2.4 Metodología de desarrollo basada en clases . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.5 Entornos de programación en Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
38
2.6 Entornos de desarrollo integrado (EDI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
40
40
41
41
41
2.7 Compilación sin entornos de desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Conceptos clave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Glosario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.6.1 Herramientas para desarrollo en Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.6.2 NetBeans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.6.3 Eclipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.6.4 BlueJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.6.5 Otros entornos de desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.1 El kit de desarrollo Java: JDK 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
capítulo 3
3.1.1 Declaración import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.2 Declaración de clases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.3 Método main() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.4 Métodos definidos por el usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.5 Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Elementos básicos de Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.1 Estructura general de un programa en Java . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
48
49
50
51
52
3.2 Elementos de un programa en Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
54
56
56
3.3 Tipos de datos en Java . .
Comentarios de: Programación en java 6: Algoritmos, programación orientada a objetos e interfaz gráfica de usuarios (1)