{"id":4773,"date":"2025-05-11T22:53:49","date_gmt":"2025-05-11T20:53:49","guid":{"rendered":"https:\/?p=4773"},"modified":"2025-05-15T15:54:35","modified_gmt":"2025-05-15T13:54:35","slug":"las-variables-y-tipos-de-datos-en-el-lenguaje-java-21","status":"publish","type":"post","link":"https:\/\/javiercachon.com\/es\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/","title":{"rendered":"Las variables y tipos de datos en el lenguaje Java 21."},"content":{"rendered":"\n<figure class=\"wp-block-image size-large is-resized\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"http:\/\/javiercachon.com\/wp-content\/uploads\/2025\/05\/Las-variables-y-tipos-de-datos-en-el-lenguaje-Java-21-1024x576.jpg\" alt=\"\" class=\"wp-image-4774\" style=\"width:1200px;height:auto\" srcset=\"https:\/\/javiercachon.com\/wp-content\/uploads\/2025\/05\/Las-variables-y-tipos-de-datos-en-el-lenguaje-Java-21-1024x576.jpg 1024w, https:\/\/javiercachon.com\/wp-content\/uploads\/2025\/05\/Las-variables-y-tipos-de-datos-en-el-lenguaje-Java-21-300x169.jpg 300w, https:\/\/javiercachon.com\/wp-content\/uploads\/2025\/05\/Las-variables-y-tipos-de-datos-en-el-lenguaje-Java-21-768x432.jpg 768w, https:\/\/javiercachon.com\/wp-content\/uploads\/2025\/05\/Las-variables-y-tipos-de-datos-en-el-lenguaje-Java-21-100x56.jpg 100w, https:\/\/javiercachon.com\/wp-content\/uploads\/2025\/05\/Las-variables-y-tipos-de-datos-en-el-lenguaje-Java-21-1536x864.jpg 1536w, https:\/\/javiercachon.com\/wp-content\/uploads\/2025\/05\/Las-variables-y-tipos-de-datos-en-el-lenguaje-Java-21.jpg 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 ez-toc-wrap-center counter-hierarchy ez-toc-counter ez-toc-light-blue ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Tabla de contenidos del articulo.<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Alternar tabla de contenidos\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/javiercachon.com\/es\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#Introduccion\" >Introducci\u00f3n<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/javiercachon.com\/es\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#1_Las_variables_en_el_lenguaje_Java_21\" >1. Las variables en el lenguaje Java 21<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/javiercachon.com\/es\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#2_Las_variables_primitivas_en_Java\" >2. Las variables primitivas en Java<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/javiercachon.com\/es\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#3_Los_datos_simples_ordinales_o_enteros_en_el_lenguaje_Java\" >3. Los datos simples ordinales o enteros en el lenguaje Java<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/javiercachon.com\/es\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#4_Los_datos_simples_reales_en_el_lenguaje_Java\" >4. Los datos simples reales en el lenguaje Java<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/javiercachon.com\/es\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#5_Las_variables_boolean_y_char\" >5. Las variables boolean y char<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/javiercachon.com\/es\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#Boolean\" >Boolean<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/javiercachon.com\/es\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#Char\" >Char<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/javiercachon.com\/es\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#6_Nombres_de_las_variables\" >6. Nombres de las variables<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/javiercachon.com\/es\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#7_Literales_numericos\" >7. Literales num\u00e9ricos<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/javiercachon.com\/es\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#8_Ambito_de_existencia_de_las_variables\" >8. \u00c1mbito de existencia de las variables<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/javiercachon.com\/es\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#9_La_clase_String\" >9. La clase String<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/javiercachon.com\/es\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#10_%C2%BFQue_es_una_variable_constante\" >10 \u00bfQu\u00e9 es una variable constante?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/javiercachon.com\/es\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#11_Las_variables_var_en_Java\" >11. Las variables var en Java<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/javiercachon.com\/es\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#Ventajas_y_Desventajas_de_Usar_var\" >Ventajas y Desventajas de Usar var<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/javiercachon.com\/es\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#12_Tabla_de_tipos_de_datos_en_Java_con_sus_caracteristicas\" >12. Tabla de tipos de datos en Java con sus caracter\u00edsticas<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/javiercachon.com\/es\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#13_Ejemplos_practicos_de_uso_de_cada_tipo_de_dato_en_Java\" >13. Ejemplos pr\u00e1cticos de uso de cada tipo de dato en Java<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/javiercachon.com\/es\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#14_Programa_completo_en_Java_con_todos_los_tipos_de_datos\" >14. Programa completo en Java con todos los tipos de datos<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/javiercachon.com\/es\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#15_Distintas_formas_de_definir_una_variable_en_Java\" >15. Distintas formas de definir una variable en Java<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/javiercachon.com\/es\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#151_Declaracion_e_Inicializacion_en_una_Unica_Instruccion\" >15.1. Declaraci\u00f3n e Inicializaci\u00f3n en una \u00danica Instrucci\u00f3n<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/javiercachon.com\/es\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#152_Declaracion_sin_Inicializacion_Asignacion_Posterior\" >15.2. Declaraci\u00f3n sin Inicializaci\u00f3n (Asignaci\u00f3n Posterior)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"https:\/\/javiercachon.com\/es\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#153_Declaracion_Multiple_en_una_Unica_Linea\" >15.3. Declaraci\u00f3n M\u00faltiple en una \u00danica L\u00ednea<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-23\" href=\"https:\/\/javiercachon.com\/es\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#154_Declaracion_en_Bloques_y_en_Bucles\" >15.4. Declaraci\u00f3n en Bloques y en Bucles<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-24\" href=\"https:\/\/javiercachon.com\/es\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#155_Variables_de_Instancia_y_de_Clase\" >15.5. Variables de Instancia y de Clase<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-25\" href=\"https:\/\/javiercachon.com\/es\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#156_Declaracion_de_Variables_Inmutables_Constantes\" >15.6. Declaraci\u00f3n de Variables Inmutables (Constantes)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-26\" href=\"https:\/\/javiercachon.com\/es\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#157_Declaracion_con_Inferencia_de_Tipos_Usando_var\" >15.7. Declaraci\u00f3n con Inferencia de Tipos Usando var<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-27\" href=\"https:\/\/javiercachon.com\/es\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#16_Conversion_entre_tipos_de_datos_primitivos_en_Java\" >16. Conversi\u00f3n entre tipos de datos primitivos en Java<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-28\" href=\"https:\/\/javiercachon.com\/es\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#161_Conversion_implicita_automatica\" >16.1. Conversi\u00f3n impl\u00edcita (autom\u00e1tica)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-29\" href=\"https:\/\/javiercachon.com\/es\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#162_Conversion_explicita_manual_o_%C2%ABcasting%C2%BB\" >16.2. Conversi\u00f3n expl\u00edcita (manual o \u00abcasting\u00bb)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-30\" href=\"https:\/\/javiercachon.com\/es\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#163_Resumen_de_conversiones\" >16.3 Resumen de conversiones<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-31\" href=\"https:\/\/javiercachon.com\/es\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#Resumen\" >Resumen<\/a><\/li><\/ul><\/nav><\/div>\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Introduccion\"><\/span>Introducci\u00f3n<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p>En el mundo de la programaci\u00f3n, <strong>una variable<\/strong> es un contenedor de datos que act\u00faa como una ubicaci\u00f3n en la memoria del computador, la cual puede almacenar un valor que puede cambiar durante la ejecuci\u00f3n del programa. Las variables se utilizan para representar informaci\u00f3n que debe ser procesada, almacenada y manipulada, como n\u00fameros, textos o estados l\u00f3gicos.<\/p>\n\n\n\n<p>Por otro lado, <strong>un tipo de dato<\/strong> define la naturaleza del valor que una variable puede almacenar y especifica las operaciones que se pueden realizar sobre dicho valor. En Java, un lenguaje fuertemente tipado, cada variable tiene un tipo de dato espec\u00edfico (por ejemplo, <code class=\"\" data-line=\"\">int<\/code>, <code class=\"\" data-line=\"\">double<\/code> o <code class=\"\" data-line=\"\">String<\/code>), lo que garantiza que se utilicen de manera coherente durante la ejecuci\u00f3n de la aplicaci\u00f3n.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"1_Las_variables_en_el_lenguaje_Java_21\"><\/span>1. Las variables en el lenguaje Java 21<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p>En Java, una variable es un contenedor de datos con un tipo espec\u00edfico y un nombre identificador. Aunque Java ha sido hist\u00f3ricamente un lenguaje fuertemente tipado, desde Java 10 se introdujo la palabra clave <code class=\"\" data-line=\"\">var<\/code> para permitir la inferencia de tipos en variables locales sin perder la seguridad del tipado. Esto ayuda a reducir la verbosidad cuando el tipo es evidente a partir del valor asignado.<\/p>\n\n\n\n<p>En Java, una variable se declara indicando el <code class=\"\" data-line=\"\">tipo de dato<\/code> y un <strong>nombre para la variable<\/strong>. La sintaxis b\u00e1sica es <code class=\"\" data-line=\"\">tipo nombreDeVariable;<\/code> , vea un <strong>ejemplo con declaraci\u00f3n expl\u00edcita e inferencia de tipos:<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ Declaraci\u00f3n expl\u00edcita\nint numero = 10;\n\n\/\/ Uso de inferencia de tipos (disponible para variables locales)\nvar mensaje = \"Hola, Java 21!\";<\/pre>\n\n\n\n<p>La flexibilidad que ofrece <code class=\"\" data-line=\"\">var<\/code> sirve para simplificar el c\u00f3digo, siempre que se utilice con criterio para mantener la claridad.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"2_Las_variables_primitivas_en_Java\"><\/span>2. Las variables primitivas en Java<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p>Java define ocho tipos de datos primitivos: <code class=\"\" data-line=\"\">byte<\/code>, <code class=\"\" data-line=\"\">short<\/code>, <code class=\"\" data-line=\"\">int<\/code>, <code class=\"\" data-line=\"\">long<\/code>, <code class=\"\" data-line=\"\">float<\/code>, <code class=\"\" data-line=\"\">double<\/code>, <code class=\"\" data-line=\"\">boolean<\/code> y <code class=\"\" data-line=\"\">char<\/code>. Estos tipos almacenan valores simples y se asignan en la pila de memoria, lo que permite un manejo eficiente en t\u00e9rminos de rendimiento. Cada uno de estos tipos posee un rango de valores espec\u00edfico y se deben elegir seg\u00fan las necesidades de precisi\u00f3n y consumo de memoria de la aplicaci\u00f3n.<\/p>\n\n\n\n<p>Ejemplo de declaraci\u00f3n y uso de variables primitivas:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">byte b = 100;         \/\/ 8 bits\nshort s = 30000;      \/\/ 16 bits\nint i = 100000;       \/\/ 32 bits\nlong l = 10000000000L; \/\/ 64 bits (nota la 'L' al final)\n\n\/\/ Variables reales\nfloat f = 3.14F;      \/\/ 32 bits (se utiliza 'F')\ndouble d = 3.141592653589793; \/\/ 64 bits<\/pre>\n\n\n\n<p>Cada decisi\u00f3n en la elecci\u00f3n del tipo influye en el consumo de memoria y en la eficiencia de los c\u00e1lculos.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"3_Los_datos_simples_ordinales_o_enteros_en_el_lenguaje_Java\"><\/span>3. Los datos simples ordinales o enteros en el lenguaje Java<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p>Los datos enteros representan n\u00fameros sin parte decimal, utilizados para contar, indexar y realizar operaciones aritm\u00e9ticas b\u00e1sicas. Los tipos enteros en Java son:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">byte<\/code>: 8 bits (rango de -128 a 127)<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">short<\/code>: 16 bits (rango de -32,768 a 32,767)<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">int<\/code>: 32 bits (el tipo entero m\u00e1s com\u00fan) (rango de -2.147.483.648 y 2.147.483.647)<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">long<\/code>: 64 bits (para n\u00fameros de gran magnitud) (rango de -9,223,372,036,854,775,808 y 9,223,372,036,854,775,807)<\/li>\n<\/ul>\n\n\n\n<p><strong>Ejemplo:<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">byte edad = 25;\nshort cantidadEstudiantes = 320;\nint numeroDeUsuarios = 1_000_000;\nlong distanciaEnMetros = 9_461_000_000L;<\/pre>\n\n\n\n<p>Utilizar el tipo adecuado evita el uso innecesario de memoria, lo cual es especialmente importante en aplicaciones de recursos limitados.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"4_Los_datos_simples_reales_en_el_lenguaje_Java\"><\/span>4. Los datos simples reales en el lenguaje Java<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p>Para representar n\u00fameros con parte decimal, Java dispone principalmente de dos tipos:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">float<\/code>: Precisi\u00f3n simple (32 bits). Se debe utilizar un sufijo <code class=\"\" data-line=\"\">F<\/code> (o <code class=\"\" data-line=\"\">f<\/code>) en el literal.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">double<\/code>: Precisi\u00f3n doble (64 bits); es el tipo predeterminado para operaciones con n\u00fameros reales.<\/li>\n<\/ul>\n\n\n\n<p><strong>Ejemplo:<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">float temperatura = 36.6F;\ndouble distancia = 12345.6789;<\/pre>\n\n\n\n<p>Es vital tener en cuenta que la representaci\u00f3n en coma flotante puede introducir peque\u00f1as imprecisiones en c\u00e1lculos matem\u00e1ticos.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"5_Las_variables_boolean_y_char\"><\/span>5. Las variables boolean y char<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Boolean\"><\/span>Boolean<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>El tipo <code class=\"\" data-line=\"\">boolean<\/code> almacena valores l\u00f3gicos, y solo puede contener <code class=\"\" data-line=\"\">true<\/code> o <code class=\"\" data-line=\"\">false<\/code>. Se utiliza principalmente en expresiones condicionales y estructuras de control.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">boolean esValido = true;\nif (esValido) {\n    System.out.println(\"La condici\u00f3n es verdadera.\");\n}<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Char\"><\/span>Char<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>El tipo <code class=\"\" data-line=\"\">char<\/code> representa un \u00fanico car\u00e1cter Unicode y se declara usando comillas simples.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">char letra = 'A';\nchar simbolo = '\u20ac';<\/pre>\n\n\n\n<p>Estos tipos son fundamentales para controlar la l\u00f3gica del programa y la representaci\u00f3n de caracteres.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"6_Nombres_de_las_variables\"><\/span>6. Nombres de las variables<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p>Elegir nombres significativos y correctos para las variables es crucial para la claridad y mantenibilidad del c\u00f3digo. Las reglas b\u00e1sicas son:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Deben iniciar con una letra, un guion bajo <code class=\"\" data-line=\"\">_<\/code> o un signo de dolar <code class=\"\" data-line=\"\">$<\/code> (aunque este \u00faltimo raramente se usa).<\/li>\n\n\n\n<li>Pueden incluir d\u00edgitos, pero <strong>no<\/strong> deben comenzar con ellos.<\/li>\n\n\n\n<li>Son <em>case-sensitive<\/em> (por ejemplo, <code class=\"\" data-line=\"\">edad<\/code> y <code class=\"\" data-line=\"\">Edad<\/code> se consideran diferentes).<\/li>\n\n\n\n<li>Se recomienda usar la convenci\u00f3n <em>camelCase<\/em> para nombres compuestos (ejemplo: <code class=\"\" data-line=\"\">numeroDeEstudiantes<\/code>).<\/li>\n<\/ul>\n\n\n\n<p><strong>Ejemplo:<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">int numeroDeEstudiantes = 30;\ndouble precioTotal = 99.99;\nboolean esActivo = false;<\/pre>\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"7_Literales_numericos\"><\/span>7. Literales num\u00e9ricos<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p>Los literales son representaciones directas de n\u00fameros en el c\u00f3digo. En Java se pueden emplear diferentes bases num\u00e9ricas:<\/p>\n\n\n\n<p><strong>Decimal:<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">int decimal = 50;<\/pre>\n\n\n\n<p><strong>Hexadecimal:<\/strong> Se usa el prefijo <strong>0x<\/strong> o <strong>0X<\/strong>.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">int hexadecimal = 0x1A; \/\/ 26 en decimal<\/pre>\n\n\n\n<p><strong>Binario:<\/strong> Desde Java 7 se usa el prefijo <strong>0b<\/strong> o <strong>0B<\/strong>.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">int binario = 0b1101; \/\/ 13 en decimal<\/pre>\n\n\n\n<p><strong>Octal:<\/strong> Representado con un <strong>0<\/strong> inicial.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">int octal = 075; \/\/ 61 en decimal<\/pre>\n\n\n\n<p>Estas diversas representaciones son \u00fatiles cuando se realizan operaciones a nivel de bits o se desea mejorar la legibilidad de ciertos valores.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"8_Ambito_de_existencia_de_las_variables\"><\/span>8. \u00c1mbito de existencia de las variables<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p>El \u00e1mbito (scope) determina la visibilidad y duraci\u00f3n de una variable dentro del programa. En Java se distinguen tres tipos principales:<\/p>\n\n\n\n<p><strong>Variables locales:<\/strong> Declaradas dentro de un m\u00e9todo, constructor o bloque. Solo existen dentro de ese bloque.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">public void metodo() {\n    int contador = 0; \/\/ Variable local\n}<\/pre>\n\n\n\n<p><strong>Variables de instancia:<\/strong> Son los atributos no est\u00e1ticos de una clase; cada objeto tiene su propia copia.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">public class Estudiante {\n    private String nombre; \/\/ Variable de instancia\n    \n    public Estudiante(String nombre) {\n        this.nombre = nombre;\n    }\n}<\/pre>\n\n\n\n<p><strong>Variables de clase (est\u00e1ticas):<\/strong> Declaradas con el modificador static, pertenecen a la clase y son compartidas por todas las instancias.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">public class Configuracion {\n    public static final String VERSION = \"1.0.0\"; \/\/ Variable de clase\n    \n    public static void mostrarVersion() {\n        System.out.println(\"Versi\u00f3n: \" + VERSION);\n    }\n}<\/pre>\n\n\n\n<p>Comprender el \u00e1mbito es esencial para evitar errores y gestionar apropiadamente la memoria.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"9_La_clase_String\"><\/span>9. La clase String<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p>Aunque se utilicen para representar texto, las variables de tipo <code class=\"\" data-line=\"\">String<\/code> en Java son objetos de la clase <code class=\"\" data-line=\"\">String<\/code>, no tipos primitivos. Una caracter\u00edstica fundamental es que las cadenas son <strong>inmutables<\/strong>: una vez creadas, su valor no puede modificarse. Esto mejora la seguridad y permite el uso eficiente del <em>String pool<\/em>.<\/p>\n\n\n\n<p>En Java, una <strong>variable String<\/strong> es una variable que almacena una secuencia de caracteres y, a diferencia de los tipos primitivos, es un objeto de la clase <code class=\"\" data-line=\"\">String<\/code>. Esto implica lo siguiente:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>Inmutabilidad:<\/strong> Una vez creada una cadena, su contenido no se puede alterar. Si realizas una operaci\u00f3n que \u00abmodifica\u00bb la cadena, en realidad se crea un nuevo objeto <code class=\"\" data-line=\"\">String<\/code>.<\/li>\n\n\n\n<li><strong>M\u00e9todos \u00fatiles:<\/strong> La clase <code class=\"\" data-line=\"\">String<\/code> viene equipada con numerosos m\u00e9todos que facilitan la manipulaci\u00f3n del texto, como <code class=\"\" data-line=\"\">length()<\/code>, <code class=\"\" data-line=\"\">toUpperCase()<\/code>, <code class=\"\" data-line=\"\">substring()<\/code>, <code class=\"\" data-line=\"\">replace()<\/code>, entre otros.<\/li>\n\n\n\n<li><strong>Literalidad:<\/strong> Las cadenas se definen encerrando el texto entre comillas dobles.<\/li>\n\n\n\n<li><strong>Pool de Cadenas:<\/strong> Java gestiona un \u00abpool\u00bb de cadenas, lo que permite reutilizar instancias de <code class=\"\" data-line=\"\">String<\/code> cuando se usan literales id\u00e9nticos, ahorrando memoria y aumentando la eficiencia.<\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">String saludo = \"Hola, mundo!\";<\/pre>\n\n\n\n<p>En resumen, las variables <code class=\"\" data-line=\"\">String<\/code> son esenciales para el manejo de textos en Java y su naturaleza inmutable junto con los m\u00e9todos disponibles las convierte en una herramienta poderosa para trabajar con datos textuales.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">public class EjemploString {\n    public static void main(String[] args) {\n        String saludo = \"Hola\";\n        \/\/ Concatenaci\u00f3n de cadenas\n        saludo = saludo + \", mundo!\";\n        System.out.println(saludo); \/\/ Imprime \"Hola, mundo!\"\n\n        \/\/ Uso de m\u00e9todos de String\n        System.out.println(\"Longitud: \" + saludo.length());\n        System.out.println(\"En may\u00fasculas: \" + saludo.toUpperCase());\n    }\n}<\/pre>\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"10_%C2%BFQue_es_una_variable_constante\"><\/span>10 \u00bfQu\u00e9 es una variable constante?<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p>Una <strong>variable constante<\/strong> es un identificador al que se le asigna un valor que no puede ser modificado una vez establecido. En Java, la forma de definir una constante es mediante el uso de la palabra clave <code class=\"\" data-line=\"\">final<\/code>. Al declarar una variable como <code class=\"\" data-line=\"\">final<\/code>, se garantiza que su valor permanece inmutable a lo largo de la ejecuci\u00f3n del programa, lo que ayuda a evitar modificaciones accidentales y a dar claridad al prop\u00f3sito de ciertos valores fijos en el c\u00f3digo.<\/p>\n\n\n\n<p>Por convenci\u00f3n, el nombre de las constantes se escribe completamente en may\u00fasculas, utilizando guiones bajos para separar las palabras. Esto permite identificarlas f\u00e1cilmente en el c\u00f3digo y distinguirlas de las variables cuyo valor puede cambiar.<\/p>\n\n\n\n<p><strong>Ejemplo de variable constante:<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">final double PI = 3.14159;\nfinal int MESES_EN_UN_A\u00d1O = 12;<\/pre>\n\n\n\n<p>En estos ejemplos, <code class=\"\" data-line=\"\">PI<\/code> y <code class=\"\" data-line=\"\">MESES_EN_UN_A\u00d1O<\/code> son constantes. Una vez que se les asigna el valor inicial (3.14159 y 12, respectivamente), dicho valor no podr\u00e1 ser modificado en cualquier parte del programa. Esto las hace ideales para representar valores universales o fijos que no deben cambiar, tales como par\u00e1metros matem\u00e1ticos, configuraciones o cualquier dato de uso global en la aplicaci\u00f3n.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"11_Las_variables_var_en_Java\"><\/span>11. Las variables <strong>var<\/strong> en Java<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p>La palabra clave <code class=\"\" data-line=\"\">var<\/code>, introducida en Java 10 y presente en Java 21, permite que el compilador infiera el tipo de las variables locales seg\u00fan el valor asignado. Esto reduce la redundancia en la declaraci\u00f3n, siempre y cuando el tipo sea obvio para quien lee el c\u00f3digo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Ventajas_y_Desventajas_de_Usar_var\"><\/span>Ventajas y Desventajas de Usar <code class=\"\" data-line=\"\">var<\/code><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p><strong>Ventajas:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Reduce la verbosidad:<\/strong> No es necesario repetir el tipo cuando este se deduce del valor asignado.<\/li>\n\n\n\n<li><strong>Mejora la mantenibilidad:<\/strong> Facilita la refactorizaci\u00f3n en expresiones complejas y evita redundancias.<\/li>\n\n\n\n<li><strong>C\u00f3digo m\u00e1s limpio:<\/strong> Especialmente \u00fatil cuando se trabajan con tipos largos o gen\u00e9ricos.<\/li>\n<\/ul>\n\n\n\n<p><strong>Desventajas:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>P\u00e9rdida de claridad:<\/strong> En casos donde el tipo no es evidente, puede dificultar la comprensi\u00f3n del c\u00f3digo.<\/li>\n\n\n\n<li><strong>Limitado a variables locales:<\/strong> No se puede usar en atributos de clase ni en par\u00e1metros de m\u00e9todos.<\/li>\n\n\n\n<li><strong>Ambig\u00fcedad potencial:<\/strong> Su uso indiscriminado puede llevar a errores si el tipo inferido no es el esperado.<\/li>\n<\/ul>\n\n\n\n<p><strong>Ejemplo de uso:<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">var numero = 100;            \/\/ Se infiere como int\nvar mensaje = \"Hola, Java\";   \/\/ Se infiere como String<\/pre>\n\n\n\n<p>El uso adecuado de <code class=\"\" data-line=\"\">var<\/code> facilita la escritura del c\u00f3digo, sin perder la seguridad en el momento de compilaci\u00f3n.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"12_Tabla_de_tipos_de_datos_en_Java_con_sus_caracteristicas\"><\/span>12. Tabla de tipos de datos en Java con sus caracter\u00edsticas<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p>A continuaci\u00f3n se presenta una tabla resumen de los principales tipos de datos en Java:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><strong>Tipo de Dato<\/strong><\/th><th><strong>Tama\u00f1o en Memoria<\/strong><\/th><th><strong>Rango \/ Precisi\u00f3n<\/strong><\/th><th><strong>Caracter\u00edsticas<\/strong><\/th><\/tr><\/thead><tbody><tr><td><strong>byte<\/strong><\/td><td>8 bits<\/td><td>-128 a 127<\/td><td>Entero; ideal para operaciones con pocos valores y ahorro de memoria en arreglos grandes.<\/td><\/tr><tr><td><strong>short<\/strong><\/td><td>16 bits<\/td><td>-32,768 a 32,767<\/td><td>Entero; \u00fatil en entornos con recursos limitados.<\/td><\/tr><tr><td><strong>int<\/strong><\/td><td>32 bits<\/td><td>-2.147.483.648 y 2.147.483.647<\/td><td>Tipo entero por defecto para la mayor\u00eda de operaciones num\u00e9ricas.<\/td><\/tr><tr><td><strong>long<\/strong><\/td><td>64 bits<\/td><td>-9,223,372,036,854,775,808 y<br> 9,223,372,036,854,775,807&nbsp;<\/td><td>Entero para valores muy grandes; requiere sufijo <code class=\"\" data-line=\"\">L<\/code> en literales.<\/td><\/tr><tr><td><strong>float<\/strong><\/td><td>32 bits<\/td><td>Aproximadamente 1.4E-45 a 3.4028235E38 (6-7 cifras decimales)<\/td><td>Punto flotante de precisi\u00f3n simple; requiere sufijo <code class=\"\" data-line=\"\">F<\/code>.<\/td><\/tr><tr><td><strong>double<\/strong><\/td><td>64 bits<\/td><td>Aproximadamente 4.9E-324 a 1.7976931348623157E308 (15 cifras decimales)<\/td><td>Punto flotante de doble precisi\u00f3n; tipo por defecto para n\u00fameros reales.<\/td><\/tr><tr><td><strong>boolean<\/strong><\/td><td>No definido exactamente<\/td><td><code class=\"\" data-line=\"\">true<\/code> o <code class=\"\" data-line=\"\">false<\/code><\/td><td>Valor l\u00f3gico; el tama\u00f1o real depende de la implementaci\u00f3n de la JVM.<\/td><\/tr><tr><td><strong>char<\/strong><\/td><td>16 bits<\/td><td>0 a 65,535 (valores Unicode)<\/td><td>Representa un \u00fanico car\u00e1cter Unicode, ideal para letras, d\u00edgitos y s\u00edmbolos.<\/td><\/tr><tr><td><strong>String<\/strong><\/td><td>Variable (depende del contenido)<\/td><td>N\/A<\/td><td>Clase para el manejo de texto; inmutable, con numerosos m\u00e9todos para manipulaci\u00f3n.<\/td><\/tr><tr><td><strong>var<\/strong><\/td><td>No aplica<\/td><td>N\/A<\/td><td>Palabra clave para inferir el tipo en variables locales; el tipo se determina en tiempo de compilaci\u00f3n.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\\* El tama\u00f1o de un <code class=\"\" data-line=\"\">boolean<\/code> var\u00eda seg\u00fan la implementaci\u00f3n de la JVM.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"13_Ejemplos_practicos_de_uso_de_cada_tipo_de_dato_en_Java\"><\/span>13. Ejemplos pr\u00e1cticos de uso de cada tipo de dato en Java<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p>A continuaci\u00f3n se muestran ejemplos de c\u00f3mo declarar e imprimir variables de cada tipo:<\/p>\n\n\n\n<p>byte<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">byte edad = 25;\nSystem.out.println(\"Edad (byte): \" + edad);<\/pre>\n\n\n\n<p>short<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">short cantidadEstudiantes = 320;\nSystem.out.println(\"Estudiantes (short): \" + cantidadEstudiantes);<\/pre>\n\n\n\n<p>int<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">int numeroDeUsuarios = 1_000_000;\nSystem.out.println(\"Usuarios (int): \" + numeroDeUsuarios);<\/pre>\n\n\n\n<p>long<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">long distancia = 9_461_000_000L;\nSystem.out.println(\"Distancia (long): \" + distancia);<\/pre>\n\n\n\n<p>float<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">float temperatura = 36.6F;\nSystem.out.println(\"Temperatura (float): \" + temperatura);<\/pre>\n\n\n\n<p>double<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">double pi = 3.141592653589793;\nSystem.out.println(\"Valor de pi (double): \" + pi);<\/pre>\n\n\n\n<p>boolean<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">boolean esValido = true;\nSystem.out.println(\"Es v\u00e1lido (boolean): \" + esValido);<\/pre>\n\n\n\n<p>char<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">char letra = 'A';\nSystem.out.println(\"Letra (char): \" + letra);<\/pre>\n\n\n\n<p>String<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">String saludo = \"Hola, mundo!\";\nSystem.out.println(\"Saludo (String): \" + saludo);<\/pre>\n\n\n\n<p>var (inferido)<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">var mensaje = \"Inferido como String\";\nSystem.out.println(\"Mensaje (var): \" + mensaje);<\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><\/li>\n<\/ul>\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"14_Programa_completo_en_Java_con_todos_los_tipos_de_datos\"><\/span>14. Programa completo en Java con todos los tipos de datos<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p>El siguiente es un programa de demostraci\u00f3n que declara variables de todos los tipos mencionados e imprime sus valores:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">public class TiposDeDatos {\n    public static void main(String[] args) {\n        \/\/ Declaraci\u00f3n de variables de los tipos primitivos\n        byte b = 100;                       \/\/ 8 bits\n        short s = 30000;                    \/\/ 16 bits\n        int i = 100000;                     \/\/ 32 bits\n        long l = 10000000000L;              \/\/ 64 bits (se utiliza sufijo L)\n        float f = 3.14F;                    \/\/ 32 bits (se utiliza sufijo F)\n        double d = 3.141592653589793;       \/\/ 64 bits\n        boolean bool = true;                \/\/ Valor l\u00f3gico, true o false\n        char c = 'A';                       \/\/ Un solo car\u00e1cter\n        \n        \/\/ Declaraci\u00f3n de variables de referencia\n        String str = \"Hola, mundo!\";        \/\/ Cadena de caracteres\n        \n        \/\/ Uso de var para inferir el tipo en variables locales\n        var varInt = 123;                   \/\/ Se infiere como int\n        var varString = \"Inferido como String\"; \/\/ Se infiere como String\n        var varDouble = 99.99;              \/\/ Se infiere como double\n        \n        \/\/ Impresi\u00f3n de cada variable sin utilizar ning\u00fan m\u00e9todo de la clase String\n        System.out.println(\"byte: \" + b);\n        System.out.println(\"short: \" + s);\n        System.out.println(\"int: \" + i);\n        System.out.println(\"long: \" + l);\n        System.out.println(\"float: \" + f);\n        System.out.println(\"double: \" + d);\n        System.out.println(\"boolean: \" + bool);\n        System.out.println(\"char: \" + c);\n        System.out.println(\"String: \" + str);\n        System.out.println(\"var (int): \" + varInt);\n        System.out.println(\"var (String): \" + varString);\n        System.out.println(\"var (double): \" + varDouble);\n    }\n}<\/pre>\n\n\n\n<p><em>Explicaci\u00f3n:<\/em><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Se declaran variables de cada tipo (primitivo y de referencia).<\/li>\n\n\n\n<li>Se utilizan variables con <code class=\"\" data-line=\"\">var<\/code> para demostrar la inferencia de tipos.<\/li>\n\n\n\n<li>Se imprime el valor de cada variable.<\/li>\n<\/ul>\n\n\n\n<p>Creamos un archivo llamado <strong><code class=\"\" data-line=\"\">TiposDeDatos.java<\/code><\/strong> , compilamos y ejecutamos con <code class=\"\" data-line=\"\">javac<\/code> y <code class=\"\" data-line=\"\">java<\/code>:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$ javac TiposDeDatos.java\n\/\/ Sin errores de compilaci\u00f3n.\n\/\/ Compilamos...\n$ java TiposDeDatos\n\/\/ Resultado por consola:\nbyte: 100\nshort: 30000\nint: 100000\nlong: 10000000000\nfloat: 3.14\ndouble: 3.141592653589793\nboolean: true\nchar: A\nString: Hola, mundo!\nvar (int): 123\nvar (String): Inferido como String\nvar (double): 99.99<\/pre>\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"15_Distintas_formas_de_definir_una_variable_en_Java\"><\/span>15. Distintas formas de definir una variable en Java<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p>Java permite declarar variables de diversas maneras seg\u00fan el contexto y la necesidad:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"151_Declaracion_e_Inicializacion_en_una_Unica_Instruccion\"><\/span>15.1. Declaraci\u00f3n e Inicializaci\u00f3n en una \u00danica Instrucci\u00f3n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>La forma m\u00e1s com\u00fan, donde se declara la variable y se le asigna un valor de inmediato.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">int numero = 10;\nString nombre = \"Soraya\";\ndouble precio = 99.99;<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"152_Declaracion_sin_Inicializacion_Asignacion_Posterior\"><\/span>15.2. Declaraci\u00f3n sin Inicializaci\u00f3n (Asignaci\u00f3n Posterior)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Se declara la variable sin asignarle inmediatamente un valor, para inicializarla posteriormente. <em>Es fundamental asignar un valor antes de usarla, especialmente con variables locales.<\/em><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">int contador;\ncontador = 5;\n\nString mensaje;\nmensaje = \"Buenas tardes\";<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"153_Declaracion_Multiple_en_una_Unica_Linea\"><\/span>15.3. Declaraci\u00f3n M\u00faltiple en una \u00danica L\u00ednea<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Se pueden declarar varias variables del mismo tipo en una sola l\u00ednea, separadas por comas.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">int a = 1, b = 2, c = 3;<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"154_Declaracion_en_Bloques_y_en_Bucles\"><\/span>15.4. Declaraci\u00f3n en Bloques y en Bucles<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Las variables se pueden declarar dentro de bloques o bucles, limitando su alcance al bloque en cuesti\u00f3n.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">for (int i = 0; i &lt; 10; i++) {\n    System.out.println(\"Valor de i: \" + i);\n}<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"155_Variables_de_Instancia_y_de_Clase\"><\/span>15.5. Variables de Instancia y de Clase<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p><strong>Variables de Instancia:<\/strong> Declaradas en el cuerpo de la clase pero fuera de los m\u00e9todos. Cada objeto tiene su propia copia.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">public class Persona {\n    private String nombre; \/\/ Variable de instancia\n    \n    public Persona(String nombre) {\n        this.nombre = nombre;\n    }\n}<\/pre>\n\n\n\n<p><strong>Variables de Clase (Est\u00e1ticas):<\/strong> Declaradas con la palabra clave <code class=\"\" data-line=\"\">static<\/code>, pertenecen a la clase y son compartidas por todas las instancias.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">public class Configuracion {\n    public static final String APP = \"MiAplicacion\";\n}<\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"156_Declaracion_de_Variables_Inmutables_Constantes\"><\/span>15.6. Declaraci\u00f3n de Variables Inmutables (Constantes)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Una <strong>variable constante<\/strong> es aquella a la que se le asigna un valor \u00fanico que <strong>no puede cambiar<\/strong> durante la ejecuci\u00f3n del programa.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Se utiliza la palabra clave <code class=\"\" data-line=\"\">final<\/code> para declararlas.<\/li>\n\n\n\n<li>Por convenci\u00f3n, sus nombres se escriben en may\u00fasculas y con guiones bajos para separar las palabras.<\/li>\n<\/ul>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">final double PI = 3.14159;\nfinal int MESES_EN_UN_A\u00d1O = 12;<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"157_Declaracion_con_Inferencia_de_Tipos_Usando_var\"><\/span>15.7. Declaraci\u00f3n con Inferencia de Tipos Usando <strong>var<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Con <code class=\"\" data-line=\"\">var<\/code> el compilador deduce el tipo de la variable seg\u00fan el valor asignado.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">var edad = 25;                \/\/ Se infiere como int\nvar mensaje = \"Hola, Mundo!\";   \/\/ Se infiere como String<\/pre>\n\n\n\n<p>Cada m\u00e9todo de declaraci\u00f3n tiene su uso seg\u00fan el contexto, y la elecci\u00f3n correcta contribuye a la claridad, escalabilidad y mantenibilidad del c\u00f3digo.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"16_Conversion_entre_tipos_de_datos_primitivos_en_Java\"><\/span>16. Conversi\u00f3n entre tipos de datos primitivos en Java<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p>En Java, existen dos formas principales de convertir datos de un tipo a otro cuando trabajamos con tipos primitivos:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>Conversi\u00f3n impl\u00edcita (autom\u00e1tica)<\/strong><\/li>\n\n\n\n<li><strong>Conversi\u00f3n expl\u00edcita (manual o \u00abcasting\u00bb)<\/strong><\/li>\n<\/ol>\n\n\n\n<p>La elecci\u00f3n entre estos m\u00e9todos depende del tama\u00f1o y la precisi\u00f3n del tipo de dato al que queremos convertir. A continuaci\u00f3n, se explican ambos conceptos con ejemplos f\u00e1ciles de entender.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"161_Conversion_implicita_automatica\"><\/span>16.1. Conversi\u00f3n impl\u00edcita (autom\u00e1tica)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>La conversi\u00f3n impl\u00edcita ocurre cuando el <strong>compilador de Java<\/strong> convierte autom\u00e1ticamente un tipo de dato m\u00e1s peque\u00f1o a uno m\u00e1s grande. Esto sucede porque el tipo m\u00e1s grande tiene suficiente espacio para almacenar el valor del tipo m\u00e1s peque\u00f1o sin perder informaci\u00f3n.<\/p>\n\n\n\n<p>Los tipos de datos en Java tienen un orden de tama\u00f1o, desde los m\u00e1s peque\u00f1os hasta los m\u00e1s grandes: <code class=\"\" data-line=\"\">byte \u2192 short \u2192 int \u2192 long \u2192 float \u2192 double<\/code><\/p>\n\n\n\n<p>Ejemplo de conversi\u00f3n impl\u00edcita:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">public class ConversionImplicita {\n    public static void main(String[] args) {\n        int numeroEntero = 100;   \/\/ Tipo int\n        double numeroDecimal = numeroEntero; \/\/ Conversi\u00f3n autom\u00e1tica a double\n\n        System.out.println(\"N\u00famero entero (int): \" + numeroEntero);\n        System.out.println(\"N\u00famero decimal (double): \" + numeroDecimal); \n    }\n}<\/pre>\n\n\n\n<p><strong>Explicaci\u00f3n:<\/strong> El valor del tipo <code class=\"\" data-line=\"\">int<\/code> (<code class=\"\" data-line=\"\">100<\/code>) se convierte autom\u00e1ticamente a <code class=\"\" data-line=\"\">double<\/code>, sin necesidad de realizar ning\u00fan \u00abcasting\u00bb. No hay p\u00e9rdida de datos porque <code class=\"\" data-line=\"\">double<\/code> tiene mayor precisi\u00f3n y tama\u00f1o que <code class=\"\" data-line=\"\">int<\/code>.<\/p>\n\n\n\n<p>Otro ejemplo con <code class=\"\" data-line=\"\">float<\/code> y <code class=\"\" data-line=\"\">double<\/code>:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">float numeroFlotante = 3.14F;    \/\/ Tipo float\ndouble numeroDoble = numeroFlotante; \/\/ Conversi\u00f3n autom\u00e1tica a double\n\nSystem.out.println(\"N\u00famero flotante (float): \" + numeroFlotante);\nSystem.out.println(\"N\u00famero doble (double): \" + numeroDoble);<\/pre>\n\n\n\n<p>De nuevo, la conversi\u00f3n ocurre sin problemas porque <code class=\"\" data-line=\"\">double<\/code> tiene m\u00e1s capacidad de almacenamiento que <code class=\"\" data-line=\"\">float<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"162_Conversion_explicita_manual_o_%C2%ABcasting%C2%BB\"><\/span>16.2. Conversi\u00f3n expl\u00edcita (manual o \u00abcasting\u00bb)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>La conversi\u00f3n expl\u00edcita es cuando <strong>el programador<\/strong> le indica al compilador que convierta un tipo m\u00e1s grande en uno m\u00e1s peque\u00f1o. Esto puede ocasionar p\u00e9rdida de datos si la informaci\u00f3n del tipo m\u00e1s grande no cabe en el tipo m\u00e1s peque\u00f1o.<\/p>\n\n\n\n<p>Para realizar esta conversi\u00f3n, se usa el <strong>casting<\/strong>, que consiste en colocar el tipo de dato entre par\u00e9ntesis antes de la variable que queremos convertir.<\/p>\n\n\n\n<p>Ejemplo de conversi\u00f3n expl\u00edcita:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">public class ConversionExplicita {\n    public static void main(String[] args) {\n        double numeroDecimal = 9.99;    \/\/ Tipo double\n        int numeroEntero = (int) numeroDecimal; \/\/ Conversi\u00f3n manual a int\n\n        System.out.println(\"N\u00famero decimal (double): \" + numeroDecimal);\n        System.out.println(\"N\u00famero entero (int despu\u00e9s de casting): \" + numeroEntero); \n    }\n}<\/pre>\n\n\n\n<p><strong>Explicaci\u00f3n:<\/strong> El n\u00famero <code class=\"\" data-line=\"\">9.99<\/code> se almacena como <code class=\"\" data-line=\"\">double<\/code>, pero al convertirlo a <code class=\"\" data-line=\"\">int<\/code>, <strong>se pierde la parte decimal<\/strong> y solo queda <code class=\"\" data-line=\"\">9<\/code>. Este es un ejemplo cl\u00e1sico de p\u00e9rdida de precisi\u00f3n al hacer un casting de <code class=\"\" data-line=\"\">double<\/code> a <code class=\"\" data-line=\"\">int<\/code>.<\/p>\n\n\n\n<p>Otro ejemplo con <code class=\"\" data-line=\"\">long<\/code> y <code class=\"\" data-line=\"\">short<\/code>:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">long numeroGrande = 100000L; \/\/ Tipo long\nshort numeroPeque\u00f1o = (short) numeroGrande; \/\/ Conversi\u00f3n expl\u00edcita\n\nSystem.out.println(\"N\u00famero grande (long): \" + numeroGrande);\nSystem.out.println(\"N\u00famero peque\u00f1o (short despu\u00e9s de casting): \" + numeroPeque\u00f1o);<\/pre>\n\n\n\n<p>Aqu\u00ed la conversi\u00f3n manual de <code class=\"\" data-line=\"\">long<\/code> a <code class=\"\" data-line=\"\">short<\/code> funciona, pero si el n\u00famero <code class=\"\" data-line=\"\">long<\/code> hubiera sido mayor que el rango de <code class=\"\" data-line=\"\">short<\/code> (-32,768 a 32,767), <strong>el resultado ser\u00eda incorrecto<\/strong> debido al desbordamiento de datos (<em>overflow<\/em>).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"163_Resumen_de_conversiones\"><\/span>16.3 Resumen de conversiones<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Tipo de conversi\u00f3n<\/th><th>\u00bfC\u00f3mo ocurre?<\/th><th>\u00bfSe puede perder informaci\u00f3n?<\/th><th>Ejemplo<\/th><\/tr><\/thead><tbody><tr><td><strong>Impl\u00edcita (autom\u00e1tica)<\/strong><\/td><td>Java la realiza sin intervenci\u00f3n del programador<\/td><td>No, porque el tipo destino es m\u00e1s grande<\/td><td><code class=\"\" data-line=\"\">int \u2192 double<\/code>, <code class=\"\" data-line=\"\">float \u2192 double<\/code><\/td><\/tr><tr><td><strong>Expl\u00edcita (manual \/ casting)<\/strong><\/td><td>El programador indica la conversi\u00f3n con <code class=\"\" data-line=\"\">(tipo)<\/code><\/td><td>S\u00ed, si el tipo destino es m\u00e1s peque\u00f1o<\/td><td><code class=\"\" data-line=\"\">double \u2192 int<\/code>, <code class=\"\" data-line=\"\">long \u2192 short<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Consejos sobre conversiones:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Usa <strong>conversiones impl\u00edcitas<\/strong> cuando Java pueda manejar el cambio sin problemas.<\/li>\n\n\n\n<li>Usa <strong>casting expl\u00edcito<\/strong> solo cuando est\u00e9s seguro de que no habr\u00e1 p\u00e9rdida significativa de datos.<\/li>\n\n\n\n<li>Ten cuidado con la conversi\u00f3n de <code class=\"\" data-line=\"\">double<\/code> a <code class=\"\" data-line=\"\">int<\/code>, ya que elimina la parte decimal.<\/li>\n\n\n\n<li>Comprueba siempre el rango de valores antes de convertir tipos m\u00e1s grandes a m\u00e1s peque\u00f1os, para evitar errores o desbordamientos.<\/li>\n<\/ul>\n\n\n\n<p>Estos conceptos de conversi\u00f3n son fundamentales en Java, ya que en muchas ocasiones es necesario convertir datos entre distintos tipos seg\u00fan la l\u00f3gica del programa.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Resumen\"><\/span>Resumen<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p>En este recorrido se han abordado los aspectos fundamentales del manejo de variables y tipos de datos en Java 21:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Variables en Java:<\/strong> Son contenedores de datos con un tipo definido y un nombre. La introducci\u00f3n de <code class=\"\" data-line=\"\">var<\/code> permite que el compilador infiera el tipo en variables locales, reduciendo la verbosidad sin comprometer la seguridad en tiempo de compilaci\u00f3n.<\/li>\n\n\n\n<li><strong>Tipos Primitivos y Datos Simples:<\/strong> Se incluyen <code class=\"\" data-line=\"\">byte<\/code>, <code class=\"\" data-line=\"\">short<\/code>, <code class=\"\" data-line=\"\">int<\/code>, <code class=\"\" data-line=\"\">long<\/code>, <code class=\"\" data-line=\"\">float<\/code>, <code class=\"\" data-line=\"\">double<\/code>, <code class=\"\" data-line=\"\">boolean<\/code> y <code class=\"\" data-line=\"\">char<\/code>, cada uno optimizado para distintos fines (almacenamiento, c\u00e1lculos y representaci\u00f3n).<\/li>\n\n\n\n<li><strong>Datos Enteros y Reales:<\/strong> Se utilizan para almacenar n\u00fameros sin y con decimales, respectivamente, esenciales en toda aplicaci\u00f3n.<\/li>\n\n\n\n<li><strong>Variables Boolean y Char:<\/strong> Manejan valores l\u00f3gicos y caracteres \u00fanicos.<\/li>\n\n\n\n<li><strong>Nomenclatura y Literales:<\/strong> La correcta elecci\u00f3n de nombres y la representaci\u00f3n de literales son vitales para la legibilidad del c\u00f3digo.<\/li>\n\n\n\n<li><strong>\u00c1mbito de las Variables:<\/strong> Comprender el alcance (local, de instancia o de clase) es indispensable para evitar errores.<\/li>\n\n\n\n<li><strong>La Clase String:<\/strong> Se usa para manejar secuencias de caracteres de forma inmutable.<\/li>\n\n\n\n<li><strong>Uso de <\/strong><code class=\"\" data-line=\"\">var<\/code><strong>:<\/strong> Brinda flexibilidad mediante la inferencia de tipos, con ventajas y algunas limitaciones.<\/li>\n\n\n\n<li><strong>Declaraci\u00f3n de Constantes:<\/strong> Mediante <code class=\"\" data-line=\"\">final<\/code> se definen variables constantes, cuyo valor no cambia durante la ejecuci\u00f3n, aportando estabilidad y claridad al programa.<\/li>\n\n\n\n<li><strong>Tabla Comparativa y Ejemplos Pr\u00e1cticos:<\/strong> Se resumen las caracter\u00edsticas de cada tipo y se ofrecen ejemplos concretos, culminando con un programa completo.<\/li>\n\n\n\n<li><strong>Formas de Declarar Variables:<\/strong> Se exploran diversos m\u00e9todos (declaraci\u00f3n inmediata, m\u00faltiples, en bucles, variables de instancia\/clase, constantes y uso de <code class=\"\" data-line=\"\">var<\/code>) para adecuarse a diferentes escenarios de programaci\u00f3n.<\/li>\n<\/ul>\n\n\n\n<p>Dominar estos conceptos es fundamental para escribir c\u00f3digo eficiente, legible y mantenible, sirviendo de base para el desarrollo de aplicaciones robustas y escalables en Java.<\/p>\n<div style='text-align:center' class='yasr-auto-insert-overall'><\/div><div style='text-align:center' class='yasr-auto-insert-visitor'><\/div>","protected":false},"excerpt":{"rendered":"<p>Introducci\u00f3n En el mundo de la programaci\u00f3n, una variable es un contenedor de datos que act\u00faa como una ubicaci\u00f3n en la memoria del computador, la cual puede almacenar un valor que puede cambiar durante la ejecuci\u00f3n del programa. Las variables se utilizan para representar informaci\u00f3n que debe ser procesada, almacenada [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":4774,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"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":"default","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":""}},"jetpack_post_was_ever_published":false,"yasr_overall_rating":0,"yasr_post_is_review":"","yasr_auto_insert_disabled":"","yasr_review_type":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[5,176,265],"tags":[14,27],"class_list":["post-4773","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-desarrollo","category-desarrollo-web","category-java","tag-java","tag-oracle"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Las variables y tipos de datos en el lenguaje Java 21. | javiercachon.com<\/title>\n<meta name=\"description\" content=\"En el mundo de la programaci\u00f3n, una variable es un contenedor de datos que act\u00faa como una ubicaci\u00f3n en la memoria del computador.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/javiercachon.com\/es\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Las variables y tipos de datos en el lenguaje Java 21. | javiercachon.com\" \/>\n<meta property=\"og:description\" content=\"En el mundo de la programaci\u00f3n, una variable es un contenedor de datos que act\u00faa como una ubicaci\u00f3n en la memoria del computador.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/javiercachon.com\/es\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/\" \/>\n<meta property=\"og:site_name\" content=\"javiercachon.com\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/javiercachon82\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/javiercachon82\" \/>\n<meta property=\"article:published_time\" content=\"2025-05-11T20:53:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-05-15T13:54:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/javiercachon.com\/wp-content\/uploads\/2025\/05\/Las-variables-y-tipos-de-datos-en-el-lenguaje-Java-21.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Javier Cach\u00f3n Garrido\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@https:\/\/x.com\/udegeek\" \/>\n<meta name=\"twitter:site\" content=\"@udegeek\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Javier Cach\u00f3n Garrido\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/javiercachon.com\\\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/javiercachon.com\\\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\\\/\"},\"author\":{\"name\":\"Javier Cach\u00f3n Garrido\",\"@id\":\"https:\\\/\\\/javiercachon.com\\\/es\\\/#\\\/schema\\\/person\\\/56ea56e1350676921cc43a3bcfd6c997\"},\"headline\":\"Las variables y tipos de datos en el lenguaje Java 21.\",\"datePublished\":\"2025-05-11T20:53:49+00:00\",\"dateModified\":\"2025-05-15T13:54:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/javiercachon.com\\\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\\\/\"},\"wordCount\":2852,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/javiercachon.com\\\/es\\\/#\\\/schema\\\/person\\\/56ea56e1350676921cc43a3bcfd6c997\"},\"image\":{\"@id\":\"https:\\\/\\\/javiercachon.com\\\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/javiercachon.com\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/Las-variables-y-tipos-de-datos-en-el-lenguaje-Java-21.jpg\",\"keywords\":[\"Java\",\"Oracle\"],\"articleSection\":[\"Desarrollo\",\"Desarrollo Web\",\"Java\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/javiercachon.com\\\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/javiercachon.com\\\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\\\/\",\"url\":\"https:\\\/\\\/javiercachon.com\\\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\\\/\",\"name\":\"Las variables y tipos de datos en el lenguaje Java 21. | javiercachon.com\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/javiercachon.com\\\/es\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/javiercachon.com\\\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/javiercachon.com\\\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/javiercachon.com\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/Las-variables-y-tipos-de-datos-en-el-lenguaje-Java-21.jpg\",\"datePublished\":\"2025-05-11T20:53:49+00:00\",\"dateModified\":\"2025-05-15T13:54:35+00:00\",\"description\":\"En el mundo de la programaci\u00f3n, una variable es un contenedor de datos que act\u00faa como una ubicaci\u00f3n en la memoria del computador.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/javiercachon.com\\\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/javiercachon.com\\\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/javiercachon.com\\\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\\\/#primaryimage\",\"url\":\"https:\\\/\\\/javiercachon.com\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/Las-variables-y-tipos-de-datos-en-el-lenguaje-Java-21.jpg\",\"contentUrl\":\"https:\\\/\\\/javiercachon.com\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/Las-variables-y-tipos-de-datos-en-el-lenguaje-Java-21.jpg\",\"width\":1920,\"height\":1080},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/javiercachon.com\\\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"inicio\",\"item\":\"https:\\\/\\\/javiercachon.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Las variables y tipos de datos en el lenguaje Java 21.\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/javiercachon.com\\\/es\\\/#website\",\"url\":\"https:\\\/\\\/javiercachon.com\\\/es\\\/\",\"name\":\"javiercachon.com\",\"description\":\"es una plataforma educativa revolucionaria que busca democratizar el acceso al conocimiento en inform\u00e1tica.\",\"publisher\":{\"@id\":\"https:\\\/\\\/javiercachon.com\\\/es\\\/#\\\/schema\\\/person\\\/56ea56e1350676921cc43a3bcfd6c997\"},\"alternateName\":\"javiercachon.com\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/javiercachon.com\\\/es\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/javiercachon.com\\\/es\\\/#\\\/schema\\\/person\\\/56ea56e1350676921cc43a3bcfd6c997\",\"name\":\"Javier Cach\u00f3n Garrido\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/javiercachon.com\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/Montanas-JC-logo-azul.jpg\",\"url\":\"https:\\\/\\\/javiercachon.com\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/Montanas-JC-logo-azul.jpg\",\"contentUrl\":\"https:\\\/\\\/javiercachon.com\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/Montanas-JC-logo-azul.jpg\",\"width\":250,\"height\":34,\"caption\":\"Javier Cach\u00f3n Garrido\"},\"logo\":{\"@id\":\"https:\\\/\\\/javiercachon.com\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/Montanas-JC-logo-azul.jpg\"},\"description\":\"Javier Cach\u00f3n Garrido es un experto en inform\u00e1tica, apasionado por el c\u00f3digo abierto y la educaci\u00f3n tecnol\u00f3gica. Como fundador de JavierCachon.com, impulsa la formaci\u00f3n en GNU\\\/Linux y software libre, promoviendo el aprendizaje accesible y colaborativo. Su misi\u00f3n es democratizar el conocimiento en TI, ofreciendo recursos gratuitos y de calidad para profesionales y entusiastas del sector. Es un profeta y predicador que evangeliza la tecnolog\u00eda, la inform\u00e1tica y telecomunicaciones, acomp\u00e1\u00f1ale en su aventura y pasi\u00f3n por los sistemas operativos abiertos GNU\\\/Linux.\",\"sameAs\":[\"https:\\\/\\\/javiercachon.com\\\/\",\"https:\\\/\\\/www.facebook.com\\\/javiercachon82\",\"https:\\\/\\\/www.instagram.com\\\/edugeek\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/javiercachongarrido\\\/\",\"https:\\\/\\\/x.com\\\/https:\\\/\\\/x.com\\\/udegeek\",\"https:\\\/\\\/www.youtube.com\\\/@edugeek\",\"https:\\\/\\\/wiki.javiercachon.com\\\/wiki\\\/index.php\\\/Usuario:Ojosdegato\"],\"url\":\"https:\\\/\\\/javiercachon.com\\\/es\\\/author\\\/ojosdegato\\\/\"},false]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Las variables y tipos de datos en el lenguaje Java 21. | javiercachon.com","description":"En el mundo de la programaci\u00f3n, una variable es un contenedor de datos que act\u00faa como una ubicaci\u00f3n en la memoria del computador.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/javiercachon.com\/es\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/","og_locale":"es_ES","og_type":"article","og_title":"Las variables y tipos de datos en el lenguaje Java 21. | javiercachon.com","og_description":"En el mundo de la programaci\u00f3n, una variable es un contenedor de datos que act\u00faa como una ubicaci\u00f3n en la memoria del computador.","og_url":"https:\/\/javiercachon.com\/es\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/","og_site_name":"javiercachon.com","article_publisher":"https:\/\/www.facebook.com\/javiercachon82","article_author":"https:\/\/www.facebook.com\/javiercachon82","article_published_time":"2025-05-11T20:53:49+00:00","article_modified_time":"2025-05-15T13:54:35+00:00","og_image":[{"width":1920,"height":1080,"url":"https:\/\/javiercachon.com\/wp-content\/uploads\/2025\/05\/Las-variables-y-tipos-de-datos-en-el-lenguaje-Java-21.jpg","type":"image\/jpeg"}],"author":"Javier Cach\u00f3n Garrido","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/x.com\/udegeek","twitter_site":"@udegeek","twitter_misc":{"Escrito por":"Javier Cach\u00f3n Garrido","Tiempo de lectura":"13 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/javiercachon.com\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#article","isPartOf":{"@id":"https:\/\/javiercachon.com\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/"},"author":{"name":"Javier Cach\u00f3n Garrido","@id":"https:\/\/javiercachon.com\/es\/#\/schema\/person\/56ea56e1350676921cc43a3bcfd6c997"},"headline":"Las variables y tipos de datos en el lenguaje Java 21.","datePublished":"2025-05-11T20:53:49+00:00","dateModified":"2025-05-15T13:54:35+00:00","mainEntityOfPage":{"@id":"https:\/\/javiercachon.com\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/"},"wordCount":2852,"commentCount":0,"publisher":{"@id":"https:\/\/javiercachon.com\/es\/#\/schema\/person\/56ea56e1350676921cc43a3bcfd6c997"},"image":{"@id":"https:\/\/javiercachon.com\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#primaryimage"},"thumbnailUrl":"https:\/\/javiercachon.com\/wp-content\/uploads\/2025\/05\/Las-variables-y-tipos-de-datos-en-el-lenguaje-Java-21.jpg","keywords":["Java","Oracle"],"articleSection":["Desarrollo","Desarrollo Web","Java"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/javiercachon.com\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/javiercachon.com\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/","url":"https:\/\/javiercachon.com\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/","name":"Las variables y tipos de datos en el lenguaje Java 21. | javiercachon.com","isPartOf":{"@id":"https:\/\/javiercachon.com\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/javiercachon.com\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#primaryimage"},"image":{"@id":"https:\/\/javiercachon.com\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#primaryimage"},"thumbnailUrl":"https:\/\/javiercachon.com\/wp-content\/uploads\/2025\/05\/Las-variables-y-tipos-de-datos-en-el-lenguaje-Java-21.jpg","datePublished":"2025-05-11T20:53:49+00:00","dateModified":"2025-05-15T13:54:35+00:00","description":"En el mundo de la programaci\u00f3n, una variable es un contenedor de datos que act\u00faa como una ubicaci\u00f3n en la memoria del computador.","breadcrumb":{"@id":"https:\/\/javiercachon.com\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/javiercachon.com\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/javiercachon.com\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#primaryimage","url":"https:\/\/javiercachon.com\/wp-content\/uploads\/2025\/05\/Las-variables-y-tipos-de-datos-en-el-lenguaje-Java-21.jpg","contentUrl":"https:\/\/javiercachon.com\/wp-content\/uploads\/2025\/05\/Las-variables-y-tipos-de-datos-en-el-lenguaje-Java-21.jpg","width":1920,"height":1080},{"@type":"BreadcrumbList","@id":"https:\/\/javiercachon.com\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"inicio","item":"https:\/\/javiercachon.com\/"},{"@type":"ListItem","position":2,"name":"Las variables y tipos de datos en el lenguaje Java 21."}]},{"@type":"WebSite","@id":"https:\/\/javiercachon.com\/es\/#website","url":"https:\/\/javiercachon.com\/es\/","name":"javiercachon.com","description":"es una plataforma educativa revolucionaria que busca democratizar el acceso al conocimiento en inform\u00e1tica.","publisher":{"@id":"https:\/\/javiercachon.com\/es\/#\/schema\/person\/56ea56e1350676921cc43a3bcfd6c997"},"alternateName":"javiercachon.com","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/javiercachon.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":["Person","Organization"],"@id":"https:\/\/javiercachon.com\/es\/#\/schema\/person\/56ea56e1350676921cc43a3bcfd6c997","name":"Javier Cach\u00f3n Garrido","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/javiercachon.com\/wp-content\/uploads\/2024\/11\/Montanas-JC-logo-azul.jpg","url":"https:\/\/javiercachon.com\/wp-content\/uploads\/2024\/11\/Montanas-JC-logo-azul.jpg","contentUrl":"https:\/\/javiercachon.com\/wp-content\/uploads\/2024\/11\/Montanas-JC-logo-azul.jpg","width":250,"height":34,"caption":"Javier Cach\u00f3n Garrido"},"logo":{"@id":"https:\/\/javiercachon.com\/wp-content\/uploads\/2024\/11\/Montanas-JC-logo-azul.jpg"},"description":"Javier Cach\u00f3n Garrido es un experto en inform\u00e1tica, apasionado por el c\u00f3digo abierto y la educaci\u00f3n tecnol\u00f3gica. Como fundador de JavierCachon.com, impulsa la formaci\u00f3n en GNU\/Linux y software libre, promoviendo el aprendizaje accesible y colaborativo. Su misi\u00f3n es democratizar el conocimiento en TI, ofreciendo recursos gratuitos y de calidad para profesionales y entusiastas del sector. Es un profeta y predicador que evangeliza la tecnolog\u00eda, la inform\u00e1tica y telecomunicaciones, acomp\u00e1\u00f1ale en su aventura y pasi\u00f3n por los sistemas operativos abiertos GNU\/Linux.","sameAs":["https:\/\/javiercachon.com\/","https:\/\/www.facebook.com\/javiercachon82","https:\/\/www.instagram.com\/edugeek\/","https:\/\/www.linkedin.com\/in\/javiercachongarrido\/","https:\/\/x.com\/https:\/\/x.com\/udegeek","https:\/\/www.youtube.com\/@edugeek","https:\/\/wiki.javiercachon.com\/wiki\/index.php\/Usuario:Ojosdegato"],"url":"https:\/\/javiercachon.com\/es\/author\/ojosdegato\/"},false]}},"yasr_visitor_votes":{"stars_attributes":{"read_only":false,"span_bottom":false},"number_of_votes":0,"sum_votes":0},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/javiercachon.com\/wp-content\/uploads\/2025\/05\/Las-variables-y-tipos-de-datos-en-el-lenguaje-Java-21.jpg","jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/javiercachon.com\/es\/wp-json\/wp\/v2\/posts\/4773","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/javiercachon.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/javiercachon.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/javiercachon.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/javiercachon.com\/es\/wp-json\/wp\/v2\/comments?post=4773"}],"version-history":[{"count":0,"href":"https:\/\/javiercachon.com\/es\/wp-json\/wp\/v2\/posts\/4773\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/javiercachon.com\/es\/wp-json\/wp\/v2\/media\/4774"}],"wp:attachment":[{"href":"https:\/\/javiercachon.com\/es\/wp-json\/wp\/v2\/media?parent=4773"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/javiercachon.com\/es\/wp-json\/wp\/v2\/categories?post=4773"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/javiercachon.com\/es\/wp-json\/wp\/v2\/tags?post=4773"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}