{"id":2029,"date":"2023-11-27T19:00:19","date_gmt":"2023-11-27T22:00:19","guid":{"rendered":"https:\/\/stackcodelab.com\/blog\/?p=2029"},"modified":"2023-11-27T19:00:20","modified_gmt":"2023-11-27T22:00:20","slug":"capitulo-1-introduccion-a-java-y-su-entorno-de-desarrollo","status":"publish","type":"post","link":"https:\/\/stackcodelab.com\/blog\/capitulo-1-introduccion-a-java-y-su-entorno-de-desarrollo\/","title":{"rendered":"Cap\u00edtulo 1: Introducci\u00f3n a Java y su entorno de desarrollo"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\"><a>1.1. \u00bfQu\u00e9 es Java?<\/a><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Breve historia de Java:<\/strong>&nbsp;Java es un lenguaje de programaci\u00f3n de prop\u00f3sito general desarrollado por James Gosling y su equipo en Sun Microsystems a mediados de la d\u00e9cada de 1990. La historia de Java se remonta a la necesidad de un lenguaje que pudiera ejecutarse en diversas plataformas de hardware y sistemas operativos. Aqu\u00ed hay un resumen de los hitos m\u00e1s destacados de la historia de Java:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>1991:<\/strong>&nbsp;El proyecto inicial de Java, conocido como \u00abOak,\u00bb se inicia en Sun Microsystems con el objetivo de desarrollar un lenguaje de programaci\u00f3n para dispositivos electr\u00f3nicos.<\/li>\n\n\n\n<li><strong>1995:<\/strong>&nbsp;Se lanza oficialmente Java 1.0. Esta fue la primera versi\u00f3n p\u00fablica de Java y marc\u00f3 el inicio de su popularidad. Java se promocion\u00f3 como \u00abWrite Once, Run Anywhere\u00bb (Escribe una vez, ejecuta en cualquier lugar) debido a su capacidad de portabilidad.<\/li>\n\n\n\n<li><strong>1996:<\/strong>&nbsp;Java 1.1 se lanza con mejoras y nuevas caracter\u00edsticas, lo que ampl\u00eda su utilidad en el desarrollo de aplicaciones empresariales.<\/li>\n\n\n\n<li><strong>2000:<\/strong>&nbsp;Sun Microsystems introduce la Plataforma Java 2, Edici\u00f3n Est\u00e1ndar (Java 2 SE), que incluye una amplia gama de bibliotecas y mejoras en el lenguaje.<\/li>\n\n\n\n<li><strong>2004:<\/strong>&nbsp;Java 5 (tambi\u00e9n conocido como Java 1.5) se lanza con caracter\u00edsticas importantes, como anotaciones y el sistema de tipo gen\u00e9rico.<\/li>\n\n\n\n<li><strong>2011:<\/strong>&nbsp;Oracle Corporation adquiere Sun Microsystems y se convierte en el mantenedor principal de Java.<\/li>\n\n\n\n<li><strong>2014:<\/strong>&nbsp;Se lanza Java 8, que presenta lambdas y Streams API, revolucionando la forma en que se escribe c\u00f3digo Java.<\/li>\n\n\n\n<li><strong>2017:<\/strong>&nbsp;Java 9 introduce el m\u00f3dulo del sistema, lo que facilita la modularizaci\u00f3n de las aplicaciones Java.<\/li>\n\n\n\n<li><strong>2020:<\/strong>&nbsp;Java 14 se lanza con caracter\u00edsticas como los registros y las expresiones switch mejoradas.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Caracter\u00edsticas clave de Java:<\/strong>&nbsp;Java se destaca por varias caracter\u00edsticas clave que lo han convertido en un lenguaje de programaci\u00f3n ampliamente utilizado en diversas \u00e1reas. Algunas de las caracter\u00edsticas m\u00e1s destacadas de Java incluyen:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Portabilidad:<\/strong>&nbsp;Como se mencion\u00f3 anteriormente, Java es conocido por su capacidad de ejecutarse en m\u00faltiples plataformas, ya que se compila en c\u00f3digo de bytes que se ejecuta en la M\u00e1quina Virtual de Java (JVM).<\/li>\n\n\n\n<li><strong>Orientaci\u00f3n a objetos:<\/strong>&nbsp;Java es un lenguaje orientado a objetos, lo que significa que todo en Java es un objeto. Esto facilita la creaci\u00f3n de programas estructurados y reutilizables.<\/li>\n\n\n\n<li><strong>Seguridad:<\/strong>&nbsp;Java pone un fuerte \u00e9nfasis en la seguridad. La JVM controla el acceso a recursos del sistema, lo que hace que Java sea adecuado para entornos donde la seguridad es una preocupaci\u00f3n importante, como aplicaciones web y m\u00f3viles.<\/li>\n\n\n\n<li><strong>Multihebraje:<\/strong>&nbsp;Java admite la programaci\u00f3n multihilo, lo que permite que las aplicaciones realicen tareas concurrentes de manera eficiente.<\/li>\n\n\n\n<li><strong>Rendimiento:<\/strong>&nbsp;Java ha evolucionado con el tiempo y se ha vuelto m\u00e1s eficiente en t\u00e9rminos de rendimiento. La introducci\u00f3n de caracter\u00edsticas como la gesti\u00f3n de memoria autom\u00e1tica (garbage collection) ha mejorado la eficiencia del lenguaje.<\/li>\n\n\n\n<li><strong>Amplia comunidad y bibliotecas:<\/strong>&nbsp;Java cuenta con una gran comunidad de desarrolladores y una amplia variedad de bibliotecas y frameworks que facilitan el desarrollo de aplicaciones de todo tipo.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">En resumen, Java es un lenguaje de programaci\u00f3n vers\u00e1til con una historia rica y caracter\u00edsticas que lo han convertido en una opci\u00f3n popular en el mundo de la programaci\u00f3n. Su portabilidad, orientaci\u00f3n a objetos y enfoque en la seguridad lo hacen especialmente adecuado para una amplia gama de aplicaciones, desde aplicaciones empresariales hasta desarrollo de juegos y aplicaciones m\u00f3viles.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a>1.2. Configuraci\u00f3n del entorno de desarrollo<\/a><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Una parte fundamental para comenzar a programar en Java es la configuraci\u00f3n del entorno de desarrollo. En este cap\u00edtulo, aprenderemos c\u00f3mo preparar tu sistema para desarrollar aplicaciones en Java.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Descarga e instalaci\u00f3n de la plataforma Java (JDK):<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Descarga del JDK:<\/strong>&nbsp;Para comenzar a programar en Java, necesitas el Kit de Desarrollo de Java (JDK). Puedes descargar la \u00faltima versi\u00f3n del JDK desde el sitio web oficial de Oracle o desde otras fuentes confiables.<\/li>\n\n\n\n<li><strong>Instalaci\u00f3n del JDK:<\/strong>&nbsp;Una vez que hayas descargado el JDK, sigue las instrucciones de instalaci\u00f3n espec\u00edficas de tu sistema operativo. Durante la instalaci\u00f3n, se configurar\u00e1n las rutas necesarias en tu sistema para acceder a las herramientas de desarrollo de Java.<\/li>\n\n\n\n<li><strong>Comprobaci\u00f3n de la instalaci\u00f3n:<\/strong>&nbsp;Despu\u00e9s de la instalaci\u00f3n, verifica que todo est\u00e9 configurado correctamente ejecutando el comando \u00abjava -version\u00bb en la l\u00ednea de comandos. Deber\u00edas ver informaci\u00f3n sobre la versi\u00f3n de Java instalada.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Configuraci\u00f3n de variables de entorno (PATH, JAVA_HOME):<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Variable PATH:<\/strong>&nbsp;La variable de entorno PATH debe incluir la ubicaci\u00f3n del directorio \u00abbin\u00bb del JDK. Esto permite que el sistema operativo acceda a las herramientas de Java (como \u00abjava\u00bb y \u00abjavac\u00bb) desde cualquier ubicaci\u00f3n en la l\u00ednea de comandos.<\/li>\n\n\n\n<li><strong>Variable JAVA_HOME:<\/strong>&nbsp;JAVA_HOME es otra variable de entorno que apunta al directorio ra\u00edz del JDK. Algunas aplicaciones y servidores de aplicaciones pueden requerir esta variable para funcionar correctamente.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">La configuraci\u00f3n de estas variables suele variar seg\u00fan el sistema operativo que est\u00e9s utilizando. En sistemas Windows, se realiza a trav\u00e9s de la configuraci\u00f3n de variables de entorno del sistema, mientras que en sistemas basados en Unix (como Linux o macOS), se suele hacer en el archivo \u00ab.bashrc\u00bb o \u00ab.bash_profile.\u00bb<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Uso de IDEs populares como Eclipse, NetBeans o IntelliJ IDEA:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Eclipse:<\/strong>&nbsp;Eclipse es un entorno de desarrollo integrado (IDE) ampliamente utilizado en el mundo Java. Es de c\u00f3digo abierto y ofrece muchas caracter\u00edsticas, como resaltado de sintaxis, depuraci\u00f3n, administraci\u00f3n de proyectos y soporte para complementos.<\/li>\n\n\n\n<li><strong>NetBeans:<\/strong>&nbsp;NetBeans es otro IDE gratuito y de c\u00f3digo abierto que es especialmente popular entre los desarrolladores de Java. Ofrece una interfaz de usuario intuitiva y herramientas poderosas para el desarrollo.<\/li>\n\n\n\n<li><strong>IntelliJ IDEA:<\/strong>&nbsp;IntelliJ IDEA, desarrollado por JetBrains, es un IDE comercial que se ha vuelto cada vez m\u00e1s popular debido a su enfoque en la productividad del desarrollador. Ofrece numerosas caracter\u00edsticas, refactorizaci\u00f3n de c\u00f3digo y soporte para una variedad de tecnolog\u00edas.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">En este cap\u00edtulo, aprender\u00e1s a instalar y configurar un IDE de tu elecci\u00f3n, seg\u00fan tus preferencias. Cada uno de estos IDEs tiene ventajas y desventajas, por lo que es importante probarlos para determinar cu\u00e1l se adapta mejor a tus necesidades y flujo de trabajo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La correcta configuraci\u00f3n del entorno de desarrollo es el primer paso para comenzar a escribir y ejecutar programas Java de manera efectiva, y la elecci\u00f3n de un IDE adecuado puede facilitar tu experiencia de desarrollo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a>1.3. Tu primer programa en Java<\/a><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Creaci\u00f3n de un programa \u00abHola Mundo\u00bb en Java:<\/strong>&nbsp;Para familiarizarte con la sintaxis y estructura b\u00e1sica de Java, comenzaremos con un programa \u00abHola Mundo\u00bb simple. Este programa mostrar\u00e1 el mensaje \u00abHola Mundo\u00bb en la pantalla. Aqu\u00ed est\u00e1 el c\u00f3digo en Java para lograrlo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public class HolaMundo {\r\n    public static void main(String&#91;] args) {\r\n        System.out.println(\"Hola Mundo\");\r\n    }\r\n}\r<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ahora, veamos una explicaci\u00f3n de este programa:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>public class HolaMundo<\/code>: Esta l\u00ednea declara una clase llamada \u00abHolaMundo\u00bb. En Java, cada programa comienza con al menos una clase y el nombre de la clase debe coincidir con el nombre del archivo fuente.<\/li>\n\n\n\n<li><code>public static void main(String[] args)<\/code>: Dentro de la clase \u00abHolaMundo\u00bb, tenemos un m\u00e9todo llamado \u00abmain\u00bb. El m\u00e9todo&nbsp;<code>main<\/code>&nbsp;es el punto de entrada de cualquier programa Java. El programa comienza a ejecutarse desde este m\u00e9todo.<\/li>\n\n\n\n<li><code>System.out.println(\"Hola Mundo\");<\/code>: Esta l\u00ednea imprime el mensaje \u00abHola Mundo\u00bb en la consola.&nbsp;<code>System.out<\/code>&nbsp;se refiere a la salida est\u00e1ndar, y&nbsp;<code>println<\/code>&nbsp;es un m\u00e9todo que imprime una l\u00ednea de texto seguida de un salto de l\u00ednea.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Explicaci\u00f3n de la estructura b\u00e1sica de un programa Java:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Los programas Java se organizan en clases. Cada programa debe contener al menos una clase.<\/li>\n\n\n\n<li>Cada programa Java debe tener un m\u00e9todo&nbsp;<code>main<\/code>, que es el punto de entrada para la ejecuci\u00f3n del programa.<\/li>\n\n\n\n<li>Las instrucciones en Java terminan con un punto y coma (;).<\/li>\n\n\n\n<li>Los bloques de c\u00f3digo se delimitan con llaves&nbsp;<code>{}<\/code>.<\/li>\n\n\n\n<li>Los comentarios se pueden agregar al c\u00f3digo para hacerlo m\u00e1s legible. Los comentarios de una sola l\u00ednea se hacen con&nbsp;<code>\/\/<\/code>, y los comentarios de m\u00faltiples l\u00edneas se hacen entre&nbsp;<code>\/*<\/code>&nbsp;y&nbsp;<code>*\/<\/code>.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez que hayas creado este programa \u00abHola Mundo\u00bb y entiendas su estructura, estar\u00e1s listo para comenzar a explorar m\u00e1s conceptos de programaci\u00f3n en Java, como variables, operadores, bucles y estructuras de control.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Este es solo el comienzo, y a medida que avances en tu aprendizaje, podr\u00e1s crear programas m\u00e1s complejos y funcionales en Java.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a>1.4. La m\u00e1quina virtual de Java (JVM)<\/a><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Concepto de la JVM y su papel en la ejecuci\u00f3n de programas Java:<\/strong>&nbsp;La M\u00e1quina Virtual de Java (JVM) es una parte fundamental del entorno de ejecuci\u00f3n de Java. Desempe\u00f1a un papel crucial en la ejecuci\u00f3n de programas Java al proporcionar un entorno de ejecuci\u00f3n independiente de la plataforma. A continuaci\u00f3n, se explican los conceptos clave:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Entorno de ejecuci\u00f3n independiente de la plataforma:<\/strong>&nbsp;La JVM act\u00faa como un intermediario entre el c\u00f3digo fuente Java y el sistema operativo subyacente. Cuando compilas un programa Java, el compilador convierte el c\u00f3digo fuente en un archivo binario especializado llamado \u00abbytecode\u00bb. La JVM es responsable de interpretar este bytecode y ejecutarlo en la plataforma de destino, lo que permite que los programas Java sean altamente port\u00e1tiles.<\/li>\n\n\n\n<li><strong>Just-In-Time Compilation (JIT):<\/strong>&nbsp;La JVM no solo interpreta el bytecode; tambi\u00e9n puede compilar parte del c\u00f3digo en c\u00f3digo nativo de la plataforma en tiempo de ejecuci\u00f3n. Esto se conoce como compilaci\u00f3n Just-In-Time (JIT). El JIT mejora significativamente el rendimiento de las aplicaciones Java, ya que el c\u00f3digo nativo se ejecuta m\u00e1s r\u00e1pido que el bytecode interpretado.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ventajas de la m\u00e1quina virtual:<\/strong>&nbsp;La M\u00e1quina Virtual de Java ofrece varias ventajas significativas:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Portabilidad:<\/strong>&nbsp;La capacidad de ejecutar programas Java en diferentes plataformas sin cambios en el c\u00f3digo fuente es una de las ventajas m\u00e1s notables. Esto se debe a que la JVM interpreta el bytecode y se encarga de las diferencias de plataforma.<\/li>\n\n\n\n<li><strong>Seguridad:<\/strong>&nbsp;La JVM proporciona mecanismos de seguridad que controlan el acceso a recursos del sistema y protegen contra amenazas como la ejecuci\u00f3n de c\u00f3digo malicioso.<\/li>\n\n\n\n<li><strong>Gesti\u00f3n de memoria:<\/strong>&nbsp;La JVM se encarga de la gesti\u00f3n de memoria, incluida la liberaci\u00f3n autom\u00e1tica de memoria no utilizada mediante la recolecci\u00f3n de basura (garbage collection), lo que simplifica el desarrollo y reduce los riesgos de fugas de memoria.<\/li>\n\n\n\n<li><strong>Rendimiento mejorado:<\/strong>&nbsp;Gracias a la compilaci\u00f3n JIT, la JVM puede mejorar el rendimiento de las aplicaciones Java, permitiendo que el c\u00f3digo se ejecute en lenguaje m\u00e1quina nativo.<\/li>\n\n\n\n<li><strong>Soporte para multihilo:<\/strong>&nbsp;La JVM brinda soporte integral para programaci\u00f3n multihilo, lo que facilita el desarrollo de aplicaciones concurrentes.<\/li>\n\n\n\n<li><strong>Interoperabilidad:<\/strong>&nbsp;Java se integra bien con otros lenguajes de programaci\u00f3n a trav\u00e9s de interfaces y bibliotecas, lo que permite a los desarrolladores combinar Java con otras tecnolog\u00edas seg\u00fan sea necesario.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">En resumen, la M\u00e1quina Virtual de Java es un componente clave que hace que Java sea un lenguaje poderoso y vers\u00e1til. Proporciona portabilidad, seguridad y mejoras de rendimiento, lo que lo convierte en una opci\u00f3n popular para el desarrollo de una amplia variedad de aplicaciones, desde aplicaciones web hasta aplicaciones m\u00f3viles y sistemas embebidos.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a>1.5. El ciclo de vida de una aplicaci\u00f3n Java<\/a><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Compilaci\u00f3n de c\u00f3digo fuente a bytecode:<\/strong>&nbsp;El ciclo de vida de una aplicaci\u00f3n Java implica varios pasos, y uno de los primeros es la compilaci\u00f3n del c\u00f3digo fuente en bytecode. Aqu\u00ed est\u00e1 c\u00f3mo funciona:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Escritura del c\u00f3digo fuente:<\/strong>&nbsp;Los programadores escriben el c\u00f3digo fuente de una aplicaci\u00f3n Java utilizando un editor de texto o un Entorno de Desarrollo Integrado (IDE).<\/li>\n\n\n\n<li><strong>Compilaci\u00f3n:<\/strong>&nbsp;Una vez que el c\u00f3digo fuente est\u00e1 escrito, se utiliza el compilador de Java (<code>javac<\/code>) para traducirlo a un formato intermedio llamado \u00abbytecode\u00bb. El bytecode es un conjunto de instrucciones que no se ejecuta directamente en la m\u00e1quina, pero es comprensible por la M\u00e1quina Virtual de Java (JVM).<\/li>\n\n\n\n<li><strong>Archivo de clase (.class):<\/strong>&nbsp;Despu\u00e9s de la compilaci\u00f3n, se generan archivos de clase con extensi\u00f3n \u00ab.class\u00bb. Cada archivo de clase contiene el bytecode correspondiente a una clase espec\u00edfica en el programa.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ejecuci\u00f3n de programas Java:<\/strong>&nbsp;Una vez que el c\u00f3digo fuente se ha compilado en bytecode, el proceso de ejecuci\u00f3n de programas Java incluye los siguientes pasos:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Carga de clases:<\/strong>&nbsp;Cuando ejecutas un programa Java, la JVM carga las clases necesarias en memoria desde los archivos de clase. Esto incluye la clase principal (que contiene el m\u00e9todo&nbsp;<code>main<\/code>) y cualquier otra clase que se utilice en el programa.<\/li>\n\n\n\n<li><strong>Verificaci\u00f3n:<\/strong>&nbsp;La JVM verifica que el bytecode sea seguro y cumpla con ciertas restricciones de seguridad. Esto es parte de las caracter\u00edsticas de seguridad de Java.<\/li>\n\n\n\n<li><strong>Ejecuci\u00f3n:<\/strong>&nbsp;Una vez que las clases se han cargado y verificado, la JVM comienza a ejecutar el programa. Comienza en el m\u00e9todo&nbsp;<code>main<\/code>&nbsp;de la clase principal y sigue las instrucciones definidas en el c\u00f3digo fuente.<\/li>\n\n\n\n<li><strong>Interpretaci\u00f3n o compilaci\u00f3n Just-In-Time (JIT):<\/strong>&nbsp;A medida que el programa se ejecuta, la JVM puede interpretar el bytecode o compilar partes del c\u00f3digo en c\u00f3digo nativo utilizando la t\u00e9cnica JIT. Esto mejora el rendimiento en tiempo de ejecuci\u00f3n.<\/li>\n\n\n\n<li><strong>Gesti\u00f3n de recursos:<\/strong>&nbsp;La JVM administra la memoria y los recursos del sistema durante la ejecuci\u00f3n del programa. Esto incluye la gesti\u00f3n de la memoria din\u00e1mica y la recolecci\u00f3n de basura para liberar memoria no utilizada.<\/li>\n\n\n\n<li><strong>Finalizaci\u00f3n:<\/strong>&nbsp;Una vez que el programa ha terminado de ejecutarse (por ejemplo, cuando el m\u00e9todo&nbsp;<code>main<\/code>&nbsp;llega al final o se llama expl\u00edcitamente a&nbsp;<code>System.exit()<\/code>), la JVM libera los recursos y finaliza la ejecuci\u00f3n.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">El ciclo de vida de una aplicaci\u00f3n Java demuestra c\u00f3mo el c\u00f3digo fuente se transforma en bytecode y c\u00f3mo la M\u00e1quina Virtual de Java (JVM) lo interpreta y ejecuta de manera eficiente. Esta abstracci\u00f3n entre el c\u00f3digo fuente y la plataforma subyacente es una de las razones por las que Java es tan port\u00e1til y vers\u00e1til.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a>1.6. Estructura de un programa Java<\/a><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Declaraci\u00f3n de clases, m\u00e9todos y variables:<\/strong>&nbsp;La estructura b\u00e1sica de un programa Java implica la declaraci\u00f3n de clases, m\u00e9todos y variables. A continuaci\u00f3n, se describen estos elementos clave:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Clases:<\/strong>&nbsp;En Java, un programa comienza con la declaraci\u00f3n de al menos una clase. Una clase es una plantilla que define el comportamiento y las propiedades de los objetos que se crear\u00e1n a partir de ella. La declaraci\u00f3n de una clase se ve as\u00ed:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>public class MiClase {\r\n    \/\/ C\u00f3digo de la clase va aqu\u00ed\r\n}\r<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>M\u00e9todos:<\/strong>\u00a0Los m\u00e9todos son funciones que se definen dentro de una clase y especifican el comportamiento de los objetos de esa clase. El m\u00e9todo\u00a0<code>main<\/code>\u00a0es el punto de entrada de un programa Java y se ve as\u00ed:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public static void main(String&#91;] args) {\r\n    \/\/ C\u00f3digo del m\u00e9todo main va aqu\u00ed\r\n}\r<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Variables:<\/strong>\u00a0Las variables se utilizan para almacenar datos en un programa Java. Pueden ser de diferentes tipos, como enteros, cadenas, booleanos, etc. La declaraci\u00f3n de variables se ve as\u00ed:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>int miEntero = 42;\r\nString miCadena = \"Hola, mundo\";\r\nboolean esVerdadero = true;\r<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Comentarios en Java:<\/strong>&nbsp;Los comentarios son anotaciones que se agregan al c\u00f3digo fuente para proporcionar informaci\u00f3n adicional y aclaraciones para los programadores. En Java, hay dos tipos principales de comentarios:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Comentarios de una sola l\u00ednea:<\/strong>&nbsp;Se crean utilizando&nbsp;<code>\/\/<\/code>. Los comentarios de una sola l\u00ednea se utilizan para explicar brevemente una l\u00ednea de c\u00f3digo. Por ejemplo:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>int x = 10; \/\/ Asignamos el valor 10 a la variable x<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Comentarios de m\u00faltiples l\u00edneas:<\/strong>\u00a0Se crean utilizando\u00a0<code>\/*<\/code>\u00a0para abrir el comentario y\u00a0<code>*\/<\/code>\u00a0para cerrarlo. Los comentarios de m\u00faltiples l\u00edneas son \u00fatiles para explicar secciones de c\u00f3digo m\u00e1s extensas o para desactivar temporalmente bloques de c\u00f3digo. Por ejemplo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/*\r\nEste es un comentario\r\nde m\u00faltiples l\u00edneas\r\nque abarca varias l\u00edneas de c\u00f3digo.\r\n*\/\r<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Los comentarios son importantes para documentar el c\u00f3digo y hacerlo m\u00e1s comprensible para otros programadores (o para ti mismo en el futuro). No afectan la ejecuci\u00f3n del programa y son ignorados por la JVM.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En resumen, la estructura de un programa Java involucra la declaraci\u00f3n de clases, m\u00e9todos y variables. Los comentarios son \u00fatiles para proporcionar informaci\u00f3n y aclaraciones adicionales en el c\u00f3digo fuente. Estos elementos son fundamentales para la organizaci\u00f3n y la legibilidad del c\u00f3digo Java.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a>1.7 Convenciones de nomenclatura en Java:<\/a><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Nombres de clases:<\/strong>&nbsp;Los nombres de clases deben comenzar con una letra may\u00fascula y seguir el estilo CamelCase, donde cada palabra en el nombre comienza con una letra may\u00fascula sin espacios. Por ejemplo: <code>MiClase<\/code>, <code>EmpleadoRegistrado<\/code>, <code>PersonaFisica<\/code>.<\/li>\n\n\n\n<li><strong>Nombres de m\u00e9todos:<\/strong>&nbsp;Los nombres de m\u00e9todos tambi\u00e9n deben comenzar con una letra min\u00fascula y seguir el estilo CamelCase. Deben ser descriptivos y reflejar la acci\u00f3n que realiza el m\u00e9todo. Por ejemplo: <code>calcularSalario()<\/code>, <code>obtenerNombre()<\/code>, <code>cambiarEstadoActivo()<\/code>.<\/li>\n\n\n\n<li><strong>Nombres de variables:<\/strong>&nbsp;Las variables siguen la misma regla de estilo CamelCase, pero comienzan con una letra min\u00fascula. Deben ser descriptivas y reflejar el prop\u00f3sito de la variable. Por ejemplo: <code>nombre<\/code>, <code>saldoCuenta<\/code>, <code>edadPersona<\/code>.<\/li>\n\n\n\n<li><strong>Nombres de constantes:<\/strong>&nbsp;Las constantes se escriben completamente en may\u00fasculas con palabras separadas por guiones bajos (underscores). Por ejemplo: <code>PI<\/code>, <code>TASA_INTERES_ANUAL<\/code>, <code>DIAS_EN_SEMANA<\/code>.<\/li>\n\n\n\n<li><strong>Nombres de paquetes:<\/strong>&nbsp;Los nombres de los paquetes (packages) deben ser en min\u00fasculas y deben seguir la convenci\u00f3n de usar una estructura jer\u00e1rquica inversa de dominio. Por ejemplo: <code>com.miempresa.miproducto<\/code>, <code>org.ejemplo.miproyecto<\/code>.<\/li>\n\n\n\n<li><strong>Nombres de interfaces y enumeraciones:<\/strong>&nbsp;Las interfaces y enumeraciones siguen las mismas reglas que las clases. Los nombres de interfaces tambi\u00e9n suelen comenzar con una letra may\u00fascula y son descriptivos. Por ejemplo: <code>Serializable<\/code>, <code>TipoAnimal<\/code>.<\/li>\n\n\n\n<li><strong>Nombres de variables locales:<\/strong>&nbsp;Las variables locales en un m\u00e9todo o bloque deben ser cortas y descriptivas. A menudo se usan letras min\u00fasculas y, si el nombre consta de m\u00faltiplas palabras, se separan con CamelCase o guiones bajos seg\u00fan la preferencia del programador.<\/li>\n\n\n\n<li><strong>Nombres de par\u00e1metros de m\u00e9todos:<\/strong>&nbsp;Los nombres de par\u00e1metros de m\u00e9todos deben ser descriptivos y seguir las mismas reglas que las variables locales. Deben indicar claramente su prop\u00f3sito.<\/li>\n\n\n\n<li><strong>Evitar caracteres especiales y palabras reservadas:<\/strong>&nbsp;Evita el uso de caracteres especiales y palabras reservadas de Java en los nombres de elementos. Por ejemplo, no uses nombres como&nbsp;<code>int<\/code>&nbsp;o&nbsp;<code>class<\/code>&nbsp;para variables o clases.<\/li>\n\n\n\n<li><strong>Legibilidad:<\/strong>&nbsp;Prioriza la legibilidad del c\u00f3digo. Es importante que otros programadores puedan entender f\u00e1cilmente tus nombres de clases, m\u00e9todos y variables. Usa nombres que reflejen claramente el prop\u00f3sito y la funcionalidad del elemento.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Seguir estas convenciones de nomenclatura en Java ayuda a crear un c\u00f3digo fuente m\u00e1s consistente y legible, lo que facilita la colaboraci\u00f3n en equipos de desarrollo y la comprensi\u00f3n del c\u00f3digo a lo largo del tiempo. Adem\u00e1s, seguir estas reglas es una buena pr\u00e1ctica en la comunidad de desarrollo de Java.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a>1.8. Resumen del cap\u00edtulo y ejercicios<\/a><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Repaso de los conceptos clave:<\/strong>&nbsp;En este cap\u00edtulo, hemos cubierto una serie de conceptos fundamentales para comenzar a programar en Java. Estos conceptos incluyen:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u00bfQu\u00e9 es Java y su historia?<\/li>\n\n\n\n<li>Configuraci\u00f3n del entorno de desarrollo, incluyendo la instalaci\u00f3n del JDK y la configuraci\u00f3n de variables de entorno.<\/li>\n\n\n\n<li>Creaci\u00f3n de programas Java, como el cl\u00e1sico \u00abHola Mundo.\u00bb<\/li>\n\n\n\n<li>Introducci\u00f3n a la M\u00e1quina Virtual de Java (JVM) y sus ventajas.<\/li>\n\n\n\n<li>Estructura b\u00e1sica de un programa Java, que incluye clases, m\u00e9todos y variables.<\/li>\n\n\n\n<li>Convenciones de nomenclatura para nombrar elementos en Java.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ejercicios para practicar:<\/strong>&nbsp;Ahora es el momento de aplicar lo que has aprendido. Aqu\u00ed tienes algunos ejercicios para practicar la creaci\u00f3n y ejecuci\u00f3n de programas Java b\u00e1sicos:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Crea un programa Java que imprima tu nombre en la consola.<\/li>\n\n\n\n<li>Escribe un programa que calcule el \u00e1rea de un tri\u00e1ngulo dado su base y altura. Pide al usuario que ingrese los valores.<\/li>\n\n\n\n<li>Crea un programa que convierta grados Celsius a grados Fahrenheit. Pide al usuario que ingrese la temperatura en grados Celsius y muestra el resultado en grados Fahrenheit.<\/li>\n\n\n\n<li>Desarrolla un programa que genere los primeros N n\u00fameros primos, donde N es un n\u00famero ingresado por el usuario.<\/li>\n\n\n\n<li>Crea un programa que simule un juego de adivinar un n\u00famero. Genera un n\u00famero aleatorio y pide al usuario que adivine el n\u00famero. Proporciona pistas sobre si el n\u00famero es mayor o menor.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Estos ejercicios te ayudar\u00e1n a consolidar tus conocimientos y ganar experiencia en la creaci\u00f3n de programas en Java. A medida que avanzas en tu aprendizaje, podr\u00e1s abordar desaf\u00edos m\u00e1s complejos y desarrollar aplicaciones m\u00e1s avanzadas. \u00a1No dudes en consultar la documentaci\u00f3n de Java y realizar investigaciones adicionales para ampliar tus habilidades de programaci\u00f3n en Java!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Este primer cap\u00edtulo sienta las bases para que los lectores comprendan los conceptos fundamentales de Java y c\u00f3mo comenzar a escribir y ejecutar programas en este lenguaje. A medida que avanzamos en los cap\u00edtulos, los lectores profundizar\u00e1n en aspectos m\u00e1s avanzados de la programaci\u00f3n en Java.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a>Respuesta ejercicio 1:<\/a><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A continuaci\u00f3n te mostrar\u00e9 el c\u00f3digo y los pasos necesarios para resolver el ejercicio 1, que consiste en crear un programa Java que imprima tu nombre en la consola. Aqu\u00ed est\u00e1 el c\u00f3digo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public class Saludo {\r\n    public static void main(String&#91;] args) {\r\n        \/\/ Paso 1: Declarar una clase llamada \"Saludo.\"\r\n        \r\n        \/\/ Paso 2: Declarar un m\u00e9todo \"main\" que es el punto de entrada del programa.\r\n        \r\n        \/\/ Paso 3: Dentro del m\u00e9todo \"main,\" usa System.out.println para imprimir tu nombre.\r\n        System.out.println(\"Mi nombre es &#91;Tu nombre aqu\u00ed]\");\r\n    }\r\n}\r<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ahora, desglosemos los pasos necesarios para resolver este ejercicio:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 1: Declarar una clase llamada \u00abSaludo.\u00bb<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>En Java, cada programa comienza con al menos una clase. En este caso, hemos declarado una clase llamada \u00abSaludo.\u00bb El nombre de la clase debe coincidir con el nombre del archivo fuente (sin la extensi\u00f3n \u00ab.java\u00bb).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 2: Declarar un m\u00e9todo \u00abmain\u00bb que es el punto de entrada del programa.<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hemos declarado un m\u00e9todo llamado \u00abmain\u00bb dentro de la clase \u00abSaludo.\u00bb El m\u00e9todo&nbsp;<code>main<\/code>&nbsp;es el punto de entrada de un programa Java y se ver\u00e1 exactamente as\u00ed. Es donde comienza la ejecuci\u00f3n del programa.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 3: Dentro del m\u00e9todo \u00abmain,\u00bb usa System.out.println para imprimir tu nombre.<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hemos utilizado&nbsp;<code>System.out.println<\/code>&nbsp;para imprimir un mensaje en la consola. En este caso, el mensaje es \u00abMi nombre es [Tu nombre aqu\u00ed].\u00bb Debes reemplazar \u00ab[Tu nombre aqu\u00ed]\u00bb con tu propio nombre.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez que hayas escrito este c\u00f3digo, puedes compilarlo y ejecutarlo para ver la salida en la consola. Aseg\u00farate de guardar el archivo con el nombre correcto, que en este caso debe ser \u00abSaludo.java\u00bb para que coincida con el nombre de la clase.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Luego, abre una terminal, navega al directorio donde guardaste el archivo y ejecuta los siguientes comandos:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>javac Saludo.java  \/\/ Compila el programa\r\njava Saludo        \/\/ Ejecuta el programa\r<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ver\u00e1s el mensaje \u00abMi nombre es [Tu nombre aqu\u00ed]\u00bb impreso en la consola, donde \u00ab[Tu nombre aqu\u00ed]\u00bb se reemplazar\u00e1 con tu nombre.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Este es un ejemplo simple de un programa Java que te permitir\u00e1 imprimir tu nombre en la consola. A medida que avances, podr\u00e1s trabajar en proyectos m\u00e1s complejos y funcionalidades m\u00e1s avanzadas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a>Respuesta ejercicio 2:<\/a><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A continuaci\u00f3n, te mostrar\u00e9 el c\u00f3digo y los pasos necesarios para resolver el ejercicio 2, que consiste en crear un programa Java que calcule el \u00e1rea de un tri\u00e1ngulo dada su base y altura. Aqu\u00ed est\u00e1 el c\u00f3digo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import java.util.Scanner;\r\n\r\npublic class CalculoAreaTriangulo {\r\n    public static void main(String&#91;] args) {\r\n        \/\/ Paso 1: Declarar una clase llamada \"CalculoAreaTriangulo.\"\r\n        \r\n        \/\/ Paso 2: Declarar un m\u00e9todo \"main\" que es el punto de entrada del programa.\r\n        \r\n        \/\/ Paso 3: Dentro del m\u00e9todo \"main,\" declara variables para la base y altura del tri\u00e1ngulo.\r\n        double base, altura;\r\n        \r\n        \/\/ Paso 4: Utiliza un objeto Scanner para obtener la entrada del usuario.\r\n        Scanner scanner = new Scanner(System.in);\r\n        \r\n        \/\/ Paso 5: Pide al usuario que ingrese la base y la altura del tri\u00e1ngulo.\r\n        System.out.print(\"Ingresa la longitud de la base del tri\u00e1ngulo: \");\r\n        base = scanner.nextDouble();\r\n        \r\n        System.out.print(\"Ingresa la altura del tri\u00e1ngulo: \");\r\n        altura = scanner.nextDouble();\r\n        \r\n        \/\/ Paso 6: Calcula el \u00e1rea del tri\u00e1ngulo (\u00c1rea = 0.5 * base * altura).\r\n        double area = 0.5 * base * altura;\r\n        \r\n        \/\/ Paso 7: Imprime el resultado en la consola.\r\n        System.out.println(\"El \u00e1rea del tri\u00e1ngulo es: \" + area);\r\n        \r\n        \/\/ Paso 8: Cierra el objeto Scanner.\r\n        scanner.close();\r\n    }\r\n}\r<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ahora, desglosemos los pasos necesarios para resolver este ejercicio:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 1: Declarar una clase llamada \u00abCalculoAreaTriangulo.\u00bb<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Al igual que en el ejercicio anterior, hemos declarado una clase llamada \u00abCalculoAreaTriangulo.\u00bb<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 2: Declarar un m\u00e9todo \u00abmain\u00bb que es el punto de entrada del programa.<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Tambi\u00e9n hemos declarado un m\u00e9todo&nbsp;<code>main<\/code>&nbsp;dentro de la clase \u00abCalculoAreaTriangulo.\u00bb El m\u00e9todo&nbsp;<code>main<\/code>&nbsp;es el punto de entrada del programa.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><br><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 3: Dentro del m\u00e9todo \u00abmain,\u00bb declara variables para la base y altura del tri\u00e1ngulo.<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hemos declarado dos variables,&nbsp;<code>base<\/code>&nbsp;y&nbsp;<code>altura<\/code>, para almacenar la longitud de la base y la altura del tri\u00e1ngulo.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 4: Utiliza un objeto Scanner para obtener la entrada del usuario.<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hemos creado un objeto&nbsp;<code>Scanner<\/code>&nbsp;que nos permite obtener la entrada del usuario desde la consola.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 5: Pide al usuario que ingrese la base y la altura del tri\u00e1ngulo.<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hemos utilizado el objeto&nbsp;<code>Scanner<\/code>&nbsp;para solicitar al usuario que ingrese la longitud de la base y la altura del tri\u00e1ngulo. Los valores ingresados se almacenan en las variables&nbsp;<code>base<\/code>&nbsp;y&nbsp;<code>altura<\/code>.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 6: Calcula el \u00e1rea del tri\u00e1ngulo (\u00c1rea = 0.5 * base * altura).<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hemos calculado el \u00e1rea del tri\u00e1ngulo utilizando la f\u00f3rmula del \u00e1rea, que es 0.5 * base * altura. El resultado se almacena en la variable&nbsp;<code>area<\/code>.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 7: Imprime el resultado en la consola.<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hemos utilizado&nbsp;<code>System.out.println<\/code>&nbsp;para imprimir el \u00e1rea calculada en la consola.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 8: Cierra el objeto Scanner.<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Es una buena pr\u00e1ctica cerrar el objeto&nbsp;<code>Scanner<\/code>&nbsp;una vez que hayas terminado de utilizarlo.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez que hayas escrito este c\u00f3digo, puedes compilarlo y ejecutarlo de la misma manera que se explic\u00f3 en el ejercicio 1. El programa pedir\u00e1 al usuario que ingrese la base y la altura del tri\u00e1ngulo y luego calcular\u00e1 y mostrar\u00e1 el \u00e1rea en la consola.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a>Respuesta ejercicio 3:<\/a><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A continuaci\u00f3n te mostrar\u00e9 el c\u00f3digo y los pasos necesarios para resolver el ejercicio 3, que consiste en crear un programa Java que convierta grados Celsius a grados Fahrenheit. Aqu\u00ed est\u00e1 el c\u00f3digo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import java.util.Scanner;\r\n\r\npublic class ConversionCelsiusFahrenheit {\r\n    public static void main(String&#91;] args) {\r\n        \/\/ Paso 1: Declarar una clase llamada \"ConversionCelsiusFahrenheit.\"\r\n        \r\n        \/\/ Paso 2: Declarar un m\u00e9todo \"main\" que es el punto de entrada del programa.\r\n        \r\n        \/\/ Paso 3: Dentro del m\u00e9todo \"main,\" declara variables para los grados Celsius y Fahrenheit.\r\n        double celsius, fahrenheit;\r\n        \r\n        \/\/ Paso 4: Utiliza un objeto Scanner para obtener la entrada del usuario.\r\n        Scanner scanner = new Scanner(System.in);\r\n        \r\n        \/\/ Paso 5: Pide al usuario que ingrese la temperatura en grados Celsius.\r\n        System.out.print(\"Ingresa la temperatura en grados Celsius: \");\r\n        celsius = scanner.nextDouble();\r\n        \r\n        \/\/ Paso 6: Realiza la conversi\u00f3n de grados Celsius a grados Fahrenheit (F = C * 9\/5 + 32).\r\n        fahrenheit = celsius * 9 \/ 5 + 32;\r\n        \r\n        \/\/ Paso 7: Imprime el resultado en la consola.\r\n        System.out.println(\"La temperatura en grados Fahrenheit es: \" + fahrenheit);\r\n        \r\n        \/\/ Paso 8: Cierra el objeto Scanner.\r\n        scanner.close();\r\n    }\r\n}\r<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ahora, desglosemos los pasos necesarios para resolver este ejercicio:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 1: Declarar una clase llamada \u00abConversionCelsiusFahrenheit.\u00bb<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Al igual que en ejercicios anteriores, hemos declarado una clase llamada \u00abConversionCelsiusFahrenheit.\u00bb<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 2: Declarar un m\u00e9todo \u00abmain\u00bb que es el punto de entrada del programa.<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Tambi\u00e9n hemos declarado un m\u00e9todo&nbsp;<code>main<\/code>&nbsp;dentro de la clase \u00abConversionCelsiusFahrenheit.\u00bb El m\u00e9todo&nbsp;<code>main<\/code>&nbsp;es el punto de entrada del programa.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 3: Dentro del m\u00e9todo \u00abmain,\u00bb declara variables para los grados Celsius y Fahrenheit.<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hemos declarado dos variables,&nbsp;<code>celsius<\/code>&nbsp;y&nbsp;<code>fahrenheit<\/code>, para almacenar la temperatura en grados Celsius y grados Fahrenheit.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><br><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 4: Utiliza un objeto Scanner para obtener la entrada del usuario.<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hemos creado un objeto&nbsp;<code>Scanner<\/code>&nbsp;para obtener la entrada del usuario desde la consola.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 5: Pide al usuario que ingrese la temperatura en grados Celsius.<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hemos utilizado el objeto&nbsp;<code>Scanner<\/code>&nbsp;para solicitar al usuario que ingrese la temperatura en grados Celsius. El valor ingresado se almacena en la variable&nbsp;<code>celsius<\/code>.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 6: Realiza la conversi\u00f3n de grados Celsius a grados Fahrenheit (F = C * 9\/5 + 32).<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hemos realizado la conversi\u00f3n de grados Celsius a grados Fahrenheit utilizando la f\u00f3rmula de conversi\u00f3n. El resultado se almacena en la variable&nbsp;<code>fahrenheit<\/code>.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 7: Imprime el resultado en la consola.<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hemos utilizado&nbsp;<code>System.out.println<\/code>&nbsp;para imprimir la temperatura en grados Fahrenheit en la consola.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 8: Cierra el objeto Scanner.<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Es una buena pr\u00e1ctica cerrar el objeto&nbsp;<code>Scanner<\/code>&nbsp;una vez que hayas terminado de utilizarlo.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez que hayas escrito este c\u00f3digo, puedes compilarlo y ejecutarlo de la misma manera que se explic\u00f3 en ejercicios anteriores. El programa pedir\u00e1 al usuario que ingrese la temperatura en grados Celsius, realizar\u00e1 la conversi\u00f3n y mostrar\u00e1 la temperatura en grados Fahrenheit en la consola.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a>Respuesta ejercicio 4:<\/a><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Aqu\u00ed tienes el c\u00f3digo y los pasos necesarios para resolver el ejercicio 4, que consiste en crear un programa Java que genere los primeros N n\u00fameros primos, donde N es un n\u00famero ingresado por el usuario:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import java.util.Scanner;\r\n\r\npublic class NumerosPrimos {\r\n    public static void main(String&#91;] args) {\r\n        \/\/ Paso 1: Declarar una clase llamada \"NumerosPrimos.\"\r\n        \r\n        \/\/ Paso 2: Declarar un m\u00e9todo \"main\" que es el punto de entrada del programa.\r\n        \r\n        \/\/ Paso 3: Dentro del m\u00e9todo \"main,\" declara variables para el n\u00famero de primos a generar y un contador.\r\n        int n, contador = 0;\r\n        \r\n        \/\/ Paso 4: Utiliza un objeto Scanner para obtener la entrada del usuario.\r\n        Scanner scanner = new Scanner(System.in);\r\n        \r\n        \/\/ Paso 5: Pide al usuario que ingrese el n\u00famero de primos a generar.\r\n        System.out.print(\"Ingresa el n\u00famero de n\u00fameros primos a generar: \");\r\n        n = scanner.nextInt();\r\n        \r\n        \/\/ Paso 6: Genera y muestra los primeros N n\u00fameros primos.\r\n        System.out.print(\"Los primeros \" + n + \" n\u00fameros primos son: \");\r\n        for (int i = 2; contador &lt; n; i++) {\r\n            if (esPrimo(i)) {\r\n                System.out.print(i + \" \");\r\n                contador++;\r\n            }\r\n        }\r\n        \r\n        \/\/ Paso 7: Cierra el objeto Scanner.\r\n        scanner.close();\r\n    }\r\n    \r\n    \/\/ M\u00e9todo para verificar si un n\u00famero es primo.\r\n    public static boolean esPrimo(int numero) {\r\n        if (numero &lt;= 1) {\r\n            return false;\r\n        }\r\n        for (int i = 2; i * i &lt;= numero; i++) {\r\n            if (numero % i == 0) {\r\n                return false;\r\n            }\r\n        }\r\n        return true;\r\n    }\r\n}\r<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ahora, desglosemos los pasos necesarios para resolver este ejercicio:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 1: Declarar una clase llamada \u00abNumerosPrimos.\u00bb<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Como en ejercicios anteriores, hemos declarado una clase llamada \u00abNumerosPrimos.\u00bb<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 2: Declarar un m\u00e9todo \u00abmain\u00bb que es el punto de entrada del programa.<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Tambi\u00e9n hemos declarado un m\u00e9todo&nbsp;<code>main<\/code>&nbsp;dentro de la clase \u00abNumerosPrimos.\u00bb El m\u00e9todo&nbsp;<code>main<\/code>&nbsp;es el punto de entrada del programa.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 3: Dentro del m\u00e9todo \u00abmain,\u00bb declara variables para el n\u00famero de primos a generar y un contador.<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hemos declarado dos variables,&nbsp;<code>n<\/code>&nbsp;para el n\u00famero de primos a generar y&nbsp;<code>contador<\/code>&nbsp;para contar cu\u00e1ntos n\u00fameros primos hemos generado.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 4: Utiliza un objeto Scanner para obtener la entrada del usuario.<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hemos creado un objeto&nbsp;<code>Scanner<\/code>&nbsp;para obtener la entrada del usuario desde la consola.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 5: Pide al usuario que ingrese el n\u00famero de primos a generar.<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hemos utilizado el objeto&nbsp;<code>Scanner<\/code>&nbsp;para solicitar al usuario que ingrese el n\u00famero de n\u00fameros primos a generar. El valor ingresado se almacena en la variable&nbsp;<code>n<\/code>.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 6: Genera y muestra los primeros N n\u00fameros primos.<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hemos utilizado un bucle&nbsp;<code>for<\/code>&nbsp;para generar los primeros N n\u00fameros primos. El m\u00e9todo&nbsp;<code>esPrimo<\/code>&nbsp;se utiliza para verificar si un n\u00famero es primo. Los n\u00fameros primos se muestran en la consola.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 7: Cierra el objeto Scanner.<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Como siempre, es una buena pr\u00e1ctica cerrar el objeto&nbsp;<code>Scanner<\/code>&nbsp;una vez que hayas terminado de utilizarlo.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Tambi\u00e9n hemos incluido un m\u00e9todo llamado&nbsp;<code>esPrimo<\/code>&nbsp;que verifica si un n\u00famero es primo. Este m\u00e9todo es utilizado en el bucle para determinar si un n\u00famero es primo o no.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez que hayas escrito este c\u00f3digo, puedes compilarlo y ejecutarlo de la misma manera que se explic\u00f3 en ejercicios anteriores. El programa pedir\u00e1 al usuario que ingrese el n\u00famero de n\u00fameros primos a generar y luego mostrar\u00e1 los primeros N n\u00fameros primos en la consola.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a>Respuesta ejercicio 5:<\/a><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A continuaci\u00f3n te mostrar\u00e9 el c\u00f3digo y los pasos necesarios para resolver el ejercicio 5, que consiste en crear un programa Java que simule un juego de adivinar un n\u00famero. El programa generar\u00e1 un n\u00famero aleatorio y pedir\u00e1 al usuario que adivine ese n\u00famero. Proporcionar\u00e1 pistas sobre si el n\u00famero a adivinar es mayor o menor. Aqu\u00ed est\u00e1 el c\u00f3digo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import java.util.Scanner;\r\nimport java.util.Random;\r\n\r\npublic class JuegoAdivinarNumero {\r\n    public static void main(String&#91;] args) {\r\n        \/\/ Paso 1: Declarar una clase llamada \"JuegoAdivinarNumero.\"\r\n        \r\n        \/\/ Paso 2: Declarar un m\u00e9todo \"main\" que es el punto de entrada del programa.\r\n        \r\n        \/\/ Paso 3: Dentro del m\u00e9todo \"main,\" genera un n\u00famero aleatorio.\r\n        Random random = new Random();\r\n        int numeroAdivinar = random.nextInt(100) + 1; \/\/ N\u00famero aleatorio entre 1 y 100\r\n        \r\n        \/\/ Paso 4: Utiliza un objeto Scanner para obtener la entrada del usuario.\r\n        Scanner scanner = new Scanner(System.in);\r\n        \r\n        int intentos = 0;\r\n        boolean adivinado = false;\r\n        \r\n        System.out.println(\"Bienvenido al Juego de Adivinar el N\u00famero. Adivina un n\u00famero entre 1 y 100.\");\r\n        \r\n        while (!adivinado) {\r\n            \/\/ Paso 5: Pide al usuario que adivine el n\u00famero.\r\n            System.out.print(\"Ingresa tu suposici\u00f3n: \");\r\n            int suposicion = scanner.nextInt();\r\n            \r\n            intentos++;\r\n            \r\n            if (suposicion == numeroAdivinar) {\r\n                System.out.println(\"\u00a1Felicidades! Adivinaste el n\u00famero en \" + intentos + \" intentos.\");\r\n                adivinado = true;\r\n            } else if (suposicion &lt; numeroAdivinar) {\r\n                System.out.println(\"El n\u00famero a adivinar es mayor. Sigue intentando.\");\r\n            } else {\r\n                System.out.println(\"El n\u00famero a adivinar es menor. Sigue intentando.\");\r\n            }\r\n        }\r\n        \r\n        \/\/ Paso 6: Cierra el objeto Scanner.\r\n        scanner.close();\r\n    }\r\n}\r<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ahora, desglosemos los pasos necesarios para resolver este ejercicio:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 1: Declarar una clase llamada \u00abJuegoAdivinarNumero.\u00bb<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Como en ejercicios anteriores, hemos declarado una clase llamada \u00abJuegoAdivinarNumero.\u00bb<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 2: Declarar un m\u00e9todo \u00abmain\u00bb que es el punto de entrada del programa.<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Tambi\u00e9n hemos declarado un m\u00e9todo&nbsp;<code>main<\/code>&nbsp;dentro de la clase \u00abJuegoAdivinarNumero.\u00bb El m\u00e9todo&nbsp;<code>main<\/code>&nbsp;es el punto de entrada del programa.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 3: Dentro del m\u00e9todo \u00abmain,\u00bb genera un n\u00famero aleatorio.<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hemos generado un n\u00famero aleatorio entre 1 y 100 utilizando la clase&nbsp;<code>Random<\/code>. El n\u00famero a adivinar se almacena en la variable&nbsp;<code>numeroAdivinar<\/code>.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 4: Utiliza un objeto Scanner para obtener la entrada del usuario.<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hemos creado un objeto&nbsp;<code>Scanner<\/code>&nbsp;para obtener la entrada del usuario desde la consola.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 5: Pide al usuario que adivine el n\u00famero.<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hemos utilizado un bucle&nbsp;<code>while<\/code>&nbsp;para permitir al usuario adivinar el n\u00famero. El programa pide al usuario que ingrese su suposici\u00f3n y proporciona pistas sobre si el n\u00famero a adivinar es mayor o menor. El bucle contin\u00faa hasta que el usuario adivine el n\u00famero.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 6: Cierra el objeto Scanner.<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Como siempre, es una buena pr\u00e1ctica cerrar el objeto&nbsp;<code>Scanner<\/code>&nbsp;una vez que hayas terminado de utilizarlo.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">En este juego, el usuario tiene que adivinar el n\u00famero generado aleatoriamente y el programa proporciona retroalimentaci\u00f3n sobre si el n\u00famero a adivinar es mayor o menor. Una vez que el usuario adivina el n\u00famero, se muestra el n\u00famero de intentos que le tom\u00f3 adivinarlo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez que hayas escrito este c\u00f3digo, puedes compilarlo y ejecutarlo de la misma manera que se explic\u00f3 en ejercicios anteriores. El programa simular\u00e1 un juego de adivinar el n\u00famero y proporcionar\u00e1 pistas al usuario hasta que adivine el n\u00famero correcto.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>1.1. \u00bfQu\u00e9 es Java? Breve historia de Java:&nbsp;Java es un lenguaje de programaci\u00f3n de prop\u00f3sito general desarrollado por James Gosling y su equipo en Sun Microsystems a mediados de la d\u00e9cada de 1990. La historia de Java se remonta a la necesidad de un lenguaje que pudiera ejecutarse en diversas plataformas de hardware y sistemas [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2030,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[40],"tags":[],"class_list":["post-2029","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-java-y-otras-hierbas"],"uagb_featured_image_src":{"full":["https:\/\/stackcodelab.com\/blog\/wp-content\/uploads\/2023\/11\/Introduccion-a-Java.jpg",1000,666,false],"thumbnail":["https:\/\/stackcodelab.com\/blog\/wp-content\/uploads\/2023\/11\/Introduccion-a-Java-150x150.jpg",150,150,true],"medium":["https:\/\/stackcodelab.com\/blog\/wp-content\/uploads\/2023\/11\/Introduccion-a-Java-300x200.jpg",300,200,true],"medium_large":["https:\/\/stackcodelab.com\/blog\/wp-content\/uploads\/2023\/11\/Introduccion-a-Java-768x511.jpg",768,511,true],"large":["https:\/\/stackcodelab.com\/blog\/wp-content\/uploads\/2023\/11\/Introduccion-a-Java.jpg",1000,666,false],"1536x1536":["https:\/\/stackcodelab.com\/blog\/wp-content\/uploads\/2023\/11\/Introduccion-a-Java.jpg",1000,666,false],"2048x2048":["https:\/\/stackcodelab.com\/blog\/wp-content\/uploads\/2023\/11\/Introduccion-a-Java.jpg",1000,666,false]},"uagb_author_info":{"display_name":"arquitecto","author_link":"https:\/\/stackcodelab.com\/blog\/author\/arquitecto\/"},"uagb_comment_info":0,"uagb_excerpt":"1.1. \u00bfQu\u00e9 es Java? Breve historia de Java:&nbsp;Java es un lenguaje de programaci\u00f3n de prop\u00f3sito general desarrollado por James Gosling y su equipo en Sun Microsystems a mediados de la d\u00e9cada de 1990. La historia de Java se remonta a la necesidad de un lenguaje que pudiera ejecutarse en diversas plataformas de hardware y sistemas&hellip;","_links":{"self":[{"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/posts\/2029","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/comments?post=2029"}],"version-history":[{"count":1,"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/posts\/2029\/revisions"}],"predecessor-version":[{"id":2031,"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/posts\/2029\/revisions\/2031"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/media\/2030"}],"wp:attachment":[{"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/media?parent=2029"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/categories?post=2029"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/tags?post=2029"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}