{"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\/en\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/","title":{"rendered":"Variables and data types in the Java language 21."},"content":{"rendered":"<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\">Article table of contents.<\/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=\"Toggle Table of Content\"><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\/en\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#Introduccion\" >Introduction<\/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\/en\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#1_Las_variables_en_el_lenguaje_Java_21\" >1. Variables in the Java language 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\/en\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#2_Las_variables_primitivas_en_Java\" >2. Primitive variables in 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\/en\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#3_Los_datos_simples_ordinales_o_enteros_en_el_lenguaje_Java\" >3. Simple ordinal or integer data in the Java language<\/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\/en\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#4_Los_datos_simples_reales_en_el_lenguaje_Java\" >4. Real simple data in Java language<\/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\/en\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#5_Las_variables_boolean_y_char\" >5. Boolean and char variables<\/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\/en\/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\/en\/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\/en\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#6_Nombres_de_las_variables\" >6. Variable names<\/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\/en\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#7_Literales_numericos\" >7. Numeric literals<\/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\/en\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#8_Ambito_de_existencia_de_las_variables\" >8. Scope of existence of the 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\/en\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#9_La_clase_String\" >9. The String class<\/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\/en\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#10_%C2%BFQue_es_una_variable_constante\" >10 What is a constant variable?<\/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\/en\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#11_Las_variables_var_en_Java\" >11. Var variables in 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\/en\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#Ventajas_y_Desventajas_de_Usar_var\" >Advantages and Disadvantages of Using 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\/en\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#12_Tabla_de_tipos_de_datos_en_Java_con_sus_caracteristicas\" >12. Table of data types in Java with their characteristics<\/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\/en\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#13_Ejemplos_practicos_de_uso_de_cada_tipo_de_dato_en_Java\" >13. Practical examples of using each data type in 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\/en\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#14_Programa_completo_en_Java_con_todos_los_tipos_de_datos\" >14. Complete Java program with all data types<\/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\/en\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#15_Distintas_formas_de_definir_una_variable_en_Java\" >15. Different ways to define a variable in 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\/en\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#151_Declaracion_e_Inicializacion_en_una_Unica_Instruccion\" >15.1. Declaration and Initialization in a Single Instruction<\/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\/en\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#152_Declaracion_sin_Inicializacion_Asignacion_Posterior\" >15.2. Declaration without Initialization (Post Assignment)<\/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\/en\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#153_Declaracion_Multiple_en_una_Unica_Linea\" >15.3. Multiple Declarations on a Single Line<\/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\/en\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#154_Declaracion_en_Bloques_y_en_Bucles\" >15.4. Block and Loop Declarations<\/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\/en\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#155_Variables_de_Instancia_y_de_Clase\" >15.5. Instance and Class Variables<\/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\/en\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#156_Declaracion_de_Variables_Inmutables_Constantes\" >15.6. Declaration of Immutable Variables (Constants)<\/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\/en\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#157_Declaracion_con_Inferencia_de_Tipos_Usando_var\" >15.7. Declaration with Type Inference Using 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\/en\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#16_Conversion_entre_tipos_de_datos_primitivos_en_Java\" >16. Converting between primitive data types in 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\/en\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#161_Conversion_implicita_automatica\" >16.1. Implicit (automatic) conversion<\/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\/en\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#162_Conversion_explicita_manual_o_%C2%ABcasting%C2%BB\" >16.2. Explicit conversion (manual or &quot;casting&quot;)<\/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\/en\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#163_Resumen_de_conversiones\" >16.3 Conversion Summary<\/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\/en\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/#Resumen\" >Summary<\/a><\/li><\/ul><\/nav><\/div>\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Introduccion\"><\/span>Introduction<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p>En el mundo de la programaci\u00f3n, <strong>a 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>On the other hand, <strong>a data type<\/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=\"\" data-no-auto-translation=\"\">int<\/code>, <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">double<\/code> either <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">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. Variables in the Java language 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=\"\" data-no-auto-translation=\"\">var<\/code> to allow type inference on local variables without losing type safety. This helps reduce verbosity when the type is evident from the assigned value.<\/p>\n\n\n\n<p>In Java, a variable is declared by indicating the <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">tipo de dato<\/code> and a <strong>name for the variable<\/strong>. La sintaxis b\u00e1sica es <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">tipo nombreDeVariable;<\/code> , see a <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=\"\" data-no-auto-translation=\"\">\/\/ 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>The flexibility it offers <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">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. Primitive variables in Java<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p>Java defines eight primitive data types: <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">byte<\/code>, <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">short<\/code>, <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">int<\/code>, <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">long<\/code>, <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">float<\/code>, <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">double<\/code>, <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">boolean<\/code> and <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">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=\"\" data-no-auto-translation=\"\">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. Simple ordinal or integer data in the Java language<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=\"\" data-no-auto-translation=\"\">byte<\/code>: 8 bits (range -128 to 127)<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\" data-no-auto-translation=\"\">short<\/code>: 16 bits (range -32,768 to 32,767)<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\" data-no-auto-translation=\"\">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=\"\" data-no-auto-translation=\"\">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>Example:<\/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=\"\" data-no-auto-translation=\"\">byte edad = 25;\nshort cantidadEstudiantes = 320;\nint numeroDeUsuarios = 1_000_000;\nlong distanciaEnMetros = 9_461_000_000L;<\/pre>\n\n\n\n<p>Using the right type prevents unnecessary memory usage, which is especially important in resource-constrained applications.<\/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. Real simple data in Java language<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=\"\" data-no-auto-translation=\"\">float<\/code>: Precisi\u00f3n simple (32 bits). Se debe utilizar un sufijo <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">F<\/code> (either <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">f<\/code>) in the literal.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\" data-no-auto-translation=\"\">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>Example:<\/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=\"\" data-no-auto-translation=\"\">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. Boolean and char variables<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>The guy <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">boolean<\/code> almacena valores l\u00f3gicos, y solo puede contener <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">true<\/code> either <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">false<\/code>. It is mainly used in conditional expressions and control structures.<\/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=\"\" data-no-auto-translation=\"\">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>The guy <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">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=\"\" data-no-auto-translation=\"\">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. Variable names<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>They must start with a letter, an underscore <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">_<\/code> or a dollar sign <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">$<\/code> (aunque este \u00faltimo raramente se usa).<\/li>\n\n\n\n<li>Pueden incluir d\u00edgitos, pero <strong>No<\/strong> must start with them.<\/li>\n\n\n\n<li>Are <em>case-sensitive<\/em> (For example, <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">edad<\/code> and <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">Edad<\/code> are considered different).<\/li>\n\n\n\n<li>Se recomienda usar la convenci\u00f3n <em>camelCase<\/em> for compound nouns (example: <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">numeroDeEstudiantes<\/code>).<\/li>\n<\/ul>\n\n\n\n<p><strong>Example:<\/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=\"\" data-no-auto-translation=\"\">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. Numeric literals<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=\"\" data-no-auto-translation=\"\">int decimal = 50;<\/pre>\n\n\n\n<p><strong>Hexadecimal:<\/strong> The prefix is used <strong>0x<\/strong> either <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=\"\" data-no-auto-translation=\"\">int hexadecimal = 0x1A; \/\/ 26 en decimal<\/pre>\n\n\n\n<p><strong>Binary:<\/strong> Since Java 7 the prefix is used <strong>0b<\/strong> either <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=\"\" data-no-auto-translation=\"\">int binario = 0b1101; \/\/ 13 en decimal<\/pre>\n\n\n\n<p><strong>Octal:<\/strong> Represented with a <strong>0<\/strong> initial.<\/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=\"\" data-no-auto-translation=\"\">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. Scope of existence of the 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>Local variables:<\/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=\"\" data-no-auto-translation=\"\">public void metodo() {\n    int contador = 0; \/\/ Variable local\n}<\/pre>\n\n\n\n<p><strong>Instance variables:<\/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=\"\" data-no-auto-translation=\"\">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> Declared with the static modifier, they belong to the class and are shared by all instances.<\/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=\"\" data-no-auto-translation=\"\">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. The String class<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p>Although used to represent text, variables of type <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">String<\/code> In Java they are objects of the class <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">String<\/code>, no tipos primitivos. Una caracter\u00edstica fundamental es que las cadenas son <strong>immutable<\/strong>: Once created, their value cannot be modified. This improves security and allows for efficient use of the <em>String pool<\/em>.<\/p>\n\n\n\n<p>In Java, a <strong>String variable<\/strong> It is a variable that stores a sequence of characters and, unlike primitive types, is an object of the class <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">String<\/code>This implies the following:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>Immutability:<\/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=\"\" data-no-auto-translation=\"\">String<\/code>.<\/li>\n\n\n\n<li><strong>M\u00e9todos \u00fatiles:<\/strong> The class <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">String<\/code> viene equipada con numerosos m\u00e9todos que facilitan la manipulaci\u00f3n del texto, como <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">length()<\/code>, <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">toUpperCase()<\/code>, <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">substring()<\/code>, <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">replace()<\/code>, among others.<\/li>\n\n\n\n<li><strong>Literalness:<\/strong> Strings are defined by enclosing the text in double quotes.<\/li>\n\n\n\n<li><strong>Chain Pool:<\/strong> Java gestiona un \u00abpool\u00bb de cadenas, lo que permite reutilizar instancias de <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">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=\"\" data-no-auto-translation=\"\">String saludo = \"Hola, mundo!\";<\/pre>\n\n\n\n<p>In summary, the variables <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">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=\"\" data-no-auto-translation=\"\">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 What is a constant variable?<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p>A <strong>constant variable<\/strong> It is an identifier to which a value is assigned that cannot be modified once set. In Java, the way to define a constant is by using the keyword <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">final<\/code>. When declaring a variable as <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">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>Example of a constant variable:<\/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=\"\" data-no-auto-translation=\"\">final double PI = 3.14159;\nfinal int MESES_EN_UN_A\u00d1O = 12;<\/pre>\n\n\n\n<p>In these examples, <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">PI<\/code> and <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">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. The variables <strong>var<\/strong> in Java<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p>The keyword <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">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>Advantages and Disadvantages of Using <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">var<\/code><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p><strong>Advantages:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Reduce verbosity:<\/strong> It is not necessary to repeat the type when it is deduced from the assigned value.<\/li>\n\n\n\n<li><strong>Improves maintainability:<\/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>Disadvantages:<\/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>Limited to local variables:<\/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> Its indiscriminate use can lead to errors if the inferred type is not the expected one.<\/li>\n<\/ul>\n\n\n\n<p><strong>Example of use:<\/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=\"\" data-no-auto-translation=\"\">var numero = 100;            \/\/ Se infiere como int\nvar mensaje = \"Hola, Java\";   \/\/ Se infiere como String<\/pre>\n\n\n\n<p>The proper use of <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">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. Table of data types in Java with their characteristics<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>Data Type<\/strong><\/th><th><strong>Tama\u00f1o en Memoria<\/strong><\/th><th><strong>Rango \/ Precisi\u00f3n<\/strong><\/th><th><strong>Characteristics<\/strong><\/th><\/tr><\/thead><tbody><tr><td><strong>byte<\/strong><\/td><td>8 bits<\/td><td>-128 to 127<\/td><td>Integer; ideal for operations with few values and saving memory in large arrays.<\/td><\/tr><tr><td><strong>short<\/strong><\/td><td>16 bits<\/td><td>-32,768 to 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 and 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-bit<\/td><td>-9,223,372,036,854,775,808 and<br> 9,223,372,036,854,775,807&nbsp;<\/td><td>Integer for very large values; requires suffix <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">L<\/code> in literals.<\/td><\/tr><tr><td><strong>float<\/strong><\/td><td>32 bits<\/td><td>Approximately 1.4E-45 to 3.4028235E38 (6-7 decimal places)<\/td><td>Punto flotante de precisi\u00f3n simple; requiere sufijo <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">F<\/code>.<\/td><\/tr><tr><td><strong>double<\/strong><\/td><td>64-bit<\/td><td>Approximately 4.9E-324 to 1.7976931348623157E308 (15 decimal places)<\/td><td>Punto flotante de doble precisi\u00f3n; tipo por defecto para n\u00fameros reales.<\/td><\/tr><tr><td><strong>boolean<\/strong><\/td><td>Not exactly defined<\/td><td><code class=\"\" data-line=\"\" data-no-auto-translation=\"\">true<\/code> either <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">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 to 65,535 (Unicode values)<\/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 (depends on content)<\/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>Not applicable<\/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=\"\" data-no-auto-translation=\"\">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. Practical examples of using each data type in 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=\"\" data-no-auto-translation=\"\">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=\"\" data-no-auto-translation=\"\">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=\"\" data-no-auto-translation=\"\">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=\"\" data-no-auto-translation=\"\">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=\"\" data-no-auto-translation=\"\">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=\"\" data-no-auto-translation=\"\">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=\"\" data-no-auto-translation=\"\">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=\"\" data-no-auto-translation=\"\">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=\"\" data-no-auto-translation=\"\">String saludo = \"Hola, mundo!\";\nSystem.out.println(\"Saludo (String): \" + saludo);<\/pre>\n\n\n\n<p>var (inferred)<\/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=\"\" data-no-auto-translation=\"\">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. Complete Java program with all data types<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=\"\" data-no-auto-translation=\"\">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>Variables of each type (primitive and reference) are declared.<\/li>\n\n\n\n<li>Variables are used with <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">var<\/code> to demonstrate type inference.<\/li>\n\n\n\n<li>The value of each variable is printed.<\/li>\n<\/ul>\n\n\n\n<p>We create a file called <strong><code class=\"\" data-line=\"\" data-no-auto-translation=\"\">TiposDeDatos.java<\/code><\/strong> , we compile and run with <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">javac<\/code> and <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">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=\"\" data-no-auto-translation=\"\">$ 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. Different ways to define a variable in 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. Declaration and Initialization in a Single Instruction<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=\"\" data-no-auto-translation=\"\">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. Declaration without Initialization (Post Assignment)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>The variable is declared without immediately assigning a value to it, to initialize it later. <em>It is essential to assign a value before using it, especially with local variables.<\/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=\"\" data-no-auto-translation=\"\">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. Multiple Declarations on a Single Line<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=\"\" data-no-auto-translation=\"\">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. Block and Loop Declarations<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=\"\" data-no-auto-translation=\"\">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. Instance and Class Variables<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p><strong>Instance Variables:<\/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=\"\" data-no-auto-translation=\"\">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> Declared with the keyword <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">static<\/code>, belong to the class and are shared by all instances.<\/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=\"\" data-no-auto-translation=\"\">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. Declaration of Immutable Variables (Constants)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>A <strong>constant variable<\/strong> es aquella a la que se le asigna un valor \u00fanico que <strong>can&#039;t change<\/strong> durante la ejecuci\u00f3n del programa.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The keyword is used <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">final<\/code> to declare them.<\/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=\"\" data-no-auto-translation=\"\">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>With <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">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=\"\" data-no-auto-translation=\"\">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. Converting between primitive data types in Java<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p>In Java, there are two main ways to convert data from one type to another when working with primitive types:<\/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. Implicit (automatic) conversion<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>La conversi\u00f3n impl\u00edcita ocurre cuando el <strong>Java compiler<\/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=\"\" data-no-auto-translation=\"\">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=\"\" data-no-auto-translation=\"\">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> The value of the type <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">int<\/code> (<code class=\"\" data-line=\"\" data-no-auto-translation=\"\">100<\/code>) se convierte autom\u00e1ticamente a <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">double<\/code>, sin necesidad de realizar ning\u00fan \u00abcasting\u00bb. No hay p\u00e9rdida de datos porque <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">double<\/code> tiene mayor precisi\u00f3n y tama\u00f1o que <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">int<\/code>.<\/p>\n\n\n\n<p>Another example with <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">float<\/code> and <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">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=\"\" data-no-auto-translation=\"\">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=\"\" data-no-auto-translation=\"\">double<\/code> tiene m\u00e1s capacidad de almacenamiento que <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">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. Explicit conversion (manual or &quot;casting&quot;)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>La conversi\u00f3n expl\u00edcita es cuando <strong>the programmer<\/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=\"\" data-no-auto-translation=\"\">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=\"\" data-no-auto-translation=\"\">9.99<\/code> is stored as <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">double<\/code>, but when converting it to <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">int<\/code>, <strong>the decimal part is lost<\/strong> and only remains <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">9<\/code>. Este es un ejemplo cl\u00e1sico de p\u00e9rdida de precisi\u00f3n al hacer un casting de <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">double<\/code> to <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">int<\/code>.<\/p>\n\n\n\n<p>Another example with <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">long<\/code> and <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">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=\"\" data-no-auto-translation=\"\">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=\"\" data-no-auto-translation=\"\">long<\/code> to <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">short<\/code> funciona, pero si el n\u00famero <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">long<\/code> would have been greater than the range of <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">short<\/code> (-32,768 to 32,767), <strong>el resultado ser\u00eda incorrecto<\/strong> due to data overflow (<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 Conversion Summary<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>Example<\/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=\"\" data-no-auto-translation=\"\">int \u2192 double<\/code>, <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">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=\"\" data-no-auto-translation=\"\">(tipo)<\/code><\/td><td>S\u00ed, si el tipo destino es m\u00e1s peque\u00f1o<\/td><td><code class=\"\" data-line=\"\" data-no-auto-translation=\"\">double \u2192 int<\/code>, <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">long \u2192 short<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Conversion Tips:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use <strong>conversiones impl\u00edcitas<\/strong> when Java can handle the change smoothly.<\/li>\n\n\n\n<li>Use <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=\"\" data-no-auto-translation=\"\">double<\/code> to <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">int<\/code>, since it eliminates the decimal part.<\/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>Summary<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p>This tour has covered the fundamental aspects of managing variables and data types in Java 21:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Variables in Java:<\/strong> Son contenedores de datos con un tipo definido y un nombre. La introducci\u00f3n de <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">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>Primitive Types and Simple Data:<\/strong> Included <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">byte<\/code>, <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">short<\/code>, <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">int<\/code>, <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">long<\/code>, <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">float<\/code>, <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">double<\/code>, <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">boolean<\/code> and <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">char<\/code>, cada uno optimizado para distintos fines (almacenamiento, c\u00e1lculos y representaci\u00f3n).<\/li>\n\n\n\n<li><strong>Integer and Real Data:<\/strong> Se utilizan para almacenar n\u00fameros sin y con decimales, respectivamente, esenciales en toda aplicaci\u00f3n.<\/li>\n\n\n\n<li><strong>Boolean and Char variables:<\/strong> Manejan valores l\u00f3gicos y caracteres \u00fanicos.<\/li>\n\n\n\n<li><strong>Nomenclature and Literals:<\/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> Understanding scope (local, instance, or class) is essential to avoid errors.<\/li>\n\n\n\n<li><strong>The String Class:<\/strong> It is used to handle character sequences in an immutable way.<\/li>\n\n\n\n<li><strong>Use of <\/strong><code class=\"\" data-line=\"\" data-no-auto-translation=\"\">var<\/code><strong>:<\/strong> Provides flexibility through type inference, with advantages and some limitations.<\/li>\n\n\n\n<li><strong>Declaraci\u00f3n de Constantes:<\/strong> Through <code class=\"\" data-line=\"\" data-no-auto-translation=\"\">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>Ways to Declare 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=\"\" data-no-auto-translation=\"\">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\/en\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\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\/en\/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=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Javier Cach\u00f3n Garrido\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutes\" \/>\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\":\"en-US\",\"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\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/javiercachon.com\\\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@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\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/javiercachon.com\\\/es\\\/#\\\/schema\\\/person\\\/56ea56e1350676921cc43a3bcfd6c997\",\"name\":\"Javier Cach\u00f3n Garrido\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@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\\\/en\\\/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\/en\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/","og_locale":"en_US","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\/en\/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":{"Written by":"Javier Cach\u00f3n Garrido","Est. reading time":"13 minutes"},"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":"en-US","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":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/javiercachon.com\/las-variables-y-tipos-de-datos-en-el-lenguaje-java-21\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@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":"It is a revolutionary educational platform that seeks to democratize access to computer science knowledge.","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":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/javiercachon.com\/es\/#\/schema\/person\/56ea56e1350676921cc43a3bcfd6c997","name":"Javier Cach\u00f3n Garrido","image":{"@type":"ImageObject","inLanguage":"en-US","@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\/en\/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\/en\/wp-json\/wp\/v2\/posts\/4773","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/javiercachon.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/javiercachon.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/javiercachon.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/javiercachon.com\/en\/wp-json\/wp\/v2\/comments?post=4773"}],"version-history":[{"count":0,"href":"https:\/\/javiercachon.com\/en\/wp-json\/wp\/v2\/posts\/4773\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/javiercachon.com\/en\/wp-json\/wp\/v2\/media\/4774"}],"wp:attachment":[{"href":"https:\/\/javiercachon.com\/en\/wp-json\/wp\/v2\/media?parent=4773"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/javiercachon.com\/en\/wp-json\/wp\/v2\/categories?post=4773"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/javiercachon.com\/en\/wp-json\/wp\/v2\/tags?post=4773"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}