<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es_ES"><generator uri="https://jekyllrb.com/" version="4.3.2">Jekyll</generator><link href="https://www.manualweb.net/feed/java.xml" rel="self" type="application/atom+xml" /><link href="https://www.manualweb.net/" rel="alternate" type="text/html" hreflang="es_ES" /><updated>2026-01-29T16:33:46+01:00</updated><id>https://www.manualweb.net/feed/java.xml</id><title type="html">Manual Web | Java</title><subtitle>Tutoriales de programación en español.
</subtitle><author><name>manual_web</name></author><entry><title type="html">Variables en Java</title><link href="https://www.manualweb.net/java/variables-java/" rel="alternate" type="text/html" title="Variables en Java" /><published>2026-01-29T16:33:46+01:00</published><updated>2026-01-29T16:33:46+01:00</updated><id>https://www.manualweb.net/java/variables-java</id><content type="html" xml:base="https://www.manualweb.net/java/variables-java/"><![CDATA[<h2 id="qué-son-las-variables-en-java">¿Qué son las variables en Java?</h2>

<p>Las variables Java son un espacio de memoria en el que guardamos un determinado valor (o dato). Para definir una variable seguiremos la estructura:</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="o">[</span><span class="n">privacidad</span><span class="o">]</span> <span class="n">tipo_variable</span> <span class="n">identificador</span><span class="o">;</span>
</code></pre></div></div>

<p><a href="http://www.manualweb.net/tutorial-java/" title="Manual Java">Java</a> es un lenguaje de tipado estático. Por lo cual todas las variables tendrán un tipo de dato (ya sea un <strong>tipo de dato primitivo</strong> o una <strong>clase</strong>) y un nombre de identificador.</p>

<p>El tipo de dato se asignará a la hora de definir la variable. Además, en el caso de que las variables sean propiedades de objetos tendrán una privacidad.</p>

<p>Ejemplos de variables serían…</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">int</span> <span class="n">numero</span> <span class="o">=</span> <span class="mi">2</span><span class="o">;</span>
<span class="nc">String</span> <span class="n">cadena</span> <span class="o">=</span> <span class="s">"Hola"</span><span class="o">;</span>
<span class="kt">long</span> <span class="n">decimal</span> <span class="o">=</span> <span class="mf">2.4</span><span class="o">;</span>
<span class="kt">boolean</span> <span class="n">flag</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
</code></pre></div></div>

<p>Las variables son utilizadas como propiedades dentro de los objetos.</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">class</span> <span class="nc">Triangulo</span> <span class="o">{</span>
    <span class="kd">private</span> <span class="kt">long</span> <span class="n">base</span><span class="o">;</span>
    <span class="kd">private</span> <span class="kt">long</span> <span class="n">altura</span><span class="o">;</span>
<span class="o">}</span>
</code></pre></div></div>

<blockquote>
  <p>No te preocupes por el concepto de objeto, ya que lo revisaremos más adelante cuando hablemos de la Programación Orientada a Objetos</p>
</blockquote>

<h2 id="tipos-de-variables-en-java">Tipos de variables en Java</h2>

<p>Dentro de <a href="http://www.manualweb.net/tutorial-java/" title="Manual Java">Java</a> podemos encontrar los siguientes tipos de variables:</p>

<ul>
  <li><strong>Variables de instancia (campos no estáticos)</strong>, son las variables que están definidas dentro de un objeto pero que no tienen un modificador de estáticas (static). Suelen llevar un modificador de visibilidad (public, private, protected) definiéndose.</li>
</ul>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">class</span> <span class="nc">Triangulo</span> <span class="o">{</span>
    <span class="kd">private</span> <span class="kt">long</span> <span class="n">base</span><span class="o">;</span>
    <span class="kd">private</span> <span class="kt">long</span> <span class="n">altura</span><span class="o">;</span>
<span class="o">}</span>
</code></pre></div></div>

<ul>
  <li><strong>Variables de clase (campos estáticos)</strong>, son aquellas variables que están precedidas del modificador static. Esto indica que solo hay una instancia de dicha variable. Es decir, aunque tengamos N objetos de la clase, la variable estática solo se instancia una vez.</li>
</ul>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">class</span> <span class="nc">Triangulo</span> <span class="o">{</span>
    <span class="kd">static</span> <span class="kt">long</span> <span class="n">lados</span> <span class="o">=</span> <span class="mi">3</span><span class="o">;</span>
<span class="o">}</span>
</code></pre></div></div>

<p>Si además queremos que el valor no pueda cambiar nunca la definiremos como final.</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">class</span> <span class="nc">Matematicas</span> <span class="o">{</span>
    <span class="kd">final</span> <span class="kd">static</span> <span class="kt">long</span> <span class="no">PI</span> <span class="o">=</span> <span class="mf">3.14159</span><span class="o">;</span>
<span class="o">}</span>
</code></pre></div></div>

<ul>
  <li><strong>Variables locales</strong>, son variables temporales cuyo ámbito de visibilidad es el método sobre el que están definidas. No pueden ser accedidas desde otra parte del código. Se las distingue de las variables de instancia ya que estas no llevan modificadores de visibilidad delante.</li>
</ul>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">int</span> <span class="n">variable</span> <span class="o">=</span> <span class="mi">2</span><span class="o">;</span>
</code></pre></div></div>

<ul>
  <li><strong>Parámetros</strong>, son las variables recibidas como parámetros de los métodos. Su visibilidad será el código que contenga dicho método.</li>
</ul>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="nf">Triangulo</span><span class="o">(</span><span class="kt">long</span> <span class="n">base</span><span class="o">,</span> <span class="kt">long</span> <span class="n">altura</span><span class="o">){...}</span>
</code></pre></div></div>

<h2 id="nombres-de-las-variables-java">Nombres de las variables Java</h2>

<p>Cuando vayamos a dar un nombre a una variable deberemos de tener en cuenta una serie de normas. Es decir, no podemos poner el nombre que nos dé la gana a una variable.</p>

<p>Los identificadores son secuencias de texto unicode, sensibles a mayúsculas cuya primer carácter solo puede ser una letra, número, símbolo dolar $ o subrayado _ . Si bien es verdad que el símbolo dolar no es utilizado por convención.</p>

<p>Es recomendable que los nombres de los identificadores sean legibles y no acrónimos que no podamos leer. De tal manera que a la hora de verlos se auto-documenten por sí mismos. Además estos identificadores nunca podrán coincidir con las palabras reservadas.</p>

<p>Algunas reglas no escritas, pero que se han asumido por convención son:</p>

<ul>
  <li>Los identificadores siempre se escriben en minúsculas. (pe. nombre). Y si son dos o más palabras, el inicio de cada siguiente palabra se escriba en mayúsculas (pe. nombrePersona)</li>
  <li>Si el identificador implica que sea una constante. Es decir que hayamos utilizado los modificadores final static, dicho nombre se suele escribir en mayúsculas (pe. LETRA). Y si la constante está compuesta de dos palabras, estas se separan con un subrayado (pe. LETRA_PI).</li>
</ul>]]></content><author><name>manual_web</name></author><summary type="html"><![CDATA[¿Qué son las variables en Java?]]></summary></entry><entry><title type="html">Tipos de Datos Primitivos en Java</title><link href="https://www.manualweb.net/java/tipos-datos-primitivos-java/" rel="alternate" type="text/html" title="Tipos de Datos Primitivos en Java" /><published>2026-01-29T16:33:46+01:00</published><updated>2026-01-29T16:33:46+01:00</updated><id>https://www.manualweb.net/java/tipos-dato-primitivos</id><content type="html" xml:base="https://www.manualweb.net/java/tipos-datos-primitivos-java/"><![CDATA[<h2 id="qué-son-los-tipos-de-datos-primitivos-en-java">¿Qué son los tipos de datos primitivos en Java?</h2>

<p>Como ya hemos comentado <a href="http://www.manualweb.com/tutorial-java/">Java</a> es un lenguaje de tipado estático. Es decir, se define el tipo de dato de la variable a la hora de definir esta. Es por ello que todas las variables tendrán un tipo de dato asignado.</p>

<p>El lenguaje <a href="http://www.manualweb.com/tutorial-java/">Java</a> da de base una serie de tipos de datos primitivos.</p>

<ul>
  <li>byte</li>
  <li>short</li>
  <li>int</li>
  <li>long</li>
  <li>float</li>
  <li>double</li>
  <li>boolean</li>
  <li>char</li>
</ul>

<p>Es importante saber que estos son tipos de datos del lenguaje y que no representan objetos. Cosa que sí sucede con el resto de elementos del lenguaje <a href="http://www.manualweb.com/tutorial-java/">Java</a>.</p>

<h3 id="byte">byte</h3>

<p>Representa un tipo de dato de 8 bits con signo. De tal manera que puede almacenar los valores numéricos de -128 a 127 (ambos inclusive).</p>

<h3 id="short">short</h3>

<p>Representa un tipo de dato de 16 bits con signo. De esta manera almacena valores numéricos de -32.768 a 32.767.</p>

<h3 id="int">int</h3>

<p>Es un tipo de dato de 32 bits con signo para almacenar valores numéricos. Cuyo valor mínimo es -2<sup>31</sup> y el valor máximo 2<sup>31</sup>-1.</p>

<h3 id="long">long</h3>

<p>Es un tipo de dato de 64 bits con signo que almacena valores numéricos entre -2<sup>63</sup> a 2<sup>63</sup>-1</p>

<h3 id="float">float</h3>

<p>Es un tipo dato para almacenar números en coma flotante con precisión simple de 32 bits.</p>

<h3 id="double">double</h3>

<p>Es un tipo de dato para almacenar números en coma flotante con doble precisión de 64 bits.</p>

<h3 id="boolean">boolean</h3>

<p>Sirve para definir tipos de datos booleanos. Es decir, aquellos que tienen un valor de true o false. Ocupa 1 bit de información.</p>

<h3 id="char">char</h3>

<p>Es un tipo de datos que representa a un carácter Unicode sencillo de 16 bits.</p>

<h2 id="valores-por-defecto-de-los-tipos-de-datos-primitivos">Valores por defecto de los tipos de datos primitivos</h2>

<p>En el caso de que definamos una variable y no le demos ningún valor, por defecto llevarán los siguientes valores:</p>

<table>
  <thead>
    <tr>
      <th>Dato Primitivo</th>
      <th>Valor por Defecto</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>byte</td>
      <td>0</td>
    </tr>
    <tr>
      <td>short</td>
      <td>0</td>
    </tr>
    <tr>
      <td>int</td>
      <td>0</td>
    </tr>
    <tr>
      <td>long</td>
      <td>0L</td>
    </tr>
    <tr>
      <td>float</td>
      <td>0.0f</td>
    </tr>
    <tr>
      <td>double</td>
      <td>0.0d</td>
    </tr>
    <tr>
      <td>char</td>
      <td>‘u0000’</td>
    </tr>
    <tr>
      <td>String (o cualquier objeto)</td>
      <td>null</td>
    </tr>
    <tr>
      <td>boolean</td>
      <td>false</td>
    </tr>
  </tbody>
</table>

<p>Hay un tipo de dato <a href="http://www.manualweb.net/java/clase-string-representando-una-cadena/">String</a> para el manejo de cadenas que no es en sí un tipo de dato primitivo. Con el tipo de dato String podemos manejar cadenas de caracteres separadas por dobles comillas.</p>

<p>El elemento <a href="http://www.manualweb.net/java/clase-string-representando-una-cadena/">String</a> es un tipo de dato inmutable. Es decir, que una vez creado, su valor no puede ser cambiado.</p>

<p>El <a href="http://www.manualweb.net/java/clase-string-representando-una-cadena/">String</a> no es un tipo de dato primitivo del lenguaje <a href="http://www.manualweb.com/tutorial-java/">Java</a>. Pero su uso es igual de importante que el de los tipos de datos revisados aquí. Veremos más en detalle el uso del tipo <a href="http://www.manualweb.net/java/clase-string-representando-una-cadena/">String</a>.</p>]]></content><author><name>manual_web</name></author><summary type="html"><![CDATA[¿Qué son los tipos de datos primitivos en Java?]]></summary></entry><entry><title type="html">Tecnologías Java</title><link href="https://www.manualweb.net/java/tecnologias-java/" rel="alternate" type="text/html" title="Tecnologías Java" /><published>2026-01-29T16:33:46+01:00</published><updated>2026-01-29T16:33:46+01:00</updated><id>https://www.manualweb.net/java/tecnologias</id><content type="html" xml:base="https://www.manualweb.net/java/tecnologias-java/"><![CDATA[<p>Dentro de <a href="http://www.manualweb.net/tutorial-java/" title="Manual Java">Java</a> existen diferentes tecnologías de desarrollo, cada una enfocada a un fin diferente, ya sea la base del lenguaje <a href="http://www.manualweb.net/tutorial-java/" title="Manual Java">Java</a>, <a href="http://www.manualweb.net/tutorial-java/" title="Manual Java">Java</a> para el ámbito empresarial, <a href="http://www.manualweb.net/tutorial-java/" title="Manual Java">Java</a> para el desarrollo de aplicaciones móviles,…</p>

<p>Cada una de las tecnologías de desarrollo del lenguaje <a href="http://www.manualweb.net/tutorial-java/" title="Manual Java">Java</a> contiene:</p>

<ol>
  <li>Java Virtual Machine (JVM)</li>
  <li>API de desarrollo de la plataforma</li>
</ol>

<p>La aplicación se ejecuta dentro de la <em>Java Virtual Machine (JVM)</em> y tiene capacidad de accerder al API, que son las librerías con funcionalidades que nos ofrece <a href="http://www.manualweb.net/tutorial-java/" title="Manual Java">Java</a>.</p>

<p>Las tecnologías que existen en la <strong>plataforma <a href="http://www.manualweb.net/tutorial-java/" title="Manual Java">Java</a></strong> son:</p>

<ul>
  <li>Java SE</li>
  <li>Java EE</li>
  <li>Java ME</li>
  <li>Java Card</li>
</ul>

<h2 id="java-se">Java SE</h2>

<p>Java SE es la plataforma estándar y objetivo de este tutorial sobre <a href="http://www.manualweb.net/tutorial-java/" title="Manual Java">Java</a> en la cual se recogen todas las funcionalidades básicas del lenguaje.</p>

<p>Dentro de estas funcionalidades básicas de <a href="http://www.manualweb.net/tutorial-java/" title="Manual Java">Java</a> encontramos: el uso de <strong>colecciones</strong>, acceso a ficheros con <strong>Java IO y NIO</strong> y bases de datos con <strong>JDBC</strong>, librerías para el desarrollo de aplicaciones de escritorio o web como <strong>Swing</strong> o <strong>JavaFX</strong>, librerías para la <strong>fecha y hora</strong>, posibilidad de crear aplicaciones <strong>multi-hilo</strong>, capacidades para realizar <strong>conexiones en red</strong>, manejo de contenido <strong><a href="http://www.manualweb.net/tutorial-xml/" title="Manual XML">XML</a></strong>… incluso incluye la base de datos <strong>Java DB</strong> para el uso en memoria.</p>

<p>Si estás empezando con <a href="http://www.manualweb.net/tutorial-java/" title="Manual Java">Java</a> lo más normal es que te bajes las librerías de Java SE.</p>

<p>Puedes consultar <a href="http://www.oracle.com/technetwork/java/javase/tech/index.html">todo el contenido de Java SE</a>.</p>

<h2 id="java-ee">Java EE</h2>

<p>Java EE se crea para poder realizar aplicaciones empresariales con <a href="http://www.manualweb.net/tutorial-java/" title="Manual Java">Java</a>. De esta forma se dota a Java EE con capacidades de desarrollo de aplicaciones de servidor con tecnologías como <strong>Servlets</strong>, <strong>JSP</strong> o <strong>EJB</strong>.</p>

<p>Java EE nos permite realizar el desarrollo de servicios, ya sean WSDL (con <strong>JAX-WS</strong>), REST (con <strong>JAX-RS</strong>), o la creación de <strong>websockets</strong>.</p>

<p>Además ofrece un API de persistencia de objetos con <strong>JPA</strong>, capacidades de mensajería con <strong>Java Message</strong>, de email con <strong>Java Mail</strong> o gestión de <strong>procesos batch</strong>.</p>

<p>Puedes consultar <a href="http://www.oracle.com/technetwork/java/javaee/tech/index.html">todo el contenido de Java EE</a>.</p>

<h2 id="java-me">Java ME</h2>

<p>Java ME es la implementación de <a href="http://www.manualweb.net/tutorial-java/" title="Manual Java">Java</a> que nace para la creación de aplicaciones móviles.</p>

<p>Si bien con el paso del tiempo se ha ido enfocando más para el desarrollo de dispositivos <em>IoT (Internet of Things)</em>: televisiones, sensores, impresoras,…</p>

<p>Así, dentro de Java ME podemos encontrar:</p>

<ul>
  <li><strong>Java TV</strong>, para el desarrollo de aplicaciones en TV o en dispositivos multimedia.</li>
  <li><strong>Java Embedded</strong>, que nos permite crear diferentes perfiles de desarrollo de “aplicaciones incrustadas”, que además no tienen interface gráfica.</li>
</ul>

<p>Puedes encontrar <a href="http://www.oracle.com/technetwork/java/embedded/javame/index.html">más información sobre lo que es Java ME</a></p>

<h2 id="java-cards">Java Cards</h2>

<p>Es la tecnología de <a href="http://www.manualweb.net/tutorial-java/" title="Manual Java">Java</a> que nos sirve para el desarrollo de aplicaciones que vayan a ir en tarjetas inteligentes, aquellas que llevan un chip y poca capacidad de procesamiento y memoria.</p>

<p>Puedes <a href="http://www.oracle.com/technetwork/java/embedded/javacard/documentation/index.html">leer más sobre Java Cards</a> y las capacidades que ofrece.</p>]]></content><author><name>manual_web</name></author><summary type="html"><![CDATA[Dentro de Java existen diferentes tecnologías de desarrollo, cada una enfocada a un fin diferente, ya sea la base del lenguaje Java, Java para el ámbito empresarial, Java para el desarrollo de aplicaciones móviles,…]]></summary></entry><entry><title type="html">Sentencias Ramificación en Java</title><link href="https://www.manualweb.net/java/sentencias-ramificacion-java/" rel="alternate" type="text/html" title="Sentencias Ramificación en Java" /><published>2026-01-29T16:33:46+01:00</published><updated>2026-01-29T16:33:46+01:00</updated><id>https://www.manualweb.net/java/sentencias-ramificacion</id><content type="html" xml:base="https://www.manualweb.net/java/sentencias-ramificacion-java/"><![CDATA[<p>Las <strong>sentencias de ramificación</strong> son aquellas que nos permiten romper con la ejecución lineal de un programa.</p>

<h2 id="break">break</h2>

<p>Ya vimos que en la sentencia selectiva <code class="language-plaintext highlighter-rouge">switch</code> se utilizaba la sentencia <code class="language-plaintext highlighter-rouge">break</code> para salir de las evaluaciones y así solo ejecutar el bloque de la opción correspondiente. Si bien podemos utilizar la sentencia <code class="language-plaintext highlighter-rouge">break</code> con las sentencias repetitivas <code class="language-plaintext highlighter-rouge">while</code>, <code class="language-plaintext highlighter-rouge">do-while</code> y <code class="language-plaintext highlighter-rouge">for</code>. Esta es la que se conoce como sentencia <strong>break sin etiquetar</strong>.</p>

<p>Cuando utilicemos el <code class="language-plaintext highlighter-rouge">break</code> dentro de uno de estos bucles lo que se conseguirá es salirse de la ejecución del bucle hasta el siguiente bloque de sentencias. Mismo efecto que si la expresión de evaluación hubiese dado <code class="language-plaintext highlighter-rouge">false</code>.</p>

<p>Así podremos encontrarnos códigos como el siguiente:</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">while</span> <span class="o">(</span><span class="n">expresion</span><span class="o">)</span> <span class="o">{</span>
  <span class="n">sentencia</span><span class="o">(</span><span class="n">s</span><span class="o">);</span>
  <span class="k">break</span><span class="o">;</span>
  <span class="n">sentencias</span><span class="o">(</span><span class="n">s</span><span class="o">);</span>
<span class="o">}</span>
</code></pre></div></div>

<p>Al ejecutar la sentencia <code class="language-plaintext highlighter-rouge">break</code> ya no ejecutaremos las sentencias que vayan después.</p>

<p>El uso del <code class="language-plaintext highlighter-rouge">break</code> dentro de estructuras repetitivas suele aparecer cuando estamos realizando la búsqueda de un elemento por una estructura de datos y lo hemos encontrado.</p>

<p>Por ejemplo, si tenemos un array y queremos buscar un número dentro del array podríamos tener el siguiente código:</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">int</span><span class="o">[]</span> <span class="n">numeros</span> <span class="o">=</span> <span class="o">{</span><span class="mi">12</span><span class="o">,</span><span class="mi">3</span><span class="o">,</span><span class="mi">4</span><span class="o">,</span><span class="mi">5</span><span class="o">,</span><span class="mi">6</span><span class="o">,</span><span class="mi">7</span><span class="o">,</span><span class="mi">9</span><span class="o">,</span><span class="mi">10</span><span class="o">};</span>
<span class="kt">int</span> <span class="n">posicion</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span>
<span class="kt">boolean</span> <span class="n">encontrado</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span>

<span class="k">while</span> <span class="o">(</span><span class="n">posicion</span> <span class="o">&lt;</span> <span class="n">numeros</span><span class="o">.</span><span class="na">length</span><span class="o">)</span> <span class="o">{</span>
  <span class="k">if</span> <span class="o">(</span><span class="n">numeros</span><span class="o">[</span><span class="n">posicion</span><span class="o">]</span> <span class="o">==</span> <span class="mi">5</span><span class="o">)</span> <span class="o">{</span>
        <span class="n">encontrado</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
        <span class="k">break</span><span class="o">;</span>
  <span class="o">}</span>
  <span class="n">posicion</span><span class="o">++;</span>
<span class="o">}</span>

<span class="k">if</span> <span class="o">(</span><span class="n">encontrado</span><span class="o">)</span> <span class="o">{</span>
    <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"El número está en la posición: "</span> <span class="o">+</span> <span class="n">posicion</span><span class="o">);</span>
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
    <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"Número no encontrado"</span><span class="o">);</span>
<span class="o">}</span>
</code></pre></div></div>

<p>Las sentencias <code class="language-plaintext highlighter-rouge">break</code> se pueden cambiar por <strong><em>variables bandera</em></strong>. Estas <strong><em>variables bandera</em></strong> actúan como cortocircuitos de las expresiones de validación y hacen que salgamos de los bucles.</p>

<p>En este caso podríamos haber utilizado la variable “encontrado” como <strong><em>variable bandera</em></strong>. Y podríamos reescribir el código de la siguiente forma:</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">int</span><span class="o">[]</span> <span class="n">numeros</span> <span class="o">=</span> <span class="o">{</span><span class="mi">12</span><span class="o">,</span><span class="mi">3</span><span class="o">,</span><span class="mi">4</span><span class="o">,</span><span class="mi">5</span><span class="o">,</span><span class="mi">6</span><span class="o">,</span><span class="mi">7</span><span class="o">,</span><span class="mi">9</span><span class="o">,</span><span class="mi">10</span><span class="o">};</span>
<span class="kt">int</span> <span class="n">posicion</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span><span class="o">;</span>
<span class="kt">boolean</span> <span class="n">encontrado</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span>

<span class="k">while</span> <span class="o">((!</span><span class="n">encontrado</span><span class="o">)</span> <span class="o">&amp;&amp;</span> <span class="o">(</span><span class="n">posicion</span><span class="o">&amp;</span><span class="n">lt</span><span class="o">;</span><span class="n">numeros</span><span class="o">.</span><span class="na">length</span><span class="o">))</span> <span class="o">{</span>
  <span class="n">posicion</span><span class="o">++;</span>
  <span class="k">if</span> <span class="o">(</span><span class="n">numeros</span><span class="o">[</span><span class="n">posicion</span><span class="o">]</span> <span class="o">==</span> <span class="mi">5</span><span class="o">)</span> <span class="o">{</span>
        <span class="n">encontrado</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
  <span class="o">}</span>
<span class="o">}</span>

<span class="k">if</span> <span class="o">(</span><span class="n">encontrado</span><span class="o">)</span> <span class="o">{</span>
    <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"El número está en la posición: "</span> <span class="o">+</span> <span class="n">posicion</span><span class="o">);</span>
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
    <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"Número no encontrado"</span><span class="o">);</span>
<span class="o">}</span>
</code></pre></div></div>

<p>Como podéis ver el código es muy parecido y solo aparece la condición de la <strong><em>variable bandera</em></strong>.</p>

<p>Una de las cosas que tenemos que tener en cuenta a la hora de utilizar las sentencias <strong>break sin etiquetar</strong> es que estas generan que se rompa la secuencia de ejecución de sentencias hasta el primer bloque anidado.</p>

<p>Pero, ¿qué sucedería si queremos salir de un conjunto de bucles anidados? Aunque podríamos utilizar múltiples <code class="language-plaintext highlighter-rouge">break</code> existe la posibilidad de utilizar sentencias <strong>break etiquetadas</strong>.</p>

<p>Las sentencias <strong>break etiquetadas</strong> funcionan igual que las <code class="language-plaintext highlighter-rouge">break</code> pero al ejecutarse se salen a la siguiente sentencia después del bloque etiquetado.</p>

<p>La sintaxis es:</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">break</span> <span class="n">nombre_etiqueta</span><span class="o">;</span>
</code></pre></div></div>

<p>Veamos como podría ser una estructura de uso de las sentencias <strong>break etiquetadas</strong>.</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">sentencia</span><span class="o">(</span><span class="n">s</span><span class="o">)</span> <span class="n">iniciales</span><span class="o">;</span>

<span class="nl">etiqueta:</span>
  <span class="k">while</span> <span class="o">(</span><span class="n">expresion</span><span class="o">)</span> <span class="o">{</span>
    <span class="n">sentencia</span><span class="o">(</span><span class="n">s</span><span class="o">)</span> <span class="n">bloque1</span><span class="o">;</span>
    <span class="k">while</span> <span class="o">(</span><span class="n">expresion</span><span class="o">)</span> <span class="o">{</span>
      <span class="n">sentencia</span><span class="o">(</span><span class="n">s</span><span class="o">)</span> <span class="n">bloque2</span><span class="o">;</span>
      <span class="k">break</span> <span class="n">etiqueta</span><span class="o">;</span>
    <span class="o">}</span>
  <span class="o">}</span>

<span class="n">sentencias</span><span class="o">(</span><span class="n">s</span><span class="o">)</span> <span class="n">finales</span><span class="o">;</span>
</code></pre></div></div>

<p>Al ejecutarse se sale de todo el bloque etiquetado como etiqueta y ejecuta las sentencias finales.</p>

<p>Esto podemos encontrarlo si estamos recorriendo una matriz para buscar un elemento. Ya que para recorrer una matriz vamos a necesitar dos bucles anidados.</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">int</span><span class="o">[][]</span> <span class="n">matriz</span> <span class="o">=</span> <span class="o">{</span>
  <span class="o">{</span><span class="mi">1</span><span class="o">,</span><span class="mi">2</span><span class="o">,</span><span class="mi">3</span><span class="o">,</span><span class="mi">4</span><span class="o">},</span>
  <span class="o">{</span><span class="mi">5</span><span class="o">,</span><span class="mi">6</span><span class="o">,</span><span class="mi">7</span><span class="o">,</span><span class="mi">8</span><span class="o">},</span>
  <span class="o">{</span><span class="mi">9</span><span class="o">,</span><span class="mi">10</span><span class="o">,</span><span class="mi">11</span><span class="o">,</span><span class="mi">12</span><span class="o">}</span>
<span class="o">};</span>
<span class="kt">int</span> <span class="n">numeroBuscado</span> <span class="o">=</span> <span class="mi">5</span><span class="o">;</span>

<span class="nl">busqueda:</span>
<span class="k">for</span> <span class="o">(</span><span class="kt">int</span> <span class="n">x</span><span class="o">=</span><span class="mi">0</span><span class="o">;</span> <span class="n">x</span> <span class="o">&amp;</span><span class="n">lt</span><span class="o">;</span> <span class="n">matriz</span><span class="o">.</span><span class="na">length</span><span class="o">;</span> <span class="n">x</span><span class="o">++)</span> <span class="o">{</span>
  <span class="k">for</span> <span class="o">(</span><span class="kt">int</span> <span class="n">y</span><span class="o">=</span><span class="mi">0</span><span class="o">;</span> <span class="n">y</span> <span class="o">&amp;</span><span class="n">lt</span><span class="o">;</span> <span class="n">matriz</span><span class="o">[</span><span class="n">x</span><span class="o">].</span><span class="na">length</span><span class="o">;</span> <span class="n">y</span><span class="o">++)</span> <span class="o">{</span>
    <span class="k">if</span> <span class="o">(</span><span class="n">matriz</span><span class="o">[</span><span class="n">x</span><span class="o">][</span><span class="n">y</span><span class="o">]</span> <span class="o">=</span> <span class="n">numeroBuscado</span><span class="o">)</span> <span class="o">{</span>
      <span class="n">encontrado</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
      <span class="k">break</span> <span class="n">busqueda</span><span class="o">;</span>
    <span class="o">}</span>
  <span class="o">}</span>
<span class="o">}</span>

<span class="k">if</span> <span class="o">(</span><span class="n">encontrado</span><span class="o">)</span> <span class="o">{</span>
  <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">x</span> <span class="o">+</span> <span class="s">","</span> <span class="o">+</span> <span class="n">y</span><span class="o">);</span>
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
  <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"No encontrado"</span><span class="o">);</span>
<span class="o">}</span>
</code></pre></div></div>

<h2 id="continue">continue</h2>

<p>Otra sentencia que podemos utilizar en los bucles es la sentencia <code class="language-plaintext highlighter-rouge">continue</code>. A ejecutar una La sentencia <code class="language-plaintext highlighter-rouge">continue</code> dejaremos de ejecutar las sentencias que quedan para acabar el bloque dentro de un bucle para volver a evaluar una expresión.</p>

<p>La estructura de unas sentencia <code class="language-plaintext highlighter-rouge">continue</code> sería:</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">while</span> <span class="o">(</span><span class="n">expresion</span><span class="o">)</span> <span class="o">{</span>
  <span class="n">sentencia</span><span class="o">(</span><span class="n">s</span><span class="o">)</span> <span class="n">iniciales</span><span class="o">;</span>
  <span class="k">continue</span><span class="o">;</span>
  <span class="n">sentencias</span><span class="o">(</span><span class="n">s</span><span class="o">)</span> <span class="n">finales</span><span class="o">;</span>
<span class="o">}</span>
</code></pre></div></div>

<p>Al ejecutarse la sentencia <code class="language-plaintext highlighter-rouge">continue</code> nunca se ejecutarán las sentencias finales.</p>

<p>De igual manera que sucedía con la sentencia <code class="language-plaintext highlighter-rouge">break</code>, podemos realizar <strong>continue etiquetados</strong>. En este caso la sentencia <code class="language-plaintext highlighter-rouge">continue</code> nos llevará directamente a la primera condición de evaluación del bloque.</p>

<p>La estructura en este caso sería la siguiente:</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nl">etiqueta:</span>
  <span class="k">while</span> <span class="o">(</span><span class="n">expresion</span><span class="o">)</span> <span class="o">{</span>
    <span class="n">sentencia</span><span class="o">(</span><span class="n">s</span><span class="o">)</span> <span class="n">iniciales</span><span class="o">;</span>
    <span class="k">while</span> <span class="o">(</span><span class="n">expresion</span><span class="o">)</span> <span class="o">{</span>
      <span class="n">sentencia</span><span class="o">(</span><span class="n">s</span><span class="o">)</span> <span class="n">iniciales</span><span class="o">;</span>
      <span class="k">continue</span> <span class="n">etiqueta</span><span class="o">;</span>
      <span class="n">sentencia</span><span class="o">(</span><span class="n">s</span><span class="o">)</span> <span class="n">finales</span><span class="o">;</span>
    <span class="o">}</span>
    <span class="n">sentencia</span><span class="o">(</span><span class="n">s</span><span class="o">)</span> <span class="n">finales</span><span class="o">;</span>
  <span class="o">}</span>
</code></pre></div></div>]]></content><author><name>manual_web</name></author><summary type="html"><![CDATA[Las sentencias de ramificación son aquellas que nos permiten romper con la ejecución lineal de un programa.]]></summary></entry><entry><title type="html">Sentencias Decisión en Java</title><link href="https://www.manualweb.net/java/sentencias-decision-java/" rel="alternate" type="text/html" title="Sentencias Decisión en Java" /><published>2026-01-29T16:33:46+01:00</published><updated>2026-01-29T16:33:46+01:00</updated><id>https://www.manualweb.net/java/sentencias-decision</id><content type="html" xml:base="https://www.manualweb.net/java/sentencias-decision-java/"><![CDATA[<p>Las <strong>sentencias de decisión</strong> son sentencias que nos permiten tomar una decisión para poder ejecutar un bloque de sentencias u otro.</p>

<p>Las <strong>sentencias de decisión</strong> son: <code class="language-plaintext highlighter-rouge">if-then-else</code> y <code class="language-plaintext highlighter-rouge">switch</code>.</p>

<h2 id="if-then-else">if-then-else</h2>

<p>La estructura de las sentencias <code class="language-plaintext highlighter-rouge">if-then-else es</code>:</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">if</span> <span class="o">(</span><span class="n">expresion</span><span class="o">)</span> <span class="o">{</span>
  <span class="c1">// Bloque then</span>
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
  <span class="c1">// Bloque else</span>
<span class="o">}</span>
</code></pre></div></div>

<p>Se evalua la expresión indicada en la sentencia <code class="language-plaintext highlighter-rouge">if</code>. En el caso de que la expresión sea <code class="language-plaintext highlighter-rouge">true</code> se ejecutará el bloque de sentencias <code class="language-plaintext highlighter-rouge">then</code> y en el caso de que la expresión sea <code class="language-plaintext highlighter-rouge">false</code> se ejecutará el bloque de sentencias <code class="language-plaintext highlighter-rouge">else</code>.</p>

<p>La parte del <code class="language-plaintext highlighter-rouge">else</code> no tiene por qué existir. En este caso tendríamos una sentencia <code class="language-plaintext highlighter-rouge">if-then</code>.</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">if</span> <span class="o">(</span><span class="n">expresion</span><span class="o">)</span> <span class="o">{</span>
  <span class="c1">// Bloque then</span>
<span class="o">}</span>
</code></pre></div></div>

<p>De esta forma podríamos tener el siguiente código fuente:</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">int</span> <span class="n">valor</span> <span class="o">=</span> <span class="mi">4</span><span class="o">;</span>

<span class="k">if</span> <span class="o">(</span><span class="n">valor</span> <span class="o">&lt;</span> <span class="mi">10</span><span class="o">)</span> <span class="o">{</span>
  <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"El número es menor de 10"</span><span class="o">);</span>
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
  <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"El número es mayor de 10"</span><span class="o">);</span>
<span class="o">}</span>
</code></pre></div></div>

<p>Las sentencias <code class="language-plaintext highlighter-rouge">if-then-else</code> pueden estar anidadas y así nos encontraríamos con una sentencia <strong>if-then-elseif</strong>, la cual tendría la siguiente estructura:</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">if</span> <span class="o">(</span><span class="n">expresion</span><span class="o">)</span> <span class="o">{</span>
  <span class="c1">// Bloque then</span>
<span class="o">}</span> <span class="k">else</span> <span class="k">if</span> <span class="o">{</span>
  <span class="c1">// Bloque else</span>
<span class="o">}</span> <span class="k">else</span> <span class="k">if</span> <span class="o">{</span>
  <span class="c1">// Bloque else</span>
<span class="o">}</span> <span class="k">else</span> <span class="k">if</span> <span class="o">{</span>
  <span class="c1">// Bloque else</span>
<span class="o">}</span> <span class="o">...</span>
</code></pre></div></div>

<p>De esta forma podemos tener el siguiente código:</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">int</span> <span class="n">valor</span> <span class="o">=</span> <span class="mi">14</span><span class="o">;</span>

<span class="k">if</span> <span class="o">(</span><span class="n">valor</span> <span class="o">&lt;</span> <span class="mi">10</span><span class="o">)</span> <span class="o">{</span>
  <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"El valor es una unidad"</span><span class="o">);</span>
<span class="o">}</span> <span class="k">else</span> <span class="k">if</span> <span class="o">(</span><span class="n">valor</span> <span class="o">&lt;</span> <span class="mi">100</span><span class="o">)</span> <span class="o">{</span>
  <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"El valor es una decena"</span><span class="o">);</span>
<span class="o">}</span> <span class="k">else</span> <span class="k">if</span> <span class="o">(</span><span class="n">valor</span> <span class="o">&lt;</span> <span class="mi">1000</span><span class="o">)</span> <span class="o">{</span>
  <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"El valor es una centena"</span><span class="o">);</span>
<span class="o">}</span> <span class="k">else</span> <span class="k">if</span> <span class="o">(</span><span class="n">valor</span> <span class="o">&lt;</span> <span class="mi">10000</span><span class="o">)</span> <span class="o">{</span>
  <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"El valor es un millar"</span><span class="o">);</span>
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
  <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"Es un número grande"</span><span class="o">);</span>
<span class="o">}</span>
</code></pre></div></div>

<h2 id="switch">switch</h2>

<p>Para los casos en los que se tienen muchas ramas o caminos de ejecución en una sentencia <code class="language-plaintext highlighter-rouge">if</code> tenemos la sentencia <code class="language-plaintext highlighter-rouge">switch</code>. La sentencia <code class="language-plaintext highlighter-rouge">switch</code> evalúa una expresión y ejecutará el bloque de sentencias que coincida con el valor de la expresión.</p>

<p>El valor de la expresión tiene que ser numérico. Aunque a partir de <em>Java SE 7</em> ya se pueden utilizar expresiones cuya evaluación sean cadenas.</p>

<p>La estructura de la sentencia switch es:</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">switch</span> <span class="o">(</span><span class="n">expresion</span><span class="o">)</span> <span class="o">{</span>
  <span class="k">case</span> <span class="nl">valor1:</span>
    <span class="n">bloque1</span><span class="o">;</span>
    <span class="k">break</span><span class="o">;</span>
  <span class="k">case</span> <span class="nl">valor2:</span>
    <span class="n">bloque2</span><span class="o">;</span>
    <span class="k">break</span><span class="o">;</span>
  <span class="k">case</span> <span class="nl">valor3:</span>
    <span class="n">bloque3</span><span class="o">;</span>
    <span class="k">break</span><span class="o">;</span>
  <span class="o">...</span>
  <span class="k">default</span><span class="o">:</span>
      <span class="n">bloque_por_defecto</span><span class="o">;</span>
<span class="o">}</span>
</code></pre></div></div>

<p>Es importante ver que se utiliza la sentencia <strong>break.</strong> La sentencia <code class="language-plaintext highlighter-rouge">break</code> hace que se salga de la sentencia <code class="language-plaintext highlighter-rouge">switch</code> y por lo tanto no se evalúe el resto de sentencias. Por lo tanto su uso es obligatorio al final de cada uno de los bloques.</p>

<p>Un ejemplo claro en el que podemos utilizar la sentencia <code class="language-plaintext highlighter-rouge">switch</code> es para evaluar el valor de un mes en numérico y convertirlo a cadena. Este código quedaría de la siguiente forma:</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">int</span> <span class="n">iMes</span> <span class="o">=</span> <span class="mi">3</span><span class="o">;</span>
<span class="nc">String</span> <span class="n">sMes</span><span class="o">;</span>

<span class="k">switch</span> <span class="o">(</span><span class="n">iMes</span><span class="o">)</span> <span class="o">{</span>
    <span class="k">case</span> <span class="mi">1</span><span class="o">:</span>
        <span class="n">sMes</span> <span class="o">=</span> <span class="s">"Enero"</span><span class="o">;</span>
        <span class="k">break</span><span class="o">;</span>
    <span class="k">case</span> <span class="mi">2</span><span class="o">:</span>
        <span class="n">sMes</span> <span class="o">=</span> <span class="s">"Febrero"</span><span class="o">;</span>
        <span class="k">break</span><span class="o">;</span>
    <span class="k">case</span> <span class="mi">3</span><span class="o">:</span>
        <span class="n">sMes</span> <span class="o">=</span> <span class="s">"Marzo"</span><span class="o">;</span>
        <span class="k">break</span><span class="o">;</span>
    <span class="k">case</span> <span class="mi">4</span><span class="o">:</span>
        <span class="n">sMes</span> <span class="o">=</span> <span class="s">"Abril"</span><span class="o">;</span>
        <span class="k">break</span><span class="o">;</span>
    <span class="k">case</span> <span class="mi">5</span><span class="o">:</span>
        <span class="n">sMes</span> <span class="o">=</span> <span class="s">"Mayo"</span><span class="o">;</span>
        <span class="k">break</span><span class="o">;</span>
    <span class="k">case</span> <span class="mi">6</span><span class="o">:</span>
        <span class="n">sMes</span> <span class="o">=</span> <span class="s">"Junio"</span><span class="o">;</span>
        <span class="k">break</span><span class="o">;</span>
    <span class="k">case</span> <span class="mi">7</span><span class="o">:</span>
        <span class="n">sMes</span> <span class="o">=</span> <span class="s">"Julio"</span><span class="o">;</span>
        <span class="k">break</span><span class="o">;</span>
    <span class="k">case</span> <span class="mi">8</span><span class="o">:</span>
        <span class="n">sMes</span> <span class="o">=</span> <span class="s">"Agosto"</span><span class="o">;</span>
        <span class="k">break</span><span class="o">;</span>
    <span class="k">case</span> <span class="mi">9</span><span class="o">:</span>
        <span class="n">sMes</span> <span class="o">=</span> <span class="s">"Septiembre"</span><span class="o">;</span>
        <span class="k">break</span><span class="o">;</span>
    <span class="k">case</span> <span class="mi">10</span><span class="o">:</span>
        <span class="n">sMes</span> <span class="o">=</span> <span class="s">"Octubre"</span><span class="o">;</span>
        <span class="k">break</span><span class="o">;</span>
    <span class="k">case</span> <span class="mi">11</span><span class="o">:</span>
        <span class="n">sMes</span> <span class="o">=</span> <span class="s">"Noviembre"</span><span class="o">;</span>
        <span class="k">break</span><span class="o">;</span>
    <span class="k">case</span> <span class="mi">12</span><span class="o">:</span>
        <span class="n">sMes</span> <span class="o">=</span> <span class="s">"Diciembre"</span><span class="o">;</span>
        <span class="k">break</span><span class="o">;</span>
    <span class="k">default</span><span class="o">:</span>
        <span class="n">sMes</span> <span class="o">=</span> <span class="s">"Mes incorrecto"</span><span class="o">;</span>
<span class="o">}</span>

<span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">sMes</span><span class="o">);</span>
</code></pre></div></div>

<p>Este mismo modelo lo podríamos haber implementado mediante una estructura <code class="language-plaintext highlighter-rouge">if-then-else</code>. Si bien, como podemos ver en el código queda más complejo</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">if</span> <span class="o">(</span><span class="n">iMes</span> <span class="o">==</span> <span class="mi">1</span><span class="o">){</span>
    <span class="n">sMes</span> <span class="o">=</span> <span class="s">"Enero"</span><span class="o">;</span>
<span class="o">}</span> <span class="k">else</span> <span class="k">if</span> <span class="o">(</span><span class="n">iMes</span> <span class="o">==</span> <span class="mi">2</span><span class="o">)</span> <span class="o">{</span>
    <span class="n">sMes</span> <span class="o">=</span> <span class="s">"Febrero"</span><span class="o">;</span>
<span class="o">}</span> <span class="k">else</span> <span class="k">if</span> <span class="o">(</span><span class="n">iMes</span> <span class="o">==</span> <span class="mi">3</span><span class="o">)</span> <span class="o">{</span>
    <span class="n">sMes</span> <span class="o">=</span> <span class="s">"Marzo"</span><span class="o">;</span>
<span class="o">}</span> <span class="k">else</span> <span class="k">if</span> <span class="o">(</span><span class="n">iMes</span> <span class="o">==</span> <span class="mi">4</span><span class="o">)</span> <span class="o">{</span>
    <span class="n">sMes</span> <span class="o">=</span> <span class="s">"Abril"</span><span class="o">;</span>
<span class="o">}</span> <span class="k">else</span> <span class="k">if</span> <span class="o">(</span><span class="n">iMes</span> <span class="o">==</span> <span class="mi">5</span><span class="o">)</span> <span class="o">{</span>
    <span class="n">sMes</span> <span class="o">=</span> <span class="s">"Mayo"</span><span class="o">;</span>
<span class="o">}</span> <span class="k">else</span> <span class="k">if</span> <span class="o">(</span><span class="n">iMes</span> <span class="o">==</span> <span class="mi">6</span><span class="o">)</span> <span class="o">{</span>
    <span class="n">sMes</span> <span class="o">=</span> <span class="s">"Junio"</span><span class="o">;</span>
<span class="o">}</span> <span class="k">else</span> <span class="k">if</span> <span class="o">(</span><span class="n">iMes</span> <span class="o">==</span> <span class="mi">7</span><span class="o">)</span> <span class="o">{</span>
    <span class="n">sMes</span> <span class="o">=</span> <span class="s">"Julio"</span><span class="o">;</span>
<span class="o">}</span> <span class="k">else</span> <span class="k">if</span> <span class="o">(</span><span class="n">iMes</span> <span class="o">==</span> <span class="mi">8</span><span class="o">)</span> <span class="o">{</span>
    <span class="n">sMes</span> <span class="o">=</span> <span class="s">"Agosto"</span><span class="o">;</span>
<span class="o">}</span> <span class="k">else</span> <span class="k">if</span> <span class="o">(</span><span class="n">iMes</span> <span class="o">==</span> <span class="mi">9</span><span class="o">)</span> <span class="o">{</span>
    <span class="n">sMes</span> <span class="o">=</span> <span class="s">"Septiembre"</span><span class="o">;</span>
<span class="o">}</span> <span class="k">else</span> <span class="k">if</span> <span class="o">(</span><span class="n">iMes</span> <span class="o">==</span> <span class="mi">10</span><span class="o">)</span> <span class="o">{</span>
    <span class="n">sMes</span> <span class="o">=</span> <span class="s">"Octubre"</span><span class="o">;</span>
<span class="o">}</span> <span class="k">else</span> <span class="k">if</span> <span class="o">(</span><span class="n">iMes</span> <span class="o">==</span> <span class="mi">11</span><span class="o">)</span> <span class="o">{</span>
    <span class="n">sMes</span> <span class="o">=</span> <span class="s">"Noviembre"</span><span class="o">;</span>
<span class="o">}</span> <span class="k">else</span> <span class="k">if</span> <span class="o">(</span><span class="n">iMes</span> <span class="o">==</span> <span class="mi">12</span><span class="o">)</span> <span class="o">{</span>
    <span class="n">sMes</span> <span class="o">=</span> <span class="s">"Diciembre"</span><span class="o">;</span>
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
    <span class="n">sMes</span> <span class="o">=</span> <span class="s">"Mes incorrecto"</span><span class="o">;</span>
<span class="o">}</span>

<span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">sMes</span><span class="o">);</span>
</code></pre></div></div>

<p>Otra cosa que tenemos que saber de la sentencia <code class="language-plaintext highlighter-rouge">switch</code> es que las evaluaciones case pueden ser múltiples. La estructura en este caso sería:</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">switch</span> <span class="o">(</span><span class="n">expresion</span><span class="o">)</span> <span class="o">{</span>
  <span class="k">case</span> <span class="nl">valor1:</span> <span class="k">case</span> <span class="nl">valor2:</span> <span class="k">case</span> <span class="nl">valor3:</span>
    <span class="n">bloque1</span><span class="o">;</span>
    <span class="k">break</span><span class="o">;</span>
  <span class="k">case</span> <span class="nl">valor4:</span> <span class="k">case</span> <span class="nl">valor5:</span> <span class="k">case</span> <span class="nl">valor6:</span>
    <span class="n">bloque2</span><span class="o">;</span>
    <span class="k">break</span><span class="o">;</span>
  <span class="o">...</span>
  <span class="k">default</span><span class="o">:</span>
    <span class="n">bloque_por_defecto</span><span class="o">;</span>
<span class="o">}</span>
</code></pre></div></div>

<p>Esto podemos utilizarlo para saber los días del mes. El código sería el siguiente:</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">int</span> <span class="n">iMes</span> <span class="o">=</span> <span class="mi">3</span><span class="o">;</span>
<span class="nc">String</span> <span class="n">sDias</span><span class="o">;</span>

<span class="k">switch</span> <span class="o">(</span><span class="n">iMes</span><span class="o">)</span> <span class="o">{</span>
    <span class="k">case</span> <span class="mi">1</span><span class="o">:</span> <span class="k">case</span> <span class="mi">3</span><span class="o">:</span> <span class="k">case</span> <span class="mi">5</span><span class="o">:</span> <span class="k">case</span> <span class="mi">7</span><span class="o">:</span> <span class="k">case</span> <span class="mi">8</span><span class="o">:</span> <span class="k">case</span> <span class="mi">10</span><span class="o">:</span> <span class="k">case</span> <span class="mi">12</span><span class="o">:</span>
        <span class="n">sDias</span> <span class="o">=</span> <span class="s">"El mes tiene 31 días"</span><span class="o">;</span>
        <span class="k">break</span><span class="o">;</span>
    <span class="k">case</span> <span class="mi">4</span><span class="o">:</span> <span class="k">case</span> <span class="mi">6</span><span class="o">:</span> <span class="k">case</span> <span class="mi">9</span><span class="o">:</span> <span class="k">case</span> <span class="mi">11</span><span class="o">:</span>
        <span class="n">sDias</span> <span class="o">=</span> <span class="s">"El mes tiene 30 días"</span><span class="o">;</span>
        <span class="k">break</span><span class="o">;</span>
    <span class="k">case</span> <span class="mi">2</span><span class="o">:</span>
        <span class="n">sDias</span> <span class="o">=</span> <span class="s">"El mes tiene 28 días (o 29 días si es año bisiesto)"</span><span class="o">;</span>
        <span class="k">break</span><span class="o">;</span>          
    <span class="k">default</span><span class="o">:</span>
        <span class="n">sDias</span> <span class="o">=</span> <span class="s">"Mes incorrecto"</span><span class="o">;</span>
<span class="o">}</span>
</code></pre></div></div>

<p>Como vemos tenemos diferentes evaluaciones con la sentencia <code class="language-plaintext highlighter-rouge">case</code>.</p>]]></content><author><name>manual_web</name></author><summary type="html"><![CDATA[Las sentencias de decisión son sentencias que nos permiten tomar una decisión para poder ejecutar un bloque de sentencias u otro.]]></summary></entry><entry><title type="html">Sentencias Control en Java</title><link href="https://www.manualweb.net/java/sentencias-control-java/" rel="alternate" type="text/html" title="Sentencias Control en Java" /><published>2026-01-29T16:33:46+01:00</published><updated>2026-01-29T16:33:46+01:00</updated><id>https://www.manualweb.net/java/sentencias-control</id><content type="html" xml:base="https://www.manualweb.net/java/sentencias-control-java/"><![CDATA[<p>Un programa en <a href="http://www.manualweb.net/tutorial-java/">Java</a> se ejecuta en orden desde la primera sentencia hasta la última.</p>

<p>Si bien existen las <strong>sentencias de control de flujo</strong> las cuales permiten alterar el fujo de ejecución para tomar decisiones o repetir sentencias.</p>

<p>Dentro de las <strong>sentencias de control de flujo</strong> tenemos las siguientes:</p>

<ul>
  <li>Sentencias de decisión</li>
  <li>Sentencias de bucle</li>
  <li>Sentencias de ramificación</li>
</ul>

<h2 id="sentencias-de-decisión">Sentencias de Decisión</h2>

<p>Son sentencias que nos permiten tomar una decisión para poder ejecutar un bloque de sentencias u otro.</p>

<p>Las sentencias de decisión son: <code class="language-plaintext highlighter-rouge">if-then-else</code> y <code class="language-plaintext highlighter-rouge">switch</code>.</p>

<p>Mediante <code class="language-plaintext highlighter-rouge">if-then-else</code> podremos evaluar una decisión y elegir por un bloque u otro.</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">if</span> <span class="o">(</span><span class="n">expresion</span><span class="o">)</span> <span class="o">{</span>
  <span class="c1">// Bloque then</span>
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
  <span class="c1">// Bloque else</span>
<span class="o">}</span>
</code></pre></div></div>

<p>Mientras que con <code class="language-plaintext highlighter-rouge">switch</code> podremos evaluar múltiples decisiones y ejecutar un bloque asociado a cada una de ellas.</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">switch</span> <span class="o">(</span><span class="n">expresion</span><span class="o">)</span> <span class="o">{</span>
  <span class="k">case</span> <span class="nl">valor1:</span>
    <span class="n">bloque1</span><span class="o">;</span>
    <span class="k">break</span><span class="o">;</span>
  <span class="k">case</span> <span class="nl">valor2:</span>
    <span class="n">bloque2</span><span class="o">;</span>
    <span class="k">break</span><span class="o">;</span>
  <span class="k">case</span> <span class="nl">valor3:</span>
    <span class="n">bloque3</span><span class="o">;</span>
    <span class="k">break</span><span class="o">;</span>
  <span class="err">…</span>
  <span class="k">default</span><span class="o">:</span>
      <span class="n">bloque_por_defecto</span><span class="o">;</span>
<span class="o">}</span>
</code></pre></div></div>

<h2 id="sentencias-de-bucle">Sentencias de Bucle</h2>

<p>Las <strong>sentencias de bucle</strong> nos van a permitir ejecutar un bloque de sentencias tantas veces como queramos, o tantas veces como se cumpla una condición.</p>

<p>En el momento que se cumpla esta condición será cuando salgamos del bucle.</p>

<p>Las sentencias de bucle en <a href="http://www.manualweb.net/tutorial-java/">Java</a> son: <code class="language-plaintext highlighter-rouge">while</code>, <code class="language-plaintext highlighter-rouge">do-while</code> y <code class="language-plaintext highlighter-rouge">for</code>.</p>

<p>En el caso de la sentencia <code class="language-plaintext highlighter-rouge">while</code> tenemos un bucle que se ejecuta mientas se cumple la condición, pero puede que no se llegue a ejecutar nunca, si no se cumple la condición la primera vez.</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">while</span> <span class="o">(</span><span class="n">expresion</span><span class="o">)</span> <span class="o">{</span>
  <span class="n">bloque_sentencias</span><span class="o">;</span>
<span class="o">}</span>
</code></pre></div></div>

<p>Por otro lado, si utilizamos <code class="language-plaintext highlighter-rouge">do-while</code>, lo que vamos a conseguir es que el bloque de sentencias se ejecute, al menos, una vez.</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">do</span> <span class="o">{</span>
  <span class="n">bloque_sentencias</span><span class="o">;</span>
<span class="o">}</span> <span class="k">while</span> <span class="o">(</span><span class="n">expresion</span><span class="o">)</span>
</code></pre></div></div>

<p>La sentencia <code class="language-plaintext highlighter-rouge">for</code> nos permite escribir toda la estructura del bucle de una forma más acotada. Si bien, su cometido es el mismo.</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">for</span> <span class="o">(</span><span class="n">sentencias_inicio</span><span class="o">;</span><span class="n">expresion</span><span class="o">;</span><span class="n">incremento</span><span class="o">)</span> <span class="o">{</span>
  <span class="n">bloque_sentencias</span><span class="o">;</span>
<span class="o">}</span>
</code></pre></div></div>

<h2 id="sentencias-de-ramificación">Sentencias de ramificación</h2>

<p>Las <strong>sentencias de ramificación</strong> son aquellas que nos permiten romper con la ejecución lineal de un programa.</p>

<p>El programa se va ejecutando de forma lineal, sentencia a sentencia. Si queremos romper esta linealidad tenemos las <strong>sentencias de ramificación</strong>.</p>

<p>Las <strong>sentencias de ramificación</strong> en <a href="http://www.manualweb.net/tutorial-java/">Java</a> son: <code class="language-plaintext highlighter-rouge">break</code> y <code class="language-plaintext highlighter-rouge">continue</code>.</p>

<p>En el caso de <code class="language-plaintext highlighter-rouge">break</code> nos sirve para salir de bloque de sentencias, mientras que <code class="language-plaintext highlighter-rouge">continue</code> sirve para ir directamente al siguiente bloque.</p>]]></content><author><name>manual_web</name></author><summary type="html"><![CDATA[Un programa en Java se ejecuta en orden desde la primera sentencia hasta la última.]]></summary></entry><entry><title type="html">Sentencias Bucle en Java</title><link href="https://www.manualweb.net/java/sentencias-bucle-java/" rel="alternate" type="text/html" title="Sentencias Bucle en Java" /><published>2026-01-29T16:33:46+01:00</published><updated>2026-01-29T16:33:46+01:00</updated><id>https://www.manualweb.net/java/sentencias-bucle</id><content type="html" xml:base="https://www.manualweb.net/java/sentencias-bucle-java/"><![CDATA[<p>Las <strong>sentencias de bucle</strong> nos van a permitir ejecutar un bloque de sentencias tantas veces como queramos, o tantas veces como se cumpla una condición.</p>

<p>Las <strong>sentencias de bucle</strong> en <a href="http://www.manualweb.net/tutorial-java/">Java</a> son: <code class="language-plaintext highlighter-rouge">while</code>, <code class="language-plaintext highlighter-rouge">do-while</code> y <code class="language-plaintext highlighter-rouge">for</code>.</p>

<h2 id="while">while</h2>

<p>La estructura repetitiva <code class="language-plaintext highlighter-rouge">while</code> realiza una primera evaluación antes de ejecutar el bloque. Si la expresión es <code class="language-plaintext highlighter-rouge">true</code> pasa a ejecutar de forma repetida el bloque de sentencias.</p>

<p>Cada vez que termina de ejecutar el bloque de sentencias vuelve a evaluar la expresión. Si la expresión sigue siendo <code class="language-plaintext highlighter-rouge">true</code> vuelve a ejecutar el bloque. En el caso de que la expresión sea <code class="language-plaintext highlighter-rouge">false</code> se saldrá del bucle.</p>

<p>Es por ello que dentro del bloque de sentencias <em>deberán de existir sentencias que modifiquen la evaluación de la expresión, ya que de no hacerse se podría entrar en un bucle infinito</em>.</p>

<p>La estructura de la sentencia <code class="language-plaintext highlighter-rouge">while</code> es la siguiente:</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">while</span> <span class="o">(</span><span class="n">expresion</span><span class="o">)</span> <span class="o">{</span>
  <span class="n">bloque_sentencias</span><span class="o">;</span>
<span class="o">}</span>
</code></pre></div></div>

<p>Los casos de uso de una sentencia repetitiva <code class="language-plaintext highlighter-rouge">while</code> son variados, pero principalmente se utiliza para recorrer estructuras de datos o tener contadores.</p>

<p>Por ejemplo podemos realizar un contador de 1 a 10 de la siguiente forma:</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">int</span> <span class="n">contador</span> <span class="o">=</span> <span class="mi">1</span><span class="o">;</span>
<span class="k">while</span> <span class="o">(</span><span class="n">contador</span> <span class="o">&lt;=</span> <span class="mi">10</span><span class="o">)</span> <span class="o">{</span>
  <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">contador</span><span class="o">);</span>
  <span class="n">contador</span><span class="o">++;</span>
<span class="o">}</span>
</code></pre></div></div>

<h2 id="do-while">do-while</h2>

<p>En el caso de la estructura repetitiva <code class="language-plaintext highlighter-rouge">do-while</code> el funcionamiento es el mismo que el de <code class="language-plaintext highlighter-rouge">while</code>. Pero con una diferencia, primero se ejecuta el bloque de sentencias y luego se evalua la expresión. Por lo tanto siempre se ejecutará, al menos una vez, el bloque de sentencias.</p>

<p>La estructura de la sentencia <code class="language-plaintext highlighter-rouge">do-while</code> es:</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">do</span> <span class="o">{</span>
  <span class="n">bloque_sentencias</span><span class="o">;</span>
<span class="o">}</span> <span class="k">while</span> <span class="o">(</span><span class="n">expresion</span><span class="o">)</span>
</code></pre></div></div>

<p>Al igual que anteriormente, en el bloque de sentencias deberemos de modificar alguna de las condiciones de la expresión para poder salir del bucle.</p>

<p>Un ejemplo claro del bucle <code class="language-plaintext highlighter-rouge">do-while</code> sería el ejemplo en el que le pedimos al usuario que introduzca números por teclado, los cuales mostraremos en forma de eco por pantalla, hasta que introduzca el cero. En ese caso saldremos del bucle.</p>

<p>Utilizaremos la estructura <code class="language-plaintext highlighter-rouge">do-while</code> en vez de la <code class="language-plaintext highlighter-rouge">while</code> ya que al menos vamos a pedirle al usuario un número.</p>

<p>El código sería el siguiente:</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nc">Scanner</span> <span class="n">reader</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">Scanner</span><span class="o">(</span><span class="nc">System</span><span class="o">.</span><span class="na">in</span><span class="o">);</span>        
<span class="kt">int</span> <span class="n">iNumero</span><span class="o">;</span>

<span class="k">do</span> <span class="o">{</span>
    <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"Introduce carácter por consola"</span><span class="o">);</span>
    <span class="n">iNumero</span> <span class="o">=</span> <span class="n">reader</span><span class="o">.</span><span class="na">nextInt</span><span class="o">();</span>
    <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">iNumero</span><span class="o">);</span>
<span class="o">}</span> <span class="k">while</span> <span class="o">(</span><span class="n">iNumero</span> <span class="o">&lt;&gt;</span> <span class="mi">0</span><span class="o">);</span>
</code></pre></div></div>

<p>En el caso de haberlo realizado con un bucle <code class="language-plaintext highlighter-rouge">while</code> tendríamos que repetir la captura y salida de datos. Veamos como quedaría para que puedas ver las diferencias.</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nc">Scanner</span> <span class="n">reader</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">Scanner</span><span class="o">(</span><span class="nc">System</span><span class="o">.</span><span class="na">in</span><span class="o">);</span>        
<span class="kt">int</span> <span class="n">iNumero</span><span class="o">;</span>

<span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"Introduce carácter por consola"</span><span class="o">);</span>
<span class="n">iNumero</span> <span class="o">=</span> <span class="n">reader</span><span class="o">.</span><span class="na">nextInt</span><span class="o">();</span>
<span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">iNumero</span><span class="o">);</span>

<span class="k">while</span> <span class="o">(</span><span class="n">iNumero</span> <span class="o">&lt;&gt;</span> <span class="mi">0</span><span class="o">)</span> <span class="o">{</span>
  <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"Introduce carácter por consola"</span><span class="o">);</span>
  <span class="n">iNumero</span> <span class="o">=</span> <span class="n">reader</span><span class="o">.</span><span class="na">nextInt</span><span class="o">();</span>
  <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">iNumero</span><span class="o">);</span>
<span class="o">}</span>
</code></pre></div></div>

<h2 id="for">for</h2>

<p>Otra de las sentencias repetitivas que tenemos, a parte de los bucles <code class="language-plaintext highlighter-rouge">while</code> y <code class="language-plaintext highlighter-rouge">do-while</code>, es la sentencia <code class="language-plaintext highlighter-rouge">for</code>.</p>

<p>La sentencia <code class="language-plaintext highlighter-rouge">for</code> tiene la característica de que tiene bien definido el inicio del bloque, la evaluación de la expresión, el incremento de valor y el bloque de sentencias.</p>

<p>La estructura del bucle <code class="language-plaintext highlighter-rouge">for</code> es:</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">for</span> <span class="o">(</span><span class="n">sentencias_inicio</span><span class="o">;</span><span class="n">expresion</span><span class="o">;</span><span class="n">incremento</span><span class="o">)</span> <span class="o">{</span>
  <span class="n">bloque_sentencias</span><span class="o">;</span>
<span class="o">}</span>
</code></pre></div></div>

<p>Tanto las sentencias_inicio, expresión como incremento son opcionales y pueden estar o no. Aunque normalmente aparecerán en la estructura.</p>

<p>Esta estructura la podríamos reproducir mediante una sentencia while de la siguiente forma:</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">sentencias_inicio</span><span class="o">;</span>
<span class="k">while</span> <span class="o">(</span><span class="n">expresion</span><span class="o">)</span> <span class="o">{</span>
  <span class="n">bloque_sentencias</span><span class="o">;</span>
  <span class="n">incremento</span><span class="o">;</span>
<span class="o">}</span>
</code></pre></div></div>

<p>Las funcionalidades en las que utilizaremos la sentencia <code class="language-plaintext highlighter-rouge">for</code> serán las mismas que las sentencias <code class="language-plaintext highlighter-rouge">while</code> y <code class="language-plaintext highlighter-rouge">do-while</code>, que serán contadores, recorrer estructuras,…</p>

<p>Si queremos definir un contador de 1 a 10 mediante una sentencia <code class="language-plaintext highlighter-rouge">for</code> utilizaremos el siguiente código:</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">for</span> <span class="o">(</span><span class="kt">int</span> <span class="n">x</span><span class="o">=</span><span class="mi">1</span><span class="o">;</span><span class="n">x</span><span class="o">&lt;=</span><span class="mi">10</span><span class="o">;</span><span class="n">x</span><span class="o">++=)</span> <span class="o">{</span>
  <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"Valor del contador: "</span> <span class="o">+</span> <span class="n">x</span><span class="o">);</span>
<span class="o">}</span>
</code></pre></div></div>

<p>En pantalla obtendremos el siguiente resultado:</p>

<pre><samp>Valor del contador: 1
Valor del contador: 2
Valor del contador: 3
Valor del contador: 4
Valor del contador: 5
Valor del contador: 6
Valor del contador: 7
Valor del contador: 8
Valor del contador: 9
Valor del contador: 10</samp></pre>]]></content><author><name>manual_web</name></author><summary type="html"><![CDATA[Las sentencias de bucle nos van a permitir ejecutar un bloque de sentencias tantas veces como queramos, o tantas veces como se cumpla una condición.]]></summary></entry><entry><title type="html">Operadores Unarios en Java</title><link href="https://www.manualweb.net/java/operadores-unarios-java/" rel="alternate" type="text/html" title="Operadores Unarios en Java" /><published>2026-01-29T16:33:46+01:00</published><updated>2026-01-29T16:33:46+01:00</updated><id>https://www.manualweb.net/java/operadores-unarios</id><content type="html" xml:base="https://www.manualweb.net/java/operadores-unarios-java/"><![CDATA[<p>Los operadores unarios en <a href="http://www.manualweb.net/tutorial-java/">Java</a> son aquellos que solo requieren un operando para funcionar.</p>

<p>Los <strong>operadores</strong> unitarios que tenemos en <a href="http://www.manualweb.net/tutorial-java/">Java</a> son:</p>

<table>
  <thead>
    <tr>
      <th>Operador</th>
      <th>Descripción</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>+</td>
      <td>Operador unario suma. Indica un número positivo.</td>
    </tr>
    <tr>
      <td>-</td>
      <td>Operador unario resta. Niega una expresión.</td>
    </tr>
    <tr>
      <td>++</td>
      <td>Operador de incremento. Incrementa el valor en 1.</td>
    </tr>
    <tr>
      <td>–</td>
      <td>Operador de decremento. Decrementa el valor en 1.</td>
    </tr>
    <tr>
      <td>!</td>
      <td>Operador de complemento lógico. Invierte el valor de un booleano</td>
    </tr>
  </tbody>
</table>

<h2 id="operadores-unarios-suma-o-resta">Operadores unarios suma o resta</h2>

<p>Los operadores unitarios de suma o resta son muy sencillos de utilizar. En el caso del operador unitario suma su uso es redundante. Con el operador unitario resta podemos invertir un valor.</p>

<p>Por ejemplo podríamos tener el siguiente código:</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">int</span> <span class="n">valor</span> <span class="o">=</span> <span class="mi">2</span><span class="o">;</span>
<span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(-</span><span class="n">valor</span><span class="o">);</span> <span class="c1">// Imprimirá por pantalla un -2</span>
</code></pre></div></div>

<h2 id="operadores-de-incremento-y-decremento">Operadores de incremento y decremento</h2>

<p>Los operadores de incremento se pueden aplicar como prefijo o como sufijo.</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="o">++</span> <span class="n">variable</span><span class="o">;</span>
<span class="n">variable</span> <span class="o">++;</span>
<span class="o">--</span> <span class="n">variable</span><span class="o">;</span>
<span class="n">variable</span> <span class="o">--;</span>
</code></pre></div></div>

<p>En todos los casos el valor de la variable acabará con una unidad más (para el operador de incremento) o con una unidad menos (para el operador de decremento).</p>

<p>Si bien si están participando en una asignación hay que tener cuidado en si utilizamos el operador como prefijo o como sufijo.</p>

<p>En el caso de utilizarlo como prefijo el valor de asignación será el valor del operando más el incremento de la unidad. Y si lo utilizamos como sufijo se asignará el valor del operador y luego se incrementará la unidad sobre el operando.</p>

<p>Es más sencillo verlo en código:</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">suma</span> <span class="o">=</span> <span class="o">++</span><span class="n">vble1</span><span class="o">;</span>
</code></pre></div></div>

<p>Sería lo mismo que poner</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">vble1</span> <span class="o">=</span> <span class="n">vble1</span> <span class="o">+</span> <span class="mi">1</span><span class="o">;</span>
<span class="n">suma</span> <span class="o">=</span> <span class="n">vble1</span><span class="o">;</span>
</code></pre></div></div>

<p>Mientras que si escribimos:</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">suma</span> <span class="o">=</span> <span class="n">vble1</span><span class="o">++;</span>
</code></pre></div></div>

<p>Sería lo mismo que poner:</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">suma</span> <span class="o">=</span> <span class="n">vble1</span><span class="o">;</span>
<span class="n">vble1</span> <span class="o">=</span> <span class="n">vble1</span> <span class="o">+</span> <span class="mi">1</span><span class="o">;</span>
</code></pre></div></div>

<p>Exactamente lo mismo le sucede al operador de decremento, pero restando una unidad.</p>

<h2 id="operador-de-complemento-lógico">Operador de complemento lógico</h2>

<p>El operador de complemento lógico sirve para negar un valor lógico. Se suele utilizar delante de una operación de evaluación booleana. Normalmente en sentencias de decisión o bucles.</p>

<p>La estructura es:</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="o">!</span> <span class="o">(</span><span class="n">expresion</span><span class="o">)</span>
</code></pre></div></div>

<p>Si la expresión era un <strong>true</strong> la convierte en <strong>false</strong> y si era <strong>false</strong> la convierte en <strong>true</strong>.</p>

<p>Podemos verlo en el siguiente ejemplo:</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">int</span> <span class="n">vble1</span> <span class="o">=</span> <span class="mi">2</span><span class="o">;</span>
<span class="kt">int</span> <span class="n">vble2</span> <span class="o">=</span> <span class="mi">3</span><span class="o">;</span>

<span class="k">if</span> <span class="o">!(</span><span class="n">vble1</span> <span class="o">&gt;</span> <span class="n">vble2</span><span class="o">)</span>
    <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"variable 1 es más pequeña que la variable 2"</span><span class="o">);</span>
</code></pre></div></div>

<p>Como podemos observar el valor de la expresión evaluada es convertido.</p>]]></content><author><name>manual_web</name></author><summary type="html"><![CDATA[Los operadores unarios en Java son aquellos que solo requieren un operando para funcionar.]]></summary></entry><entry><title type="html">Operadores Igualdad y Relacionales en Java</title><link href="https://www.manualweb.net/java/operadores-igualdad-relacionales-java/" rel="alternate" type="text/html" title="Operadores Igualdad y Relacionales en Java" /><published>2026-01-29T16:33:46+01:00</published><updated>2026-01-29T16:33:46+01:00</updated><id>https://www.manualweb.net/java/operadores-igualdad-relacional</id><content type="html" xml:base="https://www.manualweb.net/java/operadores-igualdad-relacionales-java/"><![CDATA[<p>Los operadores de igualdad y relacionales en <a href="http://www.manualweb.net/tutorial-java/">Java</a> son aquellos que nos permiten comparar el contenido de una variable contra otra atendiendo a si son variables con un valor igual o distinto o bien si los valores son mayores o menores.</p>

<p>El listado de operadores de igualdad y relacionales en <a href="http://www.manualweb.net/tutorial-java/">Java</a> es:</p>

<table>
  <thead>
    <tr>
      <th>Operador</th>
      <th>Descripción</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>==</td>
      <td>igual a</td>
    </tr>
    <tr>
      <td>!=</td>
      <td>no igual a</td>
    </tr>
    <tr>
      <td>&gt;</td>
      <td>mayor que</td>
    </tr>
    <tr>
      <td>&gt;=</td>
      <td>mayor o igual que</td>
    </tr>
    <tr>
      <td>&lt;</td>
      <td>menor que</td>
    </tr>
    <tr>
      <td>&lt;=</td>
      <td>menor o igual que</td>
    </tr>
  </tbody>
</table>

<h2 id="operadores-de-igualdad">Operadores de Igualdad</h2>

<p>Mediante los operadores de igualdad podemos comprobar si dos valores son iguales <strong>(operador ==)</strong> o diferentes <strong>(operador !=)</strong>.</p>

<p>La estructura de los <strong>operadores de igualdad</strong> es la siguiente:</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">vble1</span> <span class="o">==</span> <span class="n">vble2</span>
<span class="n">vble1</span> <span class="o">!=</span> <span class="n">vble2</span>
</code></pre></div></div>

<p>Podemos utilizar estos operadores de igualdad en <a href="http://www.manualweb.net/tutorial-java/">Java</a> de la siguiente forma:</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">int</span> <span class="n">vble1</span> <span class="o">=</span> <span class="mi">5</span><span class="o">;</span>
<span class="kt">int</span> <span class="n">vble2</span> <span class="o">=</span> <span class="mi">3</span><span class="o">;</span>

<span class="k">if</span> <span class="o">(</span><span class="n">vble1</span> <span class="o">==</span> <span class="n">vble2</span><span class="o">)</span>
  <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"Las variables son iguales"</span><span class="o">);</span>

<span class="k">if</span> <span class="o">(</span><span class="n">vble1</span> <span class="o">!=</span> <span class="n">vble2</span><span class="o">)</span>
  <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"Las variables son distintas"</span><span class="o">);</span>
</code></pre></div></div>

<h2 id="operadores-relacionales">Operadores relacionales</h2>

<p>Permiten comprobar si un valor es mayor que <strong>(operador &gt;)</strong>, menor que <strong>(operador &lt;)</strong>, mayor o igual que <strong>(&gt;=)</strong> y menor o igual que <strong>(&lt;=)</strong>.</p>

<p>Al final el operador lo valida entre dos valores o variables con la estructura:</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">vble1</span> <span class="o">&gt;</span> <span class="n">vble2</span>
<span class="n">vble1</span> <span class="o">&lt;</span> <span class="n">vble2</span>
<span class="n">vble1</span> <span class="o">&gt;=</span> <span class="n">vble2</span>
<span class="n">vble1</span> <span class="o">&lt;=</span> <span class="n">vble2</span>
</code></pre></div></div>

<p>De esta forma podemos tener un código fuente que nos ayude a realizar estas validaciones de relación:</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">int</span> <span class="n">vble1</span> <span class="o">=</span> <span class="mi">5</span><span class="o">;</span>
<span class="kt">int</span> <span class="n">vble2</span> <span class="o">=</span> <span class="mi">3</span><span class="o">;</span>

<span class="k">if</span> <span class="o">(</span><span class="n">vble1</span> <span class="o">&gt;</span> <span class="n">vble2</span><span class="o">)</span>
  <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"La variable 1 es mayor que la variable 2"</span><span class="o">);</span>

<span class="k">if</span> <span class="o">(</span><span class="n">vble1</span> <span class="o">&lt;</span> <span class="n">vble2</span><span class="o">)</span>
  <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"La variable 1 es menor que la variable 2"</span><span class="o">);</span>

<span class="k">if</span> <span class="o">(</span><span class="n">vble1</span> <span class="o">&gt;=</span> <span class="n">vble2</span><span class="o">)</span>
  <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"La variable 1 es mayor o igual que la variable 2"</span><span class="o">);</span>

<span class="k">if</span> <span class="o">(</span><span class="n">vble1</span> <span class="o">&lt;=</span> <span class="n">vble2</span><span class="o">)</span>
  <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"La variable 1 es menor o igual que la variable 2"</span><span class="o">);</span>
</code></pre></div></div>]]></content><author><name>manual_web</name></author><summary type="html"><![CDATA[Los operadores de igualdad y relacionales en Java son aquellos que nos permiten comparar el contenido de una variable contra otra atendiendo a si son variables con un valor igual o distinto o bien si los valores son mayores o menores.]]></summary></entry><entry><title type="html">Operadores Condicionales Java</title><link href="https://www.manualweb.net/java/operadores-condicionales-java/" rel="alternate" type="text/html" title="Operadores Condicionales Java" /><published>2026-01-29T16:33:46+01:00</published><updated>2026-01-29T16:33:46+01:00</updated><id>https://www.manualweb.net/java/operadores-condicionales</id><content type="html" xml:base="https://www.manualweb.net/java/operadores-condicionales-java/"><![CDATA[<p>Los operadores condicionales en <a href="http://www.manualweb.net/tutorial-java/">Java</a> son aquellos que evalúan dos expresiones booleanas.</p>

<p>Dentro de los operadores condicionales en <a href="http://www.manualweb.net/tutorial-java/">Java</a> tenemos:</p>

<table>
  <thead>
    <tr>
      <th>Operador</th>
      <th>Descripción</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>&amp;&amp;</td>
      <td>Operador condicional AND</td>
    </tr>
    <tr>
      <td>||</td>
      <td>Operador condicional OR</td>
    </tr>
    <tr>
      <td>?:</td>
      <td>Operador Ternario</td>
    </tr>
    <tr>
      <td>instanceof</td>
      <td>Operador instanceof</td>
    </tr>
  </tbody>
</table>

<h2 id="operadores-condicionales">Operadores Condicionales</h2>

<p>La estructura de los operadores condicionales en <a href="http://www.manualweb.net/tutorial-java/">Java</a> es:</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="o">(</span><span class="n">expresion_booleana1</span> <span class="o">&amp;&amp;</span> <span class="n">expresion_booleana2</span><span class="o">)</span>
<span class="o">(</span><span class="n">expresion_booleana1</span> <span class="o">||</span> <span class="n">expresion_booleana2</span><span class="o">)</span>
</code></pre></div></div>

<p>En el caso del <strong>operador condicional AND</strong> el resultado será <strong>true</strong> siempre y cuando las dos expresiones evaluadas sean <strong>true</strong>. Si una de las expresiones es <strong>false</strong> el resultado de la expresión condicional AND será <strong>false</strong>.</p>

<p>Para el <strong>operador condicional OR</strong> el resultado será <strong>true</strong> siempre que alguna de las dos expresiones sea <strong>true</strong>.</p>

<p>Los operadores booleanos funcionan mediante la <strong><em>evaluación por cortocircuito</em></strong>. Es decir, que dependiendo del valor de la expresión 1 puede que no sea necesario evaluar la expresión 2.</p>

<p>Para el caso del <strong>operador condicional AND</strong>, si la primera expresión es <strong>false</strong> ya devuelve <strong>false</strong> sin evaluar la segunda expresión. Y en el caso del <strong>operador condicional OR</strong> si la primera expresión es <strong>true</strong> ya devuelve <strong>true</strong> sin evaluar la segunda expresión.</p>

<p>Podríamos ver el uso de los operadores condicionales en el siguiente código:</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">int</span> <span class="n">vble1</span> <span class="o">=</span> <span class="mi">5</span><span class="o">;</span>
<span class="kt">int</span> <span class="n">vble2</span> <span class="o">=</span> <span class="mi">3</span><span class="o">;</span>

<span class="k">if</span> <span class="o">((</span><span class="n">vble1</span> <span class="o">==</span> <span class="mi">5</span><span class="o">)</span> <span class="o">&amp;&amp;</span> <span class="o">(</span><span class="n">vble2</span> <span class="o">==</span><span class="mi">3</span><span class="o">))</span>
  <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"Las dos variables mantienen sus valores iniciales"</span><span class="o">);</span>

<span class="k">if</span> <span class="o">((</span><span class="n">vble1</span> <span class="o">==</span> <span class="mi">5</span><span class="o">)</span> <span class="o">||</span> <span class="o">(</span><span class="n">vble2</span> <span class="o">==</span><span class="mi">3</span><span class="o">))</span>
  <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"Al menos una variable mantiene su valor inicial"</span><span class="o">);</span>
</code></pre></div></div>

<h2 id="operador-ternario">Operador Ternario</h2>

<p>El <strong>operador ternario</strong> es otro de los operadores condicionales. Es una forma reducida de escribir un <strong>if-then-else</strong>. El <strong>operador ternario</strong> es representado mediante el símbolo <strong>?:</strong></p>

<p>La estructura del operador ternario es:</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="o">(</span><span class="n">expresion</span><span class="o">)?</span><span class="nl">valor_true:</span><span class="n">valor_false</span><span class="o">;</span>
</code></pre></div></div>

<p>En el caso de que la expresión tenga un valor de <strong>true</strong> se retorna el valor indicado después del cierre de interrogación (?) Y si la expresión tiene un valor de <strong>false</strong> se retorna el valor que esté después de los dos puntos (:).</p>

<p>El <strong>operador ternario</strong> se suele utilizar para decidir que valor asignar. Un ejemplo de código del operador ternario sería:</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">int</span> <span class="n">vble1</span> <span class="o">=</span> <span class="mi">5</span><span class="o">;</span>
<span class="kt">int</span> <span class="n">vble2</span> <span class="o">=</span> <span class="mi">4</span><span class="o">;</span>
<span class="kt">int</span> <span class="n">mayor</span><span class="o">;</span>

<span class="n">mayor</span> <span class="o">=</span> <span class="o">(</span><span class="n">vble1</span> <span class="o">&gt;</span> <span class="n">vble2</span><span class="o">)?</span><span class="nl">vble1:</span><span class="n">vble2</span><span class="o">;</span>

<span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"El mayor de los dos números es "</span> <span class="o">+</span> <span class="n">mayor</span><span class="o">);</span>
</code></pre></div></div>

<p>Vemos que si la variable 1 es mayor que la variable 2 guardaremos el valor de la variable 1 en la variable mayor. En caso contrario se guardaría el valor de la variable 2, ya que en ese caso sería la mayor.</p>

<h2 id="operador-instanceof">Operador instanceof</h2>

<p>El <strong>operador instanceof</strong> es un operador especial para los objetos. Mediante el <strong>operador instanceof</strong> podemos comprobar si un objeto es de una clase concreta.</p>

<p>La estructura del <strong>operador instanceof</strong> es:</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">objeto</span> <span class="k">instanceof</span> <span class="n">clase</span>
</code></pre></div></div>

<p>El operador instanceof devolverá true siempre y cuando el objeto sea del tipo clase o de alguna de las clases de las que herede.</p>

<p>Así podríamos definir una secuencia de clases:</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">class</span> <span class="nc">Poligono</span> <span class="o">{}</span>
<span class="kd">interface</span> <span class="nc">Figura</span> <span class="o">{}</span>
<span class="kd">class</span> <span class="nc">Triangulo</span> <span class="kd">extends</span> <span class="nc">Poligono</span> <span class="kd">implements</span> <span class="nc">Figura</span> <span class="o">{}</span>
</code></pre></div></div>

<p>Ahora definimos un par de objetos:</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nc">Poligono</span> <span class="n">p</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">Poligono</span><span class="o">();</span>
<span class="nc">Triangulo</span> <span class="n">t</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">Triangulo</span><span class="o">();</span>
</code></pre></div></div>

<p>Podemos, mediante el uso del <strong>operador instanceof</strong>, comprobar que t es instancia de tipo Triangulo, Poligono y Figura. Mientras que p es instancia de tipo Polígono, pero no de Triangulo, ni Figura.</p>

<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"p es instancia de "</span><span class="o">);</span>
<span class="k">if</span> <span class="o">(</span><span class="n">p</span> <span class="k">instanceof</span> <span class="nc">Poligono</span><span class="o">)</span>
  <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"Poligono"</span><span class="o">);</span>
<span class="k">if</span> <span class="o">(</span><span class="n">p</span> <span class="k">instanceof</span> <span class="nc">Triangulo</span><span class="o">)</span>
    <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"Triangulo"</span><span class="o">);</span>
<span class="k">if</span> <span class="o">(</span><span class="n">p</span> <span class="k">instanceof</span> <span class="nc">Figura</span><span class="o">)</span>
    <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"Figura"</span><span class="o">);</span>

<span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"t es instancia de "</span><span class="o">);</span>
<span class="k">if</span> <span class="o">(</span><span class="n">t</span> <span class="k">instanceof</span> <span class="nc">Poligono</span><span class="o">)</span>
    <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"Poligono"</span><span class="o">);</span>
<span class="k">if</span> <span class="o">(</span><span class="n">t</span> <span class="k">instanceof</span> <span class="nc">Triangulo</span><span class="o">)</span>
    <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"Triangulo"</span><span class="o">);</span>
<span class="k">if</span> <span class="o">(</span><span class="n">t</span> <span class="k">instanceof</span> <span class="nc">Figura</span><span class="o">)</span>
    <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"Figura"</span><span class="o">);</span>
</code></pre></div></div>]]></content><author><name>manual_web</name></author><summary type="html"><![CDATA[Los operadores condicionales en Java son aquellos que evalúan dos expresiones booleanas.]]></summary></entry></feed>