Apuntes Lenguaje Java

por Antonio Bel Puchol - antonio@abelp.net 

Estos apuntes del lenguaje Java son el guión estructurado de un curso de Introducción al Lenguaje Java. No son una referencia exahustiva del lenguaje sino que pretenden proporcionar una aproximación progresiva, partiendo de lo más elemental  e introduciendo los conceptos ordenadamente, apoyándose en lo anterior.

Están estructurados en forma de lecciones breves, que abarcan todos los aspectos del lenguaje en un nivel básico-medio. No se presuponen conocimientos de otros lenguajes de programación, aunque obviamente estar familiarizados con conceptos relativos a la programación como variables, algoritmos, objetos, etc. facilita mucho la tarea. Sin embargo, se ha evitado intencionadamente la referencia o la comparación con otros lenguajes, especialmente con C/C++ que tan presente está en muchos textos de Java. 

La primera parte de estos apuntes cubre todos los aspectos del lenguaje (Clases, Interfaces, herencia, control de flujo, tipos de datos, etc.). La segunda parte, actualmente en elaboración, trata materias de la API de Java, agrupándolos por temas (Entrada/Salida, Threads, applets, etc.).

Si prefieres descargar los apuntes completos para poderlos consultar sin estar conectado, puedes descargarlos aqui:

Antonio Bel Puchol - antonio@abelp.net 

 

Tabla de Contenido

1. Introducción   

1.1. Objetivos de diseño de Java
1.2. Características de Java
1.3. Qué incluye el J2SE (Java 2 Standard Edition)
1.4. Qué es el JRE (Java Runtime Environment)
1.5. Qué se necesita para empezar

2. Tipos, Valores y Variables   

2.1. Tipos
2.2. Tipos primitivos
2.3. Variables
2.4. Literales
2.5. Operaciones sobre tipos primitivos 

3. Métodos   

3.1. Declaración de métodos
3.2. El término void
3.3. Uso de métodos

4. Clases - Introducción   

4.1. Clases
4.2. Objetos, miembros y referencias
4.3. Conceptos básicos. Resumen

5. Clases - Constructores   

5.1. Noción de constructor
5.2. Constructor no-args.
5.3. Sobrecarga de constructores

6. Clases - Miembros estáticos   

6.1. Datos estáticos
6.2.Métodos estáticos
6.3. El método main
6.4. Inicializadores estáticos

7. Clases - Otros aspectos   

7.1. Inicialización de variables
7.2. Ambito de las variables
7.3. Recogida de basura
7.4. Sobrecarga de métodos
7.5. La referencia this
7.6. La referencia null
7.7. Ocultamiento de variables

8. Control de la Ejecución   

8.1. Resumen de operadores
8.2. Ejecución condicional
8.3. Iteraciones con while
8.4. Iteraciones con for
8.5. Evaluación múltiple
8.6. Devolución de control
8.7. Expresiones

9. Arrays   

9.1. Declaración y acceso
9.2. Arrays multidimensionales

10. Strings   

10.1. La clase String
10.2. Creación de Strings
10.3. Concatenación de Strings
10.4. Otros métodos de la clase String
10.5. La clase StringBuffer

11. Packages   

11.1. Cláusula package
11.2. Cláusula import
11.3. Nombres de los packages
11.4. Ubicación de los packages en el sistema de archivos

12. Compilación y ejecución de programas    

12.1. Creación y compilación de un programa Java
12.2. Ejecución de un programa Java
12.3. Archivos fuente (.java) y ejecutables (.class)

13. Modificadores de acceso    

13.1. Modificadores
13.2. Modificadores de acceso.
13.3. Modificadores de acceso para clases.
13.4. ¿Son importantes los modificadores de acceso?

14. Herencia - I

14.1. Introducción
14.2. Composición
14.2. Herencia
14.3. Redefición de métodos. El uso de super.
14.4. Inicialización de clases derivadas. 

15. Herencia - II

15.1. El modificador de acceso protected
15.2. Up-casting y Down-casting
15.3. Operador cast
15.4. La clase Object
15.5. La claúsula final
15.6. Herencia simple
 

16. Gestión de excepciones

16.1. Excepciones. Categorias.
16.2. Generación de excepciones.
16.3. Captura de excepciones.
16.4. Claúsula finally.

17. Clases envoltorio (Wrapper) 

17.1. Definición y uso de clases envoltorio
17.2. Resumen de métodos de Integer.

18. Clases abstractas 

18.1. Concepto
18.2. Declaración e implementación de métodos abstractos
18.3. Referencias y objetos abstractos

19. Interfaces 

19.1. Concepto de Interface
19.2. Declaración y uso
19.3. Referencias a Interfaces
19.4. Extensión de Interfaces
19.5. Agrupación de Constantes
19.6. Un ejemplo casi real

20. Clases embebidas (Inner classes) 

20.1. Concepto
20.2. Ejemplo

21. Comentarios, documentación y convenciones de nombres 

21.1 Comentarios
21.2. Comentarios para documentación
21.3. Una clase comentada
21.4 Convenciones de nombres

22. Introducción API   

22.1. Presentación API
22.2. Resumen del contenido

23. Threads I   

23.1. Qué es un thread.
23.2. La clase Thread
23.3. La interface Runnable.
23.4. El ciclo de vida de un Thread

24. Threads II   

24.1 Threads y prioridades
24.2 Sincronización de threads

  Antonio Bel Puchol - antonio@abelp.net