PDF de programación - Notas de Introducción al Lenguaje de Programación Java

Imágen de pdf Notas de Introducción al Lenguaje de Programación Java

Notas de Introducción al Lenguaje de Programación Javagráfica de visualizaciones

Publicado el 15 de Enero del 2017
2.488 visualizaciones desde el 15 de Enero del 2017
733,7 KB
182 paginas
Creado hace 16a (10/01/2008)
Notas de Introducción al Lenguaje de

Programación Java

Jorge L. Ortega Arjona

Departamento de Matemáticas
Facultad de Ciencias, UNAM

Septiembre 2004

2

Índice general

1. Introducción

2. Programación Básica en Java

2.4. Tipos

2.1. Codificación Java . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1. Archivos .java . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
2.1.2. Comentarios
2.2.
Identificadores
. . . . . . . . . . . . . . . . . . . . . . . . . .
2.3. Valores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.1. Valores enteros . . . . . . . . . . . . . . . . . . . . . .
2.3.2. Valores de punto flotante
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
2.3.3. Valores booleanos
2.3.4. Valores caracter
. . . . . . . . . . . . . . . . . . . . .
2.3.5. Valores de cadenas de caracteres
. . . . . . . . . . . .
2.3.6. Valor nulo . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.1. Tipos Primitivos . . . . . . . . . . . . . . . . . . . . .
2.4.2. Tipos de Referencia . . . . . . . . . . . . . . . . . . .
2.4.3. Conversión Automática de Tipos . . . . . . . . . . . .
2.5. Entornos (Scope) . . . . . . . . . . . . . . . . . . . . . . . . .
2.6. Declaración de Variables . . . . . . . . . . . . . . . . . . . . .
Inicialización de Variables . . . . . . . . . . . . . . . . . . . .
2.7.
2.7.1. Variables de Clase e Instancia . . . . . . . . . . . . . .
2.7.2. Variables Parámetro . . . . . . . . . . . . . . . . . . .
2.7.3. Variables Parámetro de Manejo de Excepciones . . . .
2.7.4. Variables Locales . . . . . . . . . . . . . . . . . . . . .
2.7.5. Variables Finales . . . . . . . . . . . . . . . . . . . . .
2.8. Arreglos de Variables . . . . . . . . . . . . . . . . . . . . . . .
2.9. Expresiones Primarias . . . . . . . . . . . . . . . . . . . . . .
2.10. Operadores
. . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

7

11
11
11
11
16
17
17
17
18
18
19
19
20
20
21
21
23
24
26
26
27
27
27
28
30
34
37

. . . . . . . . . . .
2.10.1. Operadores de Incremento Posfijo
2.10.2. Operadores Unarios
. . . . . . . . . . . . . . . . . . .
2.10.3. El operador new . . . . . . . . . . . . . . . . . . . . .
2.10.4. El operador cast . . . . . . . . . . . . . . . . . . . . .
2.10.5. Operadores Artiméticos . . . . . . . . . . . . . . . . .
2.10.6. Operador concatenación de cadenas de caracteres . . .
2.10.7. Operadores de corrimiento . . . . . . . . . . . . . . . .
2.10.8. Operadores relacionales
. . . . . . . . . . . . . . . . .
2.10.9. Operadores Lógicos a bit
. . . . . . . . . . . . . . . .
2.10.10.AND y OR booleanos . . . . . . . . . . . . . . . . . .
2.10.11.Operador condicional
. . . . . . . . . . . . . . . . . .
2.10.12.Operadores de asignación . . . . . . . . . . . . . . . .
2.11. Enunciados . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.11.1. El enunciado if . . . . . . . . . . . . . . . . . . . . .
2.11.2. El enunciado switch . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.12.1. El ciclo while . . . . . . . . . . . . . . . . . . . . . . .
2.12.2. El ciclo do . . . . . . . . . . . . . . . . . . . . . . . . .
2.12.3. El ciclo for . . . . . . . . . . . . . . . . . . . . . . . .
2.13. Control de ejecución . . . . . . . . . . . . . . . . . . . . . . .
2.13.1. break . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.13.2. continue . . . . . . . . . . . . . . . . . . . . . . . . .
2.13.3. return . . . . . . . . . . . . . . . . . . . . . . . . . .

2.12. Ciclos

3. Programación Orientada a Objetos en Java

3.1. Clases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1. Declaración de clases . . . . . . . . . . . . . . . . . . .
3.1.2. Público, Privado y Protegido . . . . . . . . . . . . . .
3.1.3. Variables de Instancia . . . . . . . . . . . . . . . . . .
3.1.4. Variables Estáticas o de clase . . . . . . . . . . . . . .
3.1.5. Clases de alto nivel . . . . . . . . . . . . . . . . . . . .
3.1.6. Clases anidadas . . . . . . . . . . . . . . . . . . . . . .
3.1.7. Clases finales . . . . . . . . . . . . . . . . . . . . . . .
3.1.8. Clases abstractas . . . . . . . . . . . . . . . . . . . . .
3.2. Métodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.1. Declaración de Métodos . . . . . . . . . . . . . . . . .
3.2.2. Métodos Estáticos o de clase . . . . . . . . . . . . . .
3.2.3. Constructores . . . . . . . . . . . . . . . . . . . . . . .
3.2.4.
Inicializadores Estáticos . . . . . . . . . . . . . . . . .
3.2.5. this . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4

37
38
39
39
40
41
41
42
42
43
43
43
45
45
46
48
48
48
49
51
51
51
52

53
53
53
55
56
57
58
59
68
69
70
70
74
76
79
80

3.2.6. Redefinición de Métodos . . . . . . . . . . . . . . . . .
3.2.7. Métodos Finales
. . . . . . . . . . . . . . . . . . . . .
3.2.8. Expresiones de invocación a Métodos . . . . . . . . . .
3.2.9. Búsqueda de nombre modificado para miembros de

82
85
85

una clase

. . . . . . . . . . . . . . . . . . . . . . . . .
3.2.10. Métodos abstractos . . . . . . . . . . . . . . . . . . . .
3.2.11. Métodos heredados de la clase Object . . . . . . . . .

93
95
96
3.3. Herencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
3.3.1. Palabras Clave private, protected, y Herencia . . . 103
3.3.2. Constructores y Herencia . . . . . . . . . . . . . . . . 106

4. Tópicos Especiales en Java

109
4.1. Paquetes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
4.2.
Interfaces
. . . . . . . . . . . . . . . . 115
4.2.1. Declaración de Interfaces
4.2.2. implements . . . . . . . . . . . . . . . . . . . . . . . . 117
4.3. Excepciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
4.3.1. Clases de Excepción . . . . . . . . . . . . . . . . . . . 122
4.3.2. try, catch y finally . . . . . . . . . . . . . . . . . . 125
4.3.3. Propagación de Excepciones . . . . . . . . . . . . . . . 130
4.3.4. Declaración throws . . . . . . . . . . . . . . . . . . . 131
4.3.5. El enunciado throw . . . . . . . . . . . . . . . . . . . 135
. . . . . . . . . . . . . . . . . . 139
4.4.1. La clase Thread . . . . . . . . . . . . . . . . . . . . . 141
4.4.2. Métodos Sincronizados . . . . . . . . . . . . . . . . . . 145
4.4.3. El enunciado synchronized . . . . . . . . . . . . . . . 150
4.5. Ventanas (Windows) . . . . . . . . . . . . . . . . . . . . . . . 152
4.5.1. Un Programa Simple con Interfaz Gráfica . . . . . . . 153
4.5.2. Descripción de la Ventana . . . . . . . . . . . . . . . . 156
4.5.3. El Área de Dibujo . . . . . . . . . . . . . . . . . . . . 160
4.5.4. Entrada de Caracteres . . . . . . . . . . . . . . . . . . 166
4.5.5. Menúes, Archivos e Imágenes . . . . . . . . . . . . . . 171

4.4. Hebras de Control (Threads)

A. Entrada por Teclado

179
A.1. La clase KeyboardInput . . . . . . . . . . . . . . . . . . . . . 179

5

6

Capítulo 1

Introducción

Java es un lenguaje de programación de alto nivel, orientado a obje-
tos, multi-hebra, usado para escribir tanto programas autocontenidos como
“applets”, estos últimos como parte de los documentos HTML (hypertext
markup language) que se encuentran disponibles en páginas WWW. Los ap-
plets permiten a las páginas de red tener un contenido ejecutable accesible
con un navegador habilitado con Java.

Java tiene varias ventajas y características útiles para el programador:

Una vez que el compilador e intérprete de Java han sido portados
a una nueva plataforma, un programa Java puede ejecutarse en tal
plataforma sin cambios.

Java es un lenguaje fuertemente tipificado: el compilador hace varias
verificaciones, tal como comparar los tipos de los argumentos que se
pasan a los métodos para asegurar que se ajustan a los tipos de los
parámetros formales.

El intérprete hace muchas verificaciones durante el tiempo de ejecu-
ción, tal como asegurar que el índice de un arreglo no salga de sus
limites, o que una referencia a un objeto no sea nula.

No son posibles ni “fugas de memoria” (memory leak, un bloque de
memoria que todavía se considera reservado en memoria aun cuando
no haya referencias a él) ni “apuntadores colgantes” (dangling point-
ers, una referencia a un bloque de memoria que ha sido liberado), ya
que el recolector de basura (garbage collector) de Java recolecta toda
la memoria ocupada por objectos inalcanzables. No es necesario un
procedimiento free(), susceptible a errores.

7

No hay aritmética de apuntadores: las únicas operaciones permitidas
sobre las referencias a un objeto son asignación de otra referencia a
objeto y comparación con otra referencia. Por lo tanto, el programador
tiene menor posibilidad de escribir código susceptible a errores que
modifique un apuntador.

Java viene acompañado de una biblioteca de herramientas para la
creación de ventanas, conocida como AWT, que se utiliza por apli-
caciones y applets para la implementación de interfaces gráficas de
usuario.

Se encuentran disponibles muchos libros que describen el lenguaje Java

(y que se han usado como referencias para las presentes notas) como son:

1. The Java Programming Language.

Ken Arnold and James Gosling.
Addison-Wesley, 1996.

2. Java Essentials for C and C++ Programmers.

Barry Boone.
Addison-Wesley, 1996.

3. Core Java.

Gary Cornell and Cay S. Horstsmann.
Prentice-Hall, 1996.

4. Java in a Nutshell.

David Flanagan.
O’Reilly, 1996.

Varios vienen acompañados de un CD-ROM que contiene los ejemplos
de los programas del libro y una copia del Java Development Kit (JDK) de
Sun Microsystems. Más aun, el JDK y su documentación asociada pueden
obtenerse en forma gratuita en el sitio ftp.javasoft.com, mantenido por
JavaSoft, que es una subsidiaria de Sun Microsystems.

El JDK consiste de un compilador, un intérprete (JVM o Java Vir-
tual machine), y
  • Links de descarga
http://lwp-l.com/pdf1905

Comentarios de: Notas de Introducción al Lenguaje de Programación Java (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad