Ir al contenido principal

Java

Las nueve lecciones son una obra derivada de los apuntes de clase del Prof. Matías E. García —Introducción a la Programación Orientada a Objetos y Clase Teórica 1 a 7—, publicados en profmatiasgarcia.com.ar, y ampliada por Prof Mauro Bobyk. Licencia: CC BY-NC-SA 2.5 AR y CC BY-NC-SA 4.0.

El tema de recursividad y los ejercicios de matriz y de búsqueda en el vector de la lección 2, la sección Del problema al programa de la lección 1 y el ejercicio de la jerarquía de mamíferos de la lección 3 toman material del libro Java Básico para Aprendices —obra de M. J. Abanto Morales, K. M. Calla Vásquez, I. I. Pumacayo Palomino, J. L. Torres Rivera, E. Castañeda Núñez y N. L. Calla Vásquez, Editorial EIDEC, Colombia, 2021, ISBN 978-958-53018-8-7, doi.org/10.34893/hf6e-nj87—, publicado bajo licencia CC BY-NC 4.0; el texto, los ejemplos y los ejercicios de este curso están reescritos y ampliados por Prof Mauro Bobyk.

El curso

Java es un lenguaje que se apoya por completo en la programación orientada a objetos. No es un lenguaje al que se le pueda agregar el paradigma después: en Java todo el código vive dentro de clases, y un programa no es un conjunto de funciones sueltas que se llaman entre sí, sino un conjunto de objetos que se mandan mensajes.

Por eso este curso empieza donde empieza. La lección 1 no es Java: es el paradigma en el que Java está escrito. Antes de ver la sintaxis del lenguaje conviene tener claro qué es un objeto, qué es una clase, qué diferencia hay entre las dos cosas y cuáles son las herramientas del modelo —abstracción, encapsulamiento, relaciones, herencia y polimorfismo—. Recién con eso encima la lección 2 empieza con Java propiamente dicho, y lo que sigue es ver ese mismo paradigma aplicado a problemas cada vez más grandes: ordenar el código, manejar errores, guardar datos, atender varios pedidos a la vez y, al final, publicar una aplicación en la web.

Antes de empezar

Para escribir y ejecutar los programas del curso hacen falta dos cosas, y las dos son gratis:

  • El JDK (Java Development Kit). Es el paquete que trae la máquina virtual, el compilador y las bibliotecas. Conviene una versión LTS: la 25 o la 21. La página Java del anexo explica de dónde bajarlo, cómo se instala en Windows y en GNU/Linux, qué diferencia hay entre el JDK y el JRE, y cómo comprobar que quedó funcionando.
  • Un editor o un IDE. Con un editor de texto común y la terminal se puede programar, y al principio está bien: ayuda a ver que compilar y ejecutar son dos pasos distintos. Cuando los proyectos empiezan a tener varias clases y archivos conviene un IDE, y para Java el clásico es NetBeans. Las instrucciones están en la misma página del anexo. También sirve Visual Studio Code con el paquete de extensiones de Java.

Las lecciones se pueden leer sin tener nada instalado —el material es teórico—, pero los ejercicios piden escribir código y ejecutarlo. Conviene instalar antes de arrancar: comprobar que java -version y javac -version responden la misma versión es el primer paso de la lección 2.

Las nueve lecciones

El recorrido tiene nueve paradas. La primera es el paradigma; las ocho siguientes son Java, desde la sintaxis básica hasta una aplicación web publicada en un servidor.

Cómo se estudia

Tres cosas que hacen la diferencia, y que salen de cómo está armado el material:

  1. Leer con el editor abierto. Las lecciones tienen código, y el código se entiende escribiéndolo. Lo que aparece en las páginas es para copiar, ejecutar y después romper a propósito para ver qué error da.
  2. No saltear la lección 1. Es la que tiene menos código y la que más se nota después. Los problemas de las lecciones 5 y 8 —diseño, herencia, polimorfismo, mapeo de objetos— son problemas de objetos, no de sintaxis.
  3. Hacer los ejercicios. Cada lección termina con una lista. Están pensados para resolverse con lo que se vio en esa página y nada más; al final de cada una están las respuestas posibles, para comparar después de intentarlo, no antes.

Los apuntes que sirven de base están pensados como presentaciones de clase, así que el texto de este sitio los despliega: agrega los ejemplos, los diagramas y las aclaraciones que en una diapositiva se dicen de viva voz y no quedan escritas.