Programación. 2ª Edición (CFGS)
()
About this ebook
A lo largo de diez unidades, el lector encontrará un enfoque didáctico que combina teoría clara con_x000D_ una amplia variedad de ejemplos resueltos, actividades guiadas y ejercicios prácticos, lo que facilita la_x000D_ asimilación progresiva de los contenidos._x000D_ _x000D_
Entre los temas tratados destacan:_x000D_ • Los fundamentos de Java y su sintaxis._x000D_
• Tipos de datos, operadores, estructuras de control, arrays y colecciones._x000D_
• Programación orientada a objetos: clases, herencia, encapsulación y polimorfismo._x000D_
• Desarrollo de interfaces gráficas con Swing y JavaFX._x000D_
• Gestión de eventos, creación de interfaces de usuario y trabajo con archivos._x000D_
• Acceso a bases de datos mediante JDBC y consultas SQL._x000D_
• Propuestas de ampliación y desafíos finales para reforzar y extender el aprendizaje._x000D_ _x000D_
Gracias a su estilo accesible, su orientación práctica y su estructura clara y gradual, esta obra se_x000D_ convierte en una herramienta imprescindible para quienes buscan dominar la programación con Java_x000D_ de forma sólida, estructurada y orientada a aplicaciones reales._x000D_ _x000D_
? Disponible también la obra complementaria con la guía didáctica y las soluciones a todos los_x000D_ ejercicios propuestos, publicada bajo el ISBN 9791387764692. Ideal para docentes, formadores y_x000D_ estudiantes autodidactas que deseen profundizar en su proceso de aprendizaje._x000D_
Related to Programación. 2ª Edición (CFGS)
Programming For You
Fundamentos De Programación Rating: 5 out of 5 stars5/5Curso básico de Python: La guía para principiantes para una introducción en la programación con Python Rating: 0 out of 5 stars0 ratingsEl gran libro de Python Rating: 5 out of 5 stars5/5JavaScript: Guía completa Rating: 4 out of 5 stars4/5Algoritmos Genéticos con Python: Un enfoque práctico para resolver problemas de ingeniería Rating: 5 out of 5 stars5/5Ortografía para todos: La tabla periódica de la ortografía Rating: 5 out of 5 stars5/5Arduino. Trucos y secretos.: 120 ideas para resolver cualquier problema Rating: 5 out of 5 stars5/5VBA Excel Guía Esencial Rating: 5 out of 5 stars5/5GuíaBurros Microsoft Excel: Todo lo que necesitas saber sobre esta potente hoja de cálculo Rating: 4 out of 5 stars4/5Aprender PHP, MySQL y JavaScript Rating: 5 out of 5 stars5/5Aprender React con 100 ejercicios prácticos Rating: 0 out of 5 stars0 ratingsInteligencia artificial para programadores con prisa Rating: 5 out of 5 stars5/5Controles PLC con Texto Estructurado (ST): IEC 61131-3 y la mejor práctica de programación ST Rating: 3 out of 5 stars3/5Bases de Datos con MySQL Rating: 4 out of 5 stars4/5Algoritmos a Fondo - Con implementaciones en c y java Rating: 5 out of 5 stars5/5Diseño y construcción de algoritmos Rating: 4 out of 5 stars4/5Tablas dinámicas para todos. Desde simples tablas hasta Power-Pivot: Guía útil para crear tablas dinámicas en Excel Rating: 0 out of 5 stars0 ratingsArduino para Principiantes Rating: 4 out of 5 stars4/5Aprende programación Python: python, #1 Rating: 0 out of 5 stars0 ratingsAprende a Programar en C++ Rating: 5 out of 5 stars5/5Aprende a programar: Crea tu propio sitio web Rating: 4 out of 5 stars4/5Introducción al Machine Learning con MATLAB Rating: 0 out of 5 stars0 ratingsPython para filósofos Rating: 3 out of 5 stars3/5Lógica de programación Rating: 0 out of 5 stars0 ratingsAprender a programar con Excel VBA con 100 ejercicios práctico Rating: 5 out of 5 stars5/5Aprendizaje automático y profundo en python: Una mirada hacia la inteligencia artificial Rating: 0 out of 5 stars0 ratingsPython a fondo Rating: 5 out of 5 stars5/5HTML para novatos Rating: 5 out of 5 stars5/5
Reviews for Programación. 2ª Edición (CFGS)
0 ratings0 reviews
Book preview
Programación. 2ª Edición (CFGS) - Mª Isabel Barquilla
Primeros Pasos en Java. Instalación de un IDE
Programa y lenguajes de programación
Definición de programa
Un programa es una serie de órdenes o instrucciones con una finalidad concreta de realizar una función determinada.
Todos conocemos o ejecutamos algún programa como: editores de texto, navegadores, juegos, reproductores de música, etc. Normalmente, cuando queremos ejecutar un programa se lo indicamos al sistema con un doble clic sobre él o ejecutando comandos desde un intérprete de comandos o consola. Los programas están en binario (lenguaje máquina), que es el lenguaje que entiende el ordenador, pero el programador usará para hacer los programas un lenguaje entendible por los humanos (lenguaje de alto nivel) que luego se traducirá al lenguaje que entiende el ordenador mediante otros programas llamados compiladores o intérpretes.
El código fuente es el que escribe el programador que luego se compila a código máquina. Compilar es transformar el programa que entiende el programador al programa que entiende la máquina. El código fuente se escribe en un lenguaje de programación y el compilador lo transforma en lenguaje máquina (binario).
Los compiladores son programas específicos para un lenguaje de programación. No se puede compilar un programa escrito en lenguaje Java en un compilador de C porque éste no lo entendería.
El lenguaje máquina que genera Java es un lenguaje intermedio interpretable por la máquina virtual de Java instalada en el ordenador donde se va a ejecutar. Una máquina virtual es una máquina ficticia que traduce las instrucciones máquina ficticia en instrucciones para la máquina real. Su ventaja es que los programas en Java se pueden ejecutar en cualquier ordenador que tenga instalada la máquina virtual de Java. Los programas no cambian, cambia la máquina virtual dependiendo del hardware.
Compiladores e intérpretes
Los compiladores traducen un programa completo escrito en un lenguaje de programación a código máquina. Los intérpretes leen línea a línea el código fuente y lo ejecutan. Este proceso es más lento y requiere tener cargado en memoria el intérprete. Su ventaja está en la depuración y corrección de errores del programa que es más sencilla que en los compiladores.
El lenguaje Java
Java es uno de los lenguajes más utilizados en la actualidad. Es un lenguaje de propósito general y es usado como el lenguaje de Internet para hacer Applets, Servlets, páginas JSP, o JavaScript.
Su éxito está en que es un lenguaje multiplataforma, es decir, sirve para cualquier sistema operativo y cualquier hardware. Java utiliza una máquina virtual en el sistema destino lo que significa que no hace falta recompilar de nuevo las aplicaciones en cada sistema operativo. Java es un lenguaje interpretado que usa un código intermedio (bytecode) independiente de la arquitectura y por lo tanto puede ser ejecutado en cualquier sistema.
Como se ve en las figuras anteriores, en Java, una vez compilado el programa, se puede ejecutar en cualquier plataforma que tenga instalada la máquina virtual de Java. En otros lenguajes compilados como C++ se debe recompilar el programa para cada sistema destino.
Por tanto, Java es un compilador y a la vez un intérprete. El compilador compila a bytecode y el intérprete ejecuta ese código intermedio en la máquina real.
Razones para aprender Java: su presente y su futuro. Es un lenguaje sencillo .Es un lenguaje orientado a objetos. Es independiente de la plataforma.
Mecanismo de creación de un programa en Java
En este aspecto la principal originalidad de Java estriba en que es a la vez compilado e interpretado. Con el compilador de Java, el programa fuente con extensión .java es traducido a un lenguaje intermedio o pseudocódigo (no es código máquina) llamado Java bytecode generándose un programa compilado almacenado en un archivo con extensión class. Este archivo puede ser posteriormente interpretado y ejecutado por el intérprete de Java (lo que se conoce como la Máquina Virtual Java o Java Virtual Machine). Por eso Java es multiplataforma, ya que existe un intérprete para cada máquina diferente. Por tanto, la compilación se produce una vez y la interpretación cada vez que el programa se ejecuta. Este proceso se esquematiza en la siguiente figura.
El JDK
El JDK (Java Development Kit) no contiene herramientas gráficas para desarrollar programas pero sí contiene aplicaciones de consola y herramientas de compilación, documentación y depuración. El JDK incluye el JRE (Java Runtime Environment) que consta de los componentes mínimos para ejecutar una aplicación Java, como son la máquina virtual y las librerías de clases.
Herramientas de consola del JDK:
● java. Es la máquina virtual de Java.
● javac. Compilador de Java.
● javap. Desensamblador de clases.
● jdb. Depurador de consola de Java. javadoc. Generador de documentación.
● appletviewer. Visor de Applets. (componente de una aplicación que se ejecuta en el contexto de otro programa, por ejemplo un navegador web)
ACTIVIDAD TP1: vamos a utilizar el JDK que viene instalado en Linux
Abrimos un terminal y editamos el archivo HolaMundo.java
Tecleamos el código:
Y a continuación compilamos utilizando el comando javac nomfich.java y ejecutamos con el comando java nomfich:
Los programas en Java
Los programas o aplicaciones en Java se componen de una serie de ficheros .class (ficheros en bytecode) que contienen las clases del programa. Estos ficheros no tienen por qué estar en la misma carpeta, pueden estar en carpetas diferentes o incluso en varias máquinas.
La aplicación se ejecuta desde el método principal o main( ) situada en una clase. A partir de ahí se van creando objetos a partir de las clases y se va ejecutando la aplicación. El main( ) es un método estático que puede crear objetos, incluidos los de su propia clase (ya veremos esto más adelante).
Estructura y bloques fundamentales de un programa
Veamos nuestro sencillo programa en Java y comentaremos cada una de sus líneas:
public class HolaMundo {
/* programa holamundo*/
public static void main(String[] args) {
/* lo único que hace este programa es mostrar la cadena Hola Mundo
por pantalla*/
System.out.println("Hola Mundo");
}
}
En Java generalmente cada clase es un fichero distinto. Si hay varias clases en un fichero, la clase que tiene el mismo nombre que el del fichero debe llevar el modificador public (public class holamundo) y es la que se puede utilizar desde fuera del fichero. Las clases tienen el mismo nombre que su fichero .java y es importante que mayúsculas y minúsculas coincidan pues Java distingue entre las mayúsculas y las minúsculas.
La clase abarca desde la primera llave que abre { hasta la última que cierra }.
public class HolaMundo {
………
}
A continuación viene una línea que es un comentario:
/* programa holamundo*/
Existen comentarios de una sola línea que se indican con dos barras a derecha seguidas (// ) y comentarios de varias líneas indicados como en el ejemplo (/*……-varias líneas……….*/).
La función o método main( ):
public static void main(String[] args) {
………..
}
El código Java en las clases se agrupa en métodos o funciones. Cuando Java va a ejecutar el código de una clase, busca el método main de dicha clase.
El método main tiene las siguientes particularidades:
● Es público (public) para poder llamarlo desde cualquier lado.
● Es estático (static) por ello se le puede llamar sin instanciar la clase.
● No devuelve ningún valor (void).
● Admite unos parámetros (String [ ] arg) que en este ejemplo no se utilizan.
En el ejemplo, el método main abarca el código contenido entre las llaves. A continuación viene una línea que es un comentario de dos líneas:
/* lo único que hace este programa es mostrar la
cadena Hola Mundo
por pantalla */
Por último se mostrará un texto por pantalla ejecutando la siguiente línea: System.out.println("Hola Mundo");
Para sacar información por pantalla Java usa la clase System que puede ser llamada desde cualquier punto de un programa, que tiene un atributo out que a su vez tiene dos métodos muy utilizados: print( ) y println( ). La diferencia entre ellos es que el segundo añade un retorno de línea al texto introducido. La orden termina con ; (todas las ordenes en Java acaban en ; salvo los cierres de llaves que ya de por sí terminan la orden).
Entornos Integrados de Desarrollo
Un IDE o Entorno Integrado de Desarrollo es una herramienta con la cual se pueden desarrollar y probar proyectos en un lenguaje de programación determinado.
JDK
JDK (Java Development Kit) es el software necesario para poder desarrollar y ejecutar programas Java. También se denomina SDK (Standard Development Kit) o incluso J2SE (Java 2 plattform Standard Edition).
Para compilar y ejecutar Java no es necesario un IDE. Si configuramos de forma adecuada la variable de entorno PATH, bastará con ejecutar desde la línea de comandos en el directorio donde se encuentra la clase el fichero holamundo.java
y se mostrará la salida en la línea de comandos.
Los IDE lo que hacen es facilitar las tareas de edición, compilación y depuración de programas desde un entorno gráfico más amigable para los programadores.
Tipos de datos simples
Los tipos de datos se utilizan generalmente al declarar variables y son necesarios para que el intérprete o compilador conozca de antemano el tipo de información que va a contener una variable.
En la siguiente página se muestra una tabla con los tipos de datos básicos de Java:
¿Cómo se utilizan los tipos de datos?
A continuación, se muestran ejemplos de utilización de tipos de datos en la declaración de variables.
Constantes y literales
Constantes
Las constantes se declaran en mayúscula y las variables en minúscula (esto se hace como norma de estilo).
Las constantes se declaran siguiendo el siguiente formato:
final [static]
Donde el calificador final identificará que es una constante, la palabra static si se declara implica que sólo existirá una copia de esta constante en el programa aunque se declare varias veces, el tipo de datos de la constante seguido del nombre de la constante y por último el valor que toma.
● Ejemplo: final static double PI = 3.141592;
Las constantes se usan en valores de datos que no cambian (IVA, PI, etc.). Usando constantes nos aseguramos de que su valor no va a poder ser cambiado nunca. El uso de constantes también permite cambiar el valor de ese dato de forma centralizada en una sola línea de código (si queremos cambiar el valor del IVA se hará solamente en una línea en lugar de usarse su valor literal 18 en muchas partes del programa).
Literales
Un literal puede ser una expresión:
● De tipo de dato simple.
● El valor null.
● Un string o cadena de caracteres (por ejemplo Hola Mundo
).
Ejemplos de literales en Java pueden ser: ‘a’, 322, 3.1416, pi
, programación
.
Es un valor que se expresa a sí mismo. Es decir, se sabe por sí mismo a qué tipo de datos pertenece expresado de diversas maneras.
Literal entero
● En decimal (base 10): ejemplo: 21
● Octal (base 8): ejemplo: 025
● Hexadecimal (base 16): ejemplo: 0x03A
Por defecto el literal es int. Puede añadirse al final del mismo la letra L o l para indicar que el entero es considerado como long.
Literal real
● Parte entera, el punto decimal ( . ) y la parte fraccionaria ( Ej: 345.678 - 0.00056 ).
● notación exponencial o científica ( Ej: 3.45678e2 - 5.6e-4 )
Se puede poner una letra como sufijo:
● F o f Trata el literal como de tipo float.
● D o d Trata el literal como de tipo double.
Por defecto el literal es double. Si deseamos que se interprete como float debemos añadir el sufijo F
Literal carácter
● Un carácter entre comillas simples como ‘a’, ‘ñ’, ‘Z’, ‘p’, etc.
● El código Unicode del carácter: 97 es a, 65 es A.
● Entre comillas, anteponiendo la secuencia de escape ‘\’ si el código Unicode lo expresamos en octal: ’\141’ es ’a’, ’\101’ es ’A’.
● Entre comillas, anteponiendo la secuencia de escape ‘\u’ si el código Unicode lo expresamos en hexadecimal: ’\u0061’ es ’a’, ’\u0041’ es ’A’.
Existen unos caracteres especiales que se representan utilizando secuencias de escape:
● \’ Comilla simple
● \" Comillas dobles
● \\ Contrabarra
● \b Backspace
● \n Cambio de línea
● \r Retorno de carro
● \t Tabulador
● \f Salto de página
Literal booleano
Palabras reservadas true y false
● Ejemplo: boolean activado = false;
Literal Strings o cadena de caracteres
No forman parte de los tipos de datos elementales en Java
Encerrado entre comillas dobles ( " )
Ejemplo:
System.out.println(Primera línea\nSegunda línea del string
);
System.out.println(Hol\u0061
);
System.out.println("Escribe \\n y no saltes de línea");
Otros ejemplos:
// Decimal declaration and possible chars are [0-9]
int decimal = 495;
// HexaDecimal declaration starts with 0X or 0x
// and possible chars are [0-9A-Fa-f]
int hexa = 0X1EF;
// Octal declaration starts with 0 and possible chars are [0-7]
int octal = 0757;
// Binary representation starts with 0B or 0b
//and possible chars are [0-1]
int binary = 0b111101111;
// Si el número tiene formato de cadena,
// puede convertirlo a int usando el siguiente
String text = 0b111101111
;
int value =
text.toLowerCase().startsWith(0b
) ? Integer.parseInt(text.substring(2), 2): Integer.decode(text);
Variables
Una variable es una zona de memoria donde se puede almacenar información del tipo que desee el programador.
En java las variables se pueden declarar, indicándole al compilador que se debe reservar espacio en memoria para almacenar la variable e inicializar su valor por separado.
int x;
x = 10;
O bien en una sola instrucción:
int x = 10;
Palabras clave: son las órdenes del lenguaje de programación. El compilador espera esos identificadores para comprender el programa, compilarlo y ejecutarlo. No pueden usarse palabras clave para nombrar variables en los programas ni tampoco caracteres especiales de los operadores.
Ejemplos de palabras clave: boolean, double, long, int, private, etc.
Java hace distinción entre mayúsculas y minúsculas:
● Var1, Var1 y VAR1 son distintos.
● La longitud máxima de los identificadores es prácticamente ilimitada.
● No puede ser una palabra reservada del lenguaje ni los valores lógicos true o false.
● No pueden ser iguales a otro identificador declarado en el mismo ámbito.
● Debe empezar por una letra y seguir con una sucesión de letras y dígitos. Se considera letra caracteres latinos, hebreos, cirílicos, etc… También ‘$’ (no utilizar) y ‘_’ (subrayado ).
● No pueden utilizarse espacios en blanco ni símbolos coincidentes con operadores.
Convención:
● Los nombres de las variables y los métodos deberían empezar por una letra minúscula y los de las clases por mayúscula.
● Si el identificador está formado por varias palabras, la primera se escribe en minúsculas (excepto para las clases) y el resto de las palabras se empiezan por mayúscula.
Veamos un ejemplo:
public class Suma {
public static void main(String[] args) {
int n1=0, n2 = 30, suma = 0; // variables locales
suma = n1+n2;
System.out.println("LA SUMA ES:" + suma);
}
}
Las variables se declaran dentro de un bloque (un bloque es el contenido entre las llaves {……}) y son accesibles solo dentro del bloque.
La variable n1 es miembro de la clase suma, la variable n2 y suma pertenecen al método main y solo pueden usarse dentro de main. Las variables declaradas en el bloque de código de un método son variables que se crean cuando el bloque se declara, y se destruyen cuando finaliza la ejecución de dicho bloque.
Las variables miembros de una clase se inicializan por defecto ( a 0 las numéricas, a ‘\0’ los caracteres y a null las referencias a objetos y cadenas) mientras que las variables locales no se inicializan por defecto.
Una variable local no puede declararse como static.
Visibilidad y vida de las variables
Visibilidad, scope o ámbito de una variable es la parte del código de una aplicación donde la variable es accesible y puede utilizarse. En Java las variables no pueden declararse fuera de una clase.
Es decir, se llama ámbito de una variable a la parte del programa en la que es conocida y se puede utilizar
● Una variable local se declara dentro del cuerpo de un método de una clase y es visible únicamente dentro de dicho método.
● Se puede declarar en cualquier lugar del cuerpo, incluso después de instrucciones ejecutables, aunque es una buena costumbre declararlas justo al principio.
● También pueden declararse variables dentro de un bloque entre llaves { … }
● Sólo serán visibles
dentro de dicho bloque.
● Las variables definidas en un bloque deben tener nombres diferentes.
Generalmente, en Java, todas las variables dentro de un bloque son visibles y existen dentro de dicho bloque. Las funciones miembro de una clase, podrán acceder a todas las variables miembro de dicha clase pero no a las variables locales de otra función miembro.
Modificaciones de variables
Las variables se pueden modificar mediante indicadores.
● Public: la clase o variable de instancia es accesible desde todos los ámbitos.
● Protected: la clase o variable de instancia es accesible solo en el ámbito actual de la clase, el ámbito del paquete actual y todas las subclases de la clase actual.
● Private: la clase o variable de instancia es accesible solo en el ámbito actual de la clase. Final La variable es una constante, de modo que su valor no se puede modificar.
● Static: la variable es una variable de clase, compartida entre todos los objetos instancia de una clase.
● Transient: se declara que no es parte de un estado persistente del objeto.
● Volatile: la palabra clave volatile, hace referencia a concurrencia. Esta palabra clave es útil cuando existen muchos hilos tratando de leer el valor de una variable. Cuando una variable es marcada como volatile, el valor de esa variable es escrita y es leída desde la memoria principal. Para entender un poco el concepto es necesario tener claro algunas cosas.
Cuando se trabaja con hilos, usualmente cada hilo hace una copia de la variable a leer en su cache, cada hilo tiene una memoria cache que usa por performance, es más rápido y menos costoso. Pero el tener esto local, cuando muchos hilos trabajan sobre la misma variable, suelen ocurrir errores en cuanto a consistencia de la información.
NOTA
Las keyword o palabras clave transient y volatile solo se aplican a variables de instancia. NO se puede aplicar a métodos, clases o variables locales (dentro de un método).
Operadores y expresiones
Operadores aritméticos
Los operadores aritméticos son utilizados para realizar operaciones matemáticas.
En el siguiente ejemplo se observa el uso de operadores aritméticos:
int n1 = 2, n2;
n2 = n1 * n1; // n2 = 4
n2 = n2 – n1 // n2 = 2
n2 = n2 + n1 + 15; // n2 = 19
n2 = n2 / n1 // n2 = 9
n2 = n2 % n1 // n2 = 1
Operadores relacionales
Los operadores relacionales se usan para evaluar la igualdad y la magnitud. En la siguiente tabla, A y B son los operandos y los operadores relacionales tienen los resultados siguientes:
En el siguiente ejemplo se observa el uso de operadores relacionales:
int m = 2, n = 5;
boolean res;
res = m > n; // res = false
res = m < n; // res = true
res = m >= n; // res = false
res = m <= n; // res = true
res = m == n; // res = false
res = m != n; // res = true
Operadores lógicos
Los operadores lógicos se usan para realizar operaciones lógicas (AND, OR, NOT XOR lógico). En la siguiente tabla, se puede ver su uso:
Veamos algún ejemplo:
int m = 2, n = 5;
boolean res;
res = m > n && m >= n;; // res = false
res =!( m < n || m != n); // res = false
Operadores unitarios o unarios
Los operadores unitarios actúan sobre un solo operando.
En el siguiente ejemplo se observa el uso de operadores unitarios:
int m = 2, n = 5;
m ++; // m = 3
n--; // n = 4
Operadores de bits
Veamos algún ejemplo:
int num = 5;
num = num << 1; // num = 10, equivale a num = num * 2
num = num >> 1; // num = 5, equivale a num = num / 2
Operadores de asignación
Veamos algún ejemplo:
int num = 5;
num += 5; // num = 10, equivale a num = num +5
Precedencia de operadores
La precedencia de operadores se resume en la siguiente tabla:
Podemos usar paréntesis para dejar los programas más legibles y controlar las operaciones sin depender de la precedencia.
Supongamos que tenemos el siguiente código:
int a = 4;
a = 5 * a + 3; // a = 5 * 4 + 3 = 23
Conversiones de tipo (cast)
Existan dos tipos de conversiones, las explícitas y las implícitas.
Conversiones implícitas. Se realizan de forma automática entre los tipos de datos diferentes. Requiere que la variable destino (la colocada a la izquierda) tenga más precisión que la variable origen (la situada a la derecha).
byte dato1 = 3; short dato2 = 5;
dato2 = dato1; /* la variable dato2 contendrá el 5 con 16 bits en dato1 el 5 sólo tenía 8 bits */
Conversiones explícitas. En este caso el programador es quien fuerza la conversión mediante una operación llamada cast con el siguiente formato:
Veamos un ejemplo:
int idato = 5;
byte bdato;
bdato = (byte)idato;
System.out.println(bdato); // sacara 5 por pantalla
ACTIVIDAD GUIADA: instalación del entorno de desarrollo: INTELLIJ IDEA
Se va a utilizar la última versión de Java Además se utilizará el IDE Intellij IDEA Community junto a JavaFx y SceneBuilder.
Instalación de Java
En primer lugar, nos vamos a la página oficial de descargas para seleccionar la última
https://www.oracle.com/technetwork/es/java/javase/overview/index.htm
Y nos sale una pantalla como la siguiente:
Pulsamos el botón DOWNLOAD y nos aparecerá la pantalla típica de selección del jdk según el sistema operativo del que dispongamos.
Antes de lanzarnos como locos a instalar la última versión de Java, como JDK 24, es importante detenernos un momento y reflexionar sobre lo que realmente necesitamos en nuestro entorno de prácticas. Es natural pensar que lo más nuevo siempre es lo mejor, pero ya sabemos que, en el mundo del software, esto no siempre es así.
La versión 21 de Java es una versión LTS (Long-Term Support), lo que significa que está pensada para ser estable y recibir soporte y actualizaciones durante varios años. Esto nos garantiza que las herramientas funcionarán correctamente, que habrá menos errores inesperados y que podremos encontrar fácilmente documentación y ayuda si surge algún problema.
En cambio, las versiones como la JDK 24 ofrecen las últimas novedades y experimentos del lenguaje, pero su soporte es muy limitado en el tiempo y pueden aparecer incompatibilidades con otros programas o materiales que utilicemos en clase.
Por eso, antes de dejarnos llevar por la emoción de tener lo más nuevo, pensemos en la importancia de la estabilidad, la compatibilidad y el soporte. En la mayoría de los casos, especialmente en el ámbito educativo, lo más sensato es elegir una versión LTS como la JDK 21, que nos ofrece un entorno seguro y confiable para aprender y experimentar sin sobresaltos.
En nuestro caso pulsamos la pestaña Windows, cada uno que utilice la pestaña del sistema operativo de su