<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Manual Web &#187; Java</title>
	<atom:link href="http://www.manualweb.net/categoria/java/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.manualweb.net</link>
	<description>www.manualweb.net</description>
	<lastBuildDate>Fri, 30 Jul 2010 19:24:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Applets en Java</title>
		<link>http://www.manualweb.net/java/applets-en-java/</link>
		<comments>http://www.manualweb.net/java/applets-en-java/#comments</comments>
		<pubDate>Sun, 23 May 2010 22:27:19 +0000</pubDate>
		<dc:creator>manualweb</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[applet]]></category>
		<category><![CDATA[appletviewer]]></category>
		<category><![CDATA[awt]]></category>
		<category><![CDATA[garbage collector]]></category>
		<category><![CDATA[gc]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[init]]></category>
		<category><![CDATA[java virtual machine]]></category>
		<category><![CDATA[java.applet]]></category>
		<category><![CDATA[jvm]]></category>
		<category><![CDATA[paint]]></category>
		<category><![CDATA[repaint]]></category>
		<category><![CDATA[start]]></category>
		<category><![CDATA[stop]]></category>
		<category><![CDATA[swing]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://www.manualweb.net/?p=236</guid>
		<description><![CDATA[¿Qué es un applet? Creando un applet Ciclo de vida del applet Mi primer applet Código HTML de un applet Utilizar el visor de applets (Appletviewer) ¿Qué es un applet? Un applet es una pequeña aplicación java, la cual esta disponible en un servidor web del cual nos la descargamos y ejecutamos dentro de una [...]]]></description>
			<content:encoded><![CDATA[<div class="toc">
<ol>
<li><a href="http://www.manualweb.net/java/applets-en-java/#toc-que-es-un-applet">¿Qué es un applet?</a></li>
<li><a href="http://www.manualweb.net/java/applets-en-java/#toc-creando-un-applet">Creando un applet</a></li>
<li><a href="http://www.manualweb.net/java/applets-en-java/#toc-ciclo-de-vida-del-applet">Ciclo de vida del applet</a></li>
<li><a href="http://www.manualweb.net/java/applets-en-java/#toc-mi-primer-applet">Mi primer applet</a></li>
<li><a href="http://www.manualweb.net/java/applets-en-java/#toc-codigo-html-de-un-applet">Código HTML de un applet</a></li>
<li><a href="http://www.manualweb.net/java/applets-en-java/#toc-utilizar-el-visor-de-applets-appletviewer">Utilizar el visor de applets (Appletviewer)</a></li>
</ol>
</div>
<h3 id="toc-que-es-un-applet">¿Qué es un applet?</h3>
<p>Un applet es una pequeña aplicación java, la cual esta disponible en un servidor web del cual nos la descargamos y ejecutamos dentro de una página web.</p>
<p>Algunas de sus características son:</p>
<ul>
<li><strong>Tamaño pequeño</strong>, esto es debido a que se requiere su descarga a través de la red. Aunque existen applets de gran tamaño.</li>
<li><strong>Uso de interfaces gráficos</strong>, utiliza las clases AWT y Swing, las cuales dotan al interface del applet de una gran versatilidad y operabilidad para el usuario.</li>
<li>...</li>
</ul>
<p>Podríamos decir que es un componente, ya que va a ir incluido dentro de otras aplicaciones.</p>
<h3 id="toc-creando-un-applet">Creando un applet</h3>
<p>Lo primer que hay que tener en cuenta es que la definición de los applet se encuentra dentro de la librería <a title="java.applet" href="http://w3api.com/wiki/Categor%C3%ADa:Java_Applet">java.applet</a>, la cual deberemos de importar para poder utilizarla. Además necesitaremos de la librería <a title="java.awt" href="http://w3api.com/wiki/Categor%C3%ADa:Java_AWT">java.awt</a> que es la que gestionará los recursos gráficos que se incluyan dentro del applet.</p>
<p>La librería <a title="java.applet" href="http://w3api.com/wiki/Categor%C3%ADa:Java_Applet">java.applet</a> cuenta con una clase abstracta Applet, de la que deberemos de heredar en la clase principal de nuestra aplicación.</p>
<pre class="java"><span style="color: #a1a100;">import java.applet.*;</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> miApplet <span style="color: #000000; font-weight: bold;">extends</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AApplet+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #aaaadd; font-weight: bold;">Applet</span></a> <span style="color: #66cc66;">&#123;</span>
  <span style="color: #808080; font-style: italic;">//variables y métodos</span>
<span style="color: #66cc66;">&#125;</span></pre>
<h3 id="toc-ciclo-de-vida-del-applet">Ciclo de vida del applet</h3>
<p>Un applet de java pasa por diversos estados:</p>
<ol>
<li>El applet se carga por primera vez, es decir, se inicializa. Esto sucede cuando el usuario entra en la página por primera vez.</li>
<li>Seguidamente el applet empieza a funcionar.</li>
<li>En el caso de que el usuario abandone la página, para desaplazarse a otra, lo que se hace es detener al applet, pero no descargarlo de memoria.</li>
<li>Si el usuario recarga la página donde se encuentra el applet, este se descarga de memoria el applet actual y sus recursos asociados. Posteriormente se carga una nueva instancia del applet.</li>
<li>Cuando se cierra el navegador o la aplicación que visualiza el applet, se detiene la ejecución y se libera el applet de memoria.</li>
</ol>
<p>Cada uno de los estados lleva asociado un método:</p>
<pre class="java"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #993333;">void</span> init <span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span> … <span style="color: #66cc66;">&#125;</span></pre>
<p>Este método se llama cuando se inicializa el applet por primera vez. En este método es aconsejable fijar el tamaño (ancho y alto) del applet. Además se suelen instanciar los elementos que utilice el applet, ya sean botones, cajas de texto, imágenes,...</p>
<pre class="java"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #993333;">void</span> start <span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span> … <span style="color: #66cc66;">&#125;</span></pre>
<p>Es el método que arranca la ejecución del applet cada vez que se visita, siempre y cuando el applet esté expuesto a la visión del usuario.</p>
<pre class="java"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #993333;">void</span> stop <span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span> … <span style="color: #66cc66;">&#125;</span></pre>
<p>Para la ejecución del applet. Se ejecuta cuando el applet desaparece de la pantalla.</p>
<pre class="java"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #993333;">void</span> destroy <span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span> … <span style="color: #66cc66;">&#125;</span></pre>
<p>Destruye el applet cuando este ya no se vaya a utilizar. En este método deberemos de poner a null todas las variables que maneje el applet para que puedan ser descargadas de memoria por el Garbage Collector (GC), que es el encargado de liberar memoria dentro de la JVM (Java Virtual Machine).</p>
<blockquote><p>Estos métodos al heredarlos no hacen nada, es por ello que deben de ser sobrecargados para dotarles de funcionalidad.</p></blockquote>
<p>Otros métodos que utiliza el applet son:</p>
<pre class="java"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #993333;">void</span> paint <span style="color: #66cc66;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AGraphics+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #aaaadd; font-weight: bold;">Graphics</span></a> g<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span> … <span style="color: #66cc66;">&#125;</span></pre>
<p>Este método se ejecuta cada vez que el área de dibujo del applet es refrescada, ya sea porque es la primera vez que se visualiza el applet, porque el usuario ha movido el applet por la pantalla, porque se ha redimensionado el navegador,.... Inicialmente, el área de dibujo es un rectángulo gris.</p>
<pre class="java"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #993333;">void</span> update <span style="color: #66cc66;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AGraphics+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #aaaadd; font-weight: bold;">Graphics</span></a> g <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span> … <span style="color: #66cc66;">&#125;</span></pre>
<p>Esta función es la que realmente se llama cuando se refresca el área de dibujo del applet. Lo que hace es limpiar el área de dibujo y llamar a paint. Si estamos realizando aplicaciones que trabajen con gráficos, veremos que esta función habrá que sobrecargarla para que la pantalla no parpadee.</p>
<pre class="java"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #993333;">void</span> repaint <span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span> … <span style="color: #66cc66;">&#125;</span></pre>
<p>Una llamada a este método fuerza a la actualización del applet, es decir, se llama a su método update.</p>
<h3 id="toc-mi-primer-applet">Mi primer applet</h3>
<p>En nuestro primer applet, lógicamente, deberemos de codificar la aplicación que nos muestre la cadena de texto "Hola Mundo". Veamos el código:</p>
<pre class="java"><span style="color: #a1a100;">import java.awt.*;</span>
<span style="color: #a1a100;">import java.applet.*;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> miApplet <span style="color: #000000; font-weight: bold;">extends</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AApplet+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #aaaadd; font-weight: bold;">Applet</span></a> <span style="color: #66cc66;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #993333;">void</span> paint <span style="color: #66cc66;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AGraphics+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #aaaadd; font-weight: bold;">Graphics</span></a> g<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
    g.<span style="color: #006600;">drawString</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Hola Mundo&quot;</span>,<span style="color: #cc66cc;">30</span>,<span style="color: #cc66cc;">30</span><span style="color: #66cc66;">&#41;</span>;
  <span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre>
<h3 id="toc-codigo-html-de-un-applet">Código HTML de un applet</h3>
<p>Para poder visualizar un applet dentro de una página web deberemos de introducir su código <a title="HTML" href="http://www.manualweb.net/tutorial-html/">HTML</a> correspondiente, este se referencia mediante la etiqueta .</p>
<p>Esta etiqueta cuenta con una serie de atributos:</p>
<ul>
<li><strong>code</strong>, indica el fichero .class que representa el applet.</li>
<li><strong>height</strong>, indica el alto del área donde se representará el applet.</li>
<li><strong>width</strong>, representa el ancho del área donde se representa el applet.</li>
</ul>
<p>Veamos el código que cargaría el applet codificado anteriormente:</p>
<p>miApplet.html</p>
<pre class="html4strict"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><a href="http://december.com/html/4/element/applet.html"><span style="color: #000000; font-weight: bold;">&lt;applet</span></a> <span style="color: #000066;">code</span>=<span style="color: #ff0000;">&quot;miapplet.class&quot;</span> <span style="color: #000066;">height</span>=<span style="color: #cc66cc;">100</span> <span style="color: #000066;">width</span>=<span style="color: #cc66cc;">300</span>&gt;</span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/applet&gt;</span></span></div></li></ol></pre>
<h3 id="toc-utilizar-el-visor-de-applets-appletviewer">Utilizar el visor de applets (Appletviewer)</h3>
<p>En vez de utilizar un navegador web, podemos visualizar el applet mediante una de las herramientas que se incorpora en el kit de desarrollo de Java SUN. Esta herramienta es el appletviewer. Esta herramienta se ejecutará en línea de comandos. Para poder ver nuestra aplicación deberemos de poner en línea de comandos:</p>
<pre>C:\jdk1.4\bin\appletviewer miApplet.html</pre>

<div class="sociable">
<div class="sociable_tagline">
<strong>Comparteme:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Fapplets-en-java%2F&amp;title=Applets%20en%20Java&amp;bodytext=%0A%C2%BFQu%C3%A9%20es%20un%20applet%3F%0ACreando%20un%20applet%0ACiclo%20de%20vida%20del%20applet%0AMi%20primer%20applet%0AC%C3%B3digo%20HTML%20de%20un%20applet%0AUtilizar%20el%20visor%20de%20applets%20%28Appletviewer%29%0D%0A%C2%BFQu%C3%A9%20es%20un%20applet%3F%0D%0AUn%20applet%20es%20una%20peque%C3%B1a%20aplicaci%C3%B3n%20java%2C%20la%20cual%20esta%20disponible%20en%20un%20s" title="Digg"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://sphinn.com/index.php?c=post&amp;m=submit&amp;link=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Fapplets-en-java%2F" title="Sphinn"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/sphinn.png" title="Sphinn" alt="Sphinn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Fapplets-en-java%2F&amp;title=Applets%20en%20Java&amp;notes=%0A%C2%BFQu%C3%A9%20es%20un%20applet%3F%0ACreando%20un%20applet%0ACiclo%20de%20vida%20del%20applet%0AMi%20primer%20applet%0AC%C3%B3digo%20HTML%20de%20un%20applet%0AUtilizar%20el%20visor%20de%20applets%20%28Appletviewer%29%0D%0A%C2%BFQu%C3%A9%20es%20un%20applet%3F%0D%0AUn%20applet%20es%20una%20peque%C3%B1a%20aplicaci%C3%B3n%20java%2C%20la%20cual%20esta%20disponible%20en%20un%20s" title="del.icio.us"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Fapplets-en-java%2F&amp;t=Applets%20en%20Java" title="Facebook"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.mixx.com/submit?page_url=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Fapplets-en-java%2F&amp;title=Applets%20en%20Java" title="Mixx"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/mixx.png" title="Mixx" alt="Mixx" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Fapplets-en-java%2F&amp;title=Applets%20en%20Java&amp;annotation=%0A%C2%BFQu%C3%A9%20es%20un%20applet%3F%0ACreando%20un%20applet%0ACiclo%20de%20vida%20del%20applet%0AMi%20primer%20applet%0AC%C3%B3digo%20HTML%20de%20un%20applet%0AUtilizar%20el%20visor%20de%20applets%20%28Appletviewer%29%0D%0A%C2%BFQu%C3%A9%20es%20un%20applet%3F%0D%0AUn%20applet%20es%20una%20peque%C3%B1a%20aplicaci%C3%B3n%20java%2C%20la%20cual%20esta%20disponible%20en%20un%20s" title="Google Bookmarks"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Fapplets-en-java%2F&amp;title=Applets%20en%20Java" title="Live"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  href="http://meneame.net/submit.php?url=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Fapplets-en-java%2F" title="Meneame"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/meneame.png" title="Meneame" alt="Meneame" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.manualweb.net/java/applets-en-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mi primera aplicación Java</title>
		<link>http://www.manualweb.net/java/mi-primera-aplicacion-java/</link>
		<comments>http://www.manualweb.net/java/mi-primera-aplicacion-java/#comments</comments>
		<pubDate>Sat, 19 Sep 2009 23:13:11 +0000</pubDate>
		<dc:creator>manualweb</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[básico]]></category>
		<category><![CDATA[byte codes]]></category>
		<category><![CDATA[CLASSPATH]]></category>
		<category><![CDATA[código fuente]]></category>
		<category><![CDATA[compilador]]></category>
		<category><![CDATA[Hola Mundo]]></category>
		<category><![CDATA[java.lang.NoClassDefFoundError]]></category>
		<category><![CDATA[javac]]></category>
		<category><![CDATA[JRE]]></category>
		<category><![CDATA[PATH]]></category>
		<category><![CDATA[SDK]]></category>
		<category><![CDATA[SUN]]></category>
		<category><![CDATA[SUN Download Manager]]></category>

		<guid isPermaLink="false">http://www.manualweb.net/?p=98</guid>
		<description><![CDATA[Empezando con Java Proceso de instalación Hola Mundo Compilando mi aplicación Ejecutando mi aplicación Empezando con Java Me siento ante el ordenador y pienso que voy a escribir mi primera aplicación Java. ¿Cómo? ¿Qué necesito? ¿Por dónde empiezo?...... (las dudas me asaltan). No te preocupes, para eso estamos nosotros. La verdad es que cualquier libro [...]]]></description>
			<content:encoded><![CDATA[<div class="toc">
<ol>
<li><a href="http://www.manualweb.net/java/mi-primera-aplicacion-java/#toc-empezando-con-java">Empezando con Java</a></li>
<li><a href="http://www.manualweb.net/java/mi-primera-aplicacion-java/#toc-proceso-de-instalacion">Proceso de instalación</a></li>
<li><a href="http://www.manualweb.net/java/mi-primera-aplicacion-java/#toc-hola-mundo">Hola Mundo</a></li>
<li><a href="http://www.manualweb.net/java/mi-primera-aplicacion-java/#toc-compilando-mi-aplicacion">Compilando mi aplicación</a></li>
<li><a href="http://www.manualweb.net/java/mi-primera-aplicacion-java/#toc-ejecutando-mi-aplicacion">Ejecutando mi aplicación</a></li>
</ol>
</div>
<h3 id="toc-empezando-con-java">Empezando con Java</h3>
<p>Me siento ante el ordenador y pienso que voy a escribir mi primera aplicación Java. ¿Cómo? ¿Qué necesito? ¿Por dónde empiezo?...... (las dudas me asaltan). No te preocupes, para eso estamos nosotros.</p>
<p>La verdad es que cualquier libro que se precie empezaría con una introducción tediosa de las características del lenguaje que vamos a estudiar. Yo no voy ha hacer eso. No porque este en contra de las introducciones, sino porque me encuentro incapaz de escribir, por el momento, una. Si bien, no me quito de la mete la idea de explicar las características del lenguaje java, las cuales, nos aclararan un poco más las sutilezas de este lenguaje.</p>
<p>Antes de crear mi primer programa en Java deberé de asegurarme que tengo en el equipo el siguiente software:</p>
<ul>
<li>Un editor de textos (Por ejemplo, el bloc de notas de Windows, <a title="Wim" href="http://www.vim.org/download.php#pc">Wim</a>, <a title="AM-Notebook" href="http://aignes.com/notebook.htm">AM-Notebook</a>, <a title="Win32Pad" href="http://www.gena01.com/win32pad">Win32Pad</a>, <a title="EditPadLite" href="http://www.editpadpro.com/editpadlite.html">EditPad Lite</a>, <a title="NotePad2" href="http://www.flos-freeware.ch/notepad2.html">NotePad2</a>,...)</li>
<li>El compilador de Java</li>
</ul>
<p>Supongo que el primero, por descontado, lo tendréis a mano. O, al menos, algo similar. Para los usuarios avanzados en el tema les dejare utilizar el UltraEdit y similares.</p>
<p>El compilador de java será el que nos permita transformar nuestro código fuente en programas ejecutables. O.... bueno, podríamos decir que en algo similar a programas ejecutables. Ya veremos en que.</p>
<p>Para instalarnos el compilador deberemos de descargárnosle de la web de SUN (que son los que se inventaron esto del Java, aunque eso es historia de otro tema).</p>
<p>A día de hoy podemos bajarnos la versión 6 del compilador desde <a title="Descargar Compilador Java" href="http://java.sun.com/javase/downloads/index.jsp">http://java.sun.com/javase/downloads/index.jsp</a>. De ella nos podemos bajar el kit de desarrollo (Java SE Development Kit) y el entorno de ejecución (Java SE Runtime Environment).</p>
<p>La descarga del software la tendremos que hacer desde el SUN Download Manager.</p>
<p style="text-align: center;"><a href="http://www.manualweb.net/wp-content/uploads/2009/09/sun_download_manager.png"><img class="size-full wp-image-199 aligncenter" title="sun_download_manager" src="http://www.manualweb.net/wp-content/uploads/2009/09/sun_download_manager.png" alt="sun_download_manager" width="382" height="235" /></a></p>
<h3 id="toc-proceso-de-instalacion">Proceso de instalación</h3>
<p>En el proceso de instalación deberemos de introducir algunos datos como el directorio de instalación del compilador y las partes del software que queremos instalar. Entre estas partes podremos elegir las herramientas de desarrollo, el código fuente, las demos y el entorno de ejecución. Es recomendable instalar todas. Más vale que sobre a que falte.</p>
<p style="text-align: center;"><a href="http://www.manualweb.net/wp-content/uploads/2009/09/java_install.png"><img class="size-full wp-image-204 aligncenter" title="java_install" src="http://www.manualweb.net/wp-content/uploads/2009/09/java_install.png" alt="java_install" width="303" height="231" /></a></p>
<h3 id="toc-hola-mundo">Hola Mundo</h3>
<p>Ahora que tenemos todo el entorno de desarrollo instalado nos lanzamos a desarrollar, ni más, ni menos, que nuestra primera aplicación Java.</p>
<p>Lógicamente, nuestra primera aplicación no podría ser otra que “Hola Mundo”. Por si algún despistado todavía no se ha enterado de que va esta aplicación, decirle, simplemente, que es mostrar por pantalla la frase “Hola Mundo”. Complejo, ¿verdad?.</p>
<p>El código de nuestra aplicación es el siguiente:</p>
<pre class="java"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> MiPrimeraAplicacion <span style="color: #66cc66;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #993333;">void</span> main <span style="color: #66cc66;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AString+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #aaaadd; font-weight: bold;">String</span></a><span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span> args<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
    <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3ASystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #aaaadd; font-weight: bold;">System</span></a>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Hola Mundo&quot;</span><span style="color: #66cc66;">&#41;</span>;
  <span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre>
<p>Este fichero lo guardaremos como <strong>MiPrimeraAplicacion.java</strong>. Este será nuestro fichero con el código fuente.</p>
<p>Deberemos de tener cuidado en cómo escribimos el nombre del fichero ya que Java es un lenguaje sensible a mayúsculas, es decir, que no es lo mismo (ya lo dice Alejandro Sanz) poner miprimeraaplicacion o MiprimeraAplicacion o MIPRIMERAAPLICACION o ...</p>
<p>El nombre del fichero deberá de coincidir con el nombre de la clase principal.</p>
<pre>public class MiPrimeraAplicacion &lt;--&gt; MiPrimeraAplicacion.java</pre>
<p>La verdad es que a estas alturas de la película no nos vamos a centrar en que significa cada una de las líneas de código. Si bien, no es que haya que ser muy listo, para, al menos, darnos cuenta de que con la sentencia System.out.println se pueden volcar contenidos a la pantalla del ordenador.</p>
<h3 id="toc-compilando-mi-aplicacion">Compilando mi aplicación</h3>
<p>El compilador de java se llama javac (la c es de compilador, claro). Este no deja de ser un programa ejecutable como otro cualquiera.</p>
<p>Para encontrarle y no utilizar las funciones de búsqueda de Windows, podemos dirigirnos a</p>
<pre>C:\Program Files\Java\jdk1.6.0_16\bin</pre>
<p>Suponiendo que lo hemos instalado en la unidad C:. E incluso, podemos arriesgarnos a ejecutar el programa.</p>
<pre>C:\Program Files\Java\jdk1.6.0_16\bin\javac</pre>
<p style="text-align: left;">A si que veremos algo así por pantalla...</p>
<p style="text-align: center;"><a href="http://www.manualweb.net/wp-content/uploads/2009/09/javac.png"><img class="size-full wp-image-207 aligncenter" title="javac" src="http://www.manualweb.net/wp-content/uploads/2009/09/javac.png" alt="javac" width="398" height="323" /></a></p>
<p>Uff....vaya cantidad de opciones...</p>
<p>Para compilar mi aplicación deberé de poner por consola lo siguiente...</p>
<pre>C:\Program Files\Java\jdk1.6.0_16\bin\javac MiPrimeraAplicacion.java</pre>
<p>Esta ejecución supone que tenemos el código fuente en el mismo directorio que el compilador, si bien, eso no será lo más corriente. Para poder ejecutar el compilador en cualquier directorio de nuestra máquina deberemos de insertar el directorio donde se ubica el compilador en la variable de entorno PATH. Para ello escribiremos lo siguiente....</p>
<pre>SET PATH = %PATH%;C:\Program Files\Java\jdk1.6.0_16\bin\</pre>
<p>Ahora podremos ejecutar el compilador desde cualquier sitio. Así, debería de funcionarnos lo siguiente...</p>
<pre>C:\WORK\Ejemplos1\javac MiPrimeraAplicacion.java</pre>
<p style="text-align: left;">Si es que tenemos el código fuente en el directorio C:\WORK\Ejemplos1. La salida por pantalla será la siguiente...</p>
<p style="text-align: center;"><a href="http://www.manualweb.net/wp-content/uploads/2009/09/javac2.jpg"><img class="size-full wp-image-208 aligncenter" title="javac2" src="http://www.manualweb.net/wp-content/uploads/2009/09/javac2.jpg" alt="javac2" width="399" height="80" /></a></p>
<p style="text-align: left;">Vamos que si no nos dice nada de nada es que lo hemos hecho muy bien. En el caso de que hubiéramos metido la pata saldrían cosas como las siguientes...</p>
<p style="text-align: center;"><a href="http://www.manualweb.net/wp-content/uploads/2009/09/javacError.jpg"><img class="size-full wp-image-209 aligncenter" title="javacError" src="http://www.manualweb.net/wp-content/uploads/2009/09/javacError.jpg" alt="javacError" width="399" height="98" /></a></p>
<p>Esto es que el nombre de la clase y del fichero no existe. Múltiples errores se nos pueden producir.</p>
<h3 id="toc-ejecutando-mi-aplicacion">Ejecutando mi aplicación</h3>
<p>Una vez que hemos ejecutado correctamente la compilación, sorpresa, no obtenemos un fichero ejecutable, es decir, un .EXE.</p>
<p>Y es que llegados a este punto debemos de ver una de las características del lenguaje Java (Si hubiera realizado una introducción no me pasaría esto).</p>
<p>Java es un lenguaje multiplataforma. Una de las frases más celebres que proclaman todos los adeptos de Java es <em>"write once, run anywhere”</em>. Esto quiere decir que, una vez creado el fichero fuente y compilado, el resultado (llamémoslo, de momento, nuestro pseudo-fichero ejecutable) lo podemos ejecutar en cualquier otro ordenador.</p>
<p>Revisemos algún concepto sobre compiladores. En un proceso de compilación normal seguimos los siguientes pasos:<br />
<img class="aligncenter size-full wp-image-210" title="flujo" src="http://www.manualweb.net/wp-content/uploads/2009/09/flujo.jpg" alt="flujo" width="535" height="117" /></p>
<p>Esto nos viene a decir que si yo compilo un programa, por ejemplo, en C, en mi máquina Windows 2000 sobre una plataforma Intel Pentium 4. Solo va a funcionar en maquinas con esa configuración. Si yo llevo mi programa a una máquina con UNIX en una plataforma Solaris no me va a funcionar.</p>
<p>¿Qué hace java para que eso pueda hacerse?. Java, más en concreto los lenguajes interpretados, el compilador genera un código intermedio (más o menos legible). En el caso de Java, el código intermedio se llama Byte Codes. Este código no es dependiente ni del sistema operativo ni de la máquina en el cual lo ejecutamos.</p>
<p>En un segundo paso, un interprete, ejecutará dichos Byte Codes en la plataforma que queramos. Es decir, que el interprete ya es especifico del sistema operativo y de la plataforma de ejecución. El esquema quedaría de la siguiente forma...<br />
<img class="aligncenter size-full wp-image-211" title="flujo2" src="http://www.manualweb.net/wp-content/uploads/2009/09/flujo2.jpg" alt="flujo2" width="535" height="117" /></p>
<p style="text-align: left;">Centrándonos, nuevamente, en nuestra aplicación, encontraremos un fichero .class que será el fichero con los Byte Codes. Hagamos un dir...</p>
<p style="text-align: center;"><a href="http://www.manualweb.net/wp-content/uploads/2009/09/dir.jpg"><img class="size-full wp-image-212 aligncenter" title="dir" src="http://www.manualweb.net/wp-content/uploads/2009/09/dir.jpg" alt="dir" width="399" height="130" /></a></p>
<p>El interprete de dichos ByteCodes se llama java. Lo podemos encontrar en el mismo directorio en el que se encontraba el compilador.</p>
<pre>C:\Program Files\Java\jdk1.6.0_16\bin\</pre>
<p>Volvamos a arriesgarnos y ejecutemos el compilador. Recordad que al tener el directorio en la variable de entorno PATH podremos estar en cualquier directorio.</p>
<pre>C:\j2sdk1.4.2_03\bin\java</pre>
<p>Este, tiene más opciones que el compilador...</p>
<p style="text-align: center;"><a href="http://www.manualweb.net/wp-content/uploads/2009/09/javaexe.jpg"><img class="size-full wp-image-213 aligncenter" title="javaexe" src="http://www.manualweb.net/wp-content/uploads/2009/09/javaexe.jpg" alt="javaexe" width="399" height="197" /></a></p>
<p>Para ejecutar nuestra aplicación escribiremos</p>
<pre>C:\WORK\Ejemplos1\java MiPrimeraAplicacion</pre>
<p>Ahhhhhhhhhhhhhhh............ ya me lo he cargado ... Exception in thread “main” java.lang.NoClassDefFoundError ¡y yo con estos pelos!</p>
<p>Es normal que la primera vez que ejecutemos nos pueda suceder esto. A si que no nos preocupemos. Esto sucede debido a que el interprete java busca los ficheros .class en los directorios que define la variable de entorno CLASSPATH.</p>
<p>Es por ello que si queremos ejecutar una clase que esta en el directorio actual deberemos de tener, al menos, dicho directorio en la variable de entorno. Cuando escribamos aplicaciones más grandes utilizaremos clases creadas por Java, a si que deberemos de tener en el CLASSPATH la ruta de dichas clases. Para solucionar todo este embrollo podemos escribir lo siguiente.</p>
<pre>Set CLASSPATH=.</pre>
<p>Notar que el punto hace referencia al directorio actual. Si tu eres una de esas personas que no puede dejar nada fuera de control, te recomiendo que te leas el documento <a title="Microsoft Windows Installation" href="http://java.sun.com/javase/6/webnotes/install/jdk/install-windows.html">Microsoft Windows Installation (32-bit)</a> . Todo lo que siempre quisiste saber sobre la variable CLASSPATH y nunca te atreviste a preguntar. <img src='http://www.manualweb.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Ahora, ya si que podremos ejecutar nuestra aplicación...</p>
<pre>C:\WORK\Ejemplos1\java MiPrimeraAplicacion</pre>
<p>Al fin, el resultado esperado...</p>
<p style="text-align: center;"><a href="http://www.manualweb.net/wp-content/uploads/2009/09/MiPrimeraAplicacion.jpg"><img class="size-full wp-image-214 aligncenter" title="MiPrimeraAplicacion" src="http://www.manualweb.net/wp-content/uploads/2009/09/MiPrimeraAplicacion.jpg" alt="MiPrimeraAplicacion" width="398" height="64" /></a></p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Comparteme:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Fmi-primera-aplicacion-java%2F&amp;title=Mi%20primera%20aplicaci%C3%B3n%20Java&amp;bodytext=%0AEmpezando%20con%20Java%0AProceso%20de%20instalaci%C3%B3n%0AHola%20Mundo%0ACompilando%20mi%20aplicaci%C3%B3n%0AEjecutando%20mi%20aplicaci%C3%B3n%0D%0AEmpezando%20con%20Java%0D%0AMe%20siento%20ante%20el%20ordenador%20y%20pienso%20que%20voy%20a%20escribir%20mi%20primera%20aplicaci%C3%B3n%20Java.%20%C2%BFC%C3%B3mo%3F%20%C2%BFQu%C3%A9%20necesito%3F%20%C2%BFPor%20d%C3%B3nd" title="Digg"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://sphinn.com/index.php?c=post&amp;m=submit&amp;link=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Fmi-primera-aplicacion-java%2F" title="Sphinn"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/sphinn.png" title="Sphinn" alt="Sphinn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Fmi-primera-aplicacion-java%2F&amp;title=Mi%20primera%20aplicaci%C3%B3n%20Java&amp;notes=%0AEmpezando%20con%20Java%0AProceso%20de%20instalaci%C3%B3n%0AHola%20Mundo%0ACompilando%20mi%20aplicaci%C3%B3n%0AEjecutando%20mi%20aplicaci%C3%B3n%0D%0AEmpezando%20con%20Java%0D%0AMe%20siento%20ante%20el%20ordenador%20y%20pienso%20que%20voy%20a%20escribir%20mi%20primera%20aplicaci%C3%B3n%20Java.%20%C2%BFC%C3%B3mo%3F%20%C2%BFQu%C3%A9%20necesito%3F%20%C2%BFPor%20d%C3%B3nd" title="del.icio.us"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Fmi-primera-aplicacion-java%2F&amp;t=Mi%20primera%20aplicaci%C3%B3n%20Java" title="Facebook"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.mixx.com/submit?page_url=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Fmi-primera-aplicacion-java%2F&amp;title=Mi%20primera%20aplicaci%C3%B3n%20Java" title="Mixx"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/mixx.png" title="Mixx" alt="Mixx" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Fmi-primera-aplicacion-java%2F&amp;title=Mi%20primera%20aplicaci%C3%B3n%20Java&amp;annotation=%0AEmpezando%20con%20Java%0AProceso%20de%20instalaci%C3%B3n%0AHola%20Mundo%0ACompilando%20mi%20aplicaci%C3%B3n%0AEjecutando%20mi%20aplicaci%C3%B3n%0D%0AEmpezando%20con%20Java%0D%0AMe%20siento%20ante%20el%20ordenador%20y%20pienso%20que%20voy%20a%20escribir%20mi%20primera%20aplicaci%C3%B3n%20Java.%20%C2%BFC%C3%B3mo%3F%20%C2%BFQu%C3%A9%20necesito%3F%20%C2%BFPor%20d%C3%B3nd" title="Google Bookmarks"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Fmi-primera-aplicacion-java%2F&amp;title=Mi%20primera%20aplicaci%C3%B3n%20Java" title="Live"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  href="http://meneame.net/submit.php?url=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Fmi-primera-aplicacion-java%2F" title="Meneame"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/meneame.png" title="Meneame" alt="Meneame" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.manualweb.net/java/mi-primera-aplicacion-java/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Arrays en Java</title>
		<link>http://www.manualweb.net/java/arrays-en-java/</link>
		<comments>http://www.manualweb.net/java/arrays-en-java/#comments</comments>
		<pubDate>Sat, 19 Sep 2009 19:47:19 +0000</pubDate>
		<dc:creator>manualweb</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[array]]></category>
		<category><![CDATA[inicialización]]></category>
		<category><![CDATA[length()]]></category>
		<category><![CDATA[matriz]]></category>
		<category><![CDATA[subindice]]></category>
		<category><![CDATA[tamaño]]></category>

		<guid isPermaLink="false">http://www.manualweb.net/?p=185</guid>
		<description><![CDATA[¿Qué es un array? Tamaño del array: .length Matrices o Arrays de varios subindices Incialización de Arrays ¿Qué es un array? Un array es una estructura de datos que nos permite almacenar una ristra de datos de un mismo tipo. El tamaño de los arrays se declara en un primer momento y no puede cambiar [...]]]></description>
			<content:encoded><![CDATA[<div class="toc">
<ol>
<li><a href="http://www.manualweb.net/java/arrays-en-java/#toc-que-es-un-array">¿Qué es un array?</a></li>
<li><a href="http://www.manualweb.net/java/arrays-en-java/#toc-tamano-del-array-length">Tamaño del array: .length</a></li>
<li><a href="http://www.manualweb.net/java/arrays-en-java/#toc-matrices-o-arrays-de-varios-subindices">Matrices o Arrays de varios subindices</a></li>
<li><a href="http://www.manualweb.net/java/arrays-en-java/#toc-incializacion-de-arrays">Incialización de Arrays</a></li>
</ol>
</div>
<h3 id="toc-que-es-un-array">¿Qué es un array?</h3>
<p>Un array es una estructura de datos que nos permite almacenar una ristra de datos de un mismo tipo. El tamaño de los arrays se declara en un primer momento y no puede cambiar en tiempo de ejecución como puede producirse en otros lenguajes.</p>
<p>La declaración de un array en Java y su inicialización se realiza de la siguiente manera:</p>
<pre class="java"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">tipo_dato nombre_array<span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">nombre_array = <span style="color: #000000; font-weight: bold;">new</span> tipo_dato<span style="color: #66cc66;">&#91;</span>tamaño<span style="color: #66cc66;">&#93;</span>;</div></li></ol></pre>
<p>Por ejemplo, podríamos declarar un array de caracteres e inicializarlo de la siguiente manera:</p>
<pre class="java"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #993333;">char</span> arrayCaracteres<span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">arrayCaracteres = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #993333;">char</span><span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">10</span><span style="color: #66cc66;">&#93;</span>;</div></li></ol></pre>
<p>Los arrays se numeran desde el elemento cero, que sería el primer elemento, hasta el tamaño-1 que sería el último elemento. Es decir, si tenemos un array de diez elementos, el primer elemento sería el cero y el último elemento sería el nueve.</p>
<p>Para acceder a un elemento especifico utilizaremos los corchetes de la siguiente forma. Entendemos por acceso, tanto el intentar leer el elemento, como asignarle un valor.</p>
<pre class="java"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">arrayCaracteres<span style="color: #66cc66;">&#91;</span>numero_elemento<span style="color: #66cc66;">&#93;</span>;</div></li></ol></pre>
<p>Por ejemplo, para acceder al tercer elemento lo haríamos de la siguiente forma:</p>
<pre class="java"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080; font-style: italic;">// Lectura de su valor.</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #993333;">char</span> x = arrayCaracteres<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#93;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080; font-style: italic;">// Asignación de un valor. Como se puede comprobar se pone el  número dos, que coincide con el tercer elemento. Ya que como  dijimos anteriormente el primer elemento es el cero.</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">arrayCaracteres<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#93;</span> = <span style="color: #ff0000;">'b'</span>;</div></li></ol></pre>
<p>El objeto array, aunque podríamos decir que no existe como tal, posee una variable, la cual podremos utilizar para facilitar su manejo.</p>
<h3 id="toc-tamano-del-array-length">Tamaño del array: .length</h3>
<p>Esta variable nos devuelve el número de elementos que posee el array. Hay que tener en cuenta que es una variable de solo lectura, es por ello que no podremos realizar una asignación a dicha variable.</p>
<p>Por ejemplo esto nos serviría a la hora de mostrar el contenido de los elementos de un array:</p>
<pre class="java"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #993333;">char</span> array<span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">array = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #993333;">char</span><span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">10</span><span style="color: #66cc66;">&#93;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #b1b100;">for</span> <span style="color: #66cc66;">&#40;</span><span style="color: #993333;">int</span> x=<span style="color: #cc66cc;">0</span>;x&lt;array.<span style="color: #006600;">length</span>;x++<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">    <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3ASystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #aaaadd; font-weight: bold;">System</span></a>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span> <span style="color: #66cc66;">&#40;</span>array<span style="color: #66cc66;">&#91;</span>x<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span></div></li></ol></pre>
<blockquote><p>Uno de los axiomas de la orientación a objetos es la ocultación, es decir, que no podemos acceder a una variable declarada dentro de una clase a no ser que lo hagamos a traves de un método de la clase. Aquí estamos accediendo a una variable. ¿Quizás sea por que no consideran a los arrays como objetos?.</p></blockquote>
<h3 id="toc-matrices-o-arrays-de-varios-subindices">Matrices o Arrays de varios subindices</h3>
<p>Podremos declarar arrays de varios subíndices, pudiendo tener arrays de dos niveles, que serían similares a las matrices, arrays de tres niveles, que serían como cubos y así sucesivamente, si bien a partir del tercer nivel se pierde la perspectiva geométrica.</p>
<p>Para declarar e inicializar un array de varios subíndices lo haremos de la siguiente manera:</p>
<pre class="java"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">tipo_dato nombre_array<span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">nombre_array = <span style="color: #000000; font-weight: bold;">new</span> tipo_dato<span style="color: #66cc66;">&#91;</span>tamaño<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span>tamaño<span style="color: #66cc66;">&#93;</span>;</div></li></ol></pre>
<p>De esta forma podemos declarar una matriz de 2x2 de la siguiente forma:</p>
<pre class="java"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #993333;">int</span> matriz<span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">matriz = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #993333;">int</span><span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#93;</span>;</div></li></ol></pre>
<p>El acceso se realiza de la misma forma que antes:</p>
<pre class="java"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #993333;">int</span> x = matriz<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#93;</span>; <span style="color: #808080; font-style: italic;">// Para leer el contenido de un elemento</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">matriz<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#93;</span> = x;     <span style="color: #808080; font-style: italic;">// Para asignar un valor.</span></div></li></ol></pre>
<p>Hay que tener en cuenta que para mostrar su contenido tendremos que utilizar dos bucles. Para saber el número de columnas lo haremos igual que antes mediante la variable length, pero para saber el numero de filas que contiene cada columna lo tendremos que realizar de la siguiente manera:</p>
<pre class="java"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">matriz<span style="color: #66cc66;">&#91;</span>numero_elemento<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">lenght</span>;</div></li></ol></pre>
<p>Nuestra lectura de los elementos de una matriz quedaría de la siguiente forma:</p>
<pre class="java"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #993333;">int</span> matriz<span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">matriz = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #993333;">int</span><span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">4</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">4</span><span style="color: #66cc66;">&#93;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #b1b100;">for</span> <span style="color: #66cc66;">&#40;</span><span style="color: #993333;">int</span> x=<span style="color: #cc66cc;">0</span>; x &lt; matrix.<span style="color: #006600;">length</span>; x++<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">  <span style="color: #b1b100;">for</span> <span style="color: #66cc66;">&#40;</span><span style="color: #993333;">int</span> y=<span style="color: #cc66cc;">0</span>; y &lt; matriz<span style="color: #66cc66;">&#91;</span>x<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">length</span>; y++<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">      <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3ASystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #aaaadd; font-weight: bold;">System</span></a>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span> <span style="color: #66cc66;">&#40;</span>matriz<span style="color: #66cc66;">&#91;</span>x<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span>y<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">  <span style="color: #66cc66;">&#125;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span></div></li></ol></pre>
<h3 id="toc-incializacion-de-arrays">Incialización de Arrays</h3>
<p>Existe una forma de inicializar un array con el contenido, amoldándose su tamaño al número de elementos a los que le inicialicemos. Para inicializar un array utilizaremos las llaves de la siguiente forma:</p>
<pre class="java"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">tipo_dato array<span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span> = <span style="color: #66cc66;">&#123;</span>elemento1,elemento2,...,elementoN<span style="color: #66cc66;">&#125;</span>;</div></li></ol></pre>
<p>Así, por ejemplo, podríamos inicializar un array o una matriz:</p>
<pre class="java"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080; font-style: italic;">// Tenemos un array de 5 elementos.</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #993333;">char</span> array<span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span> = <span style="color: #66cc66;">&#123;</span><span style="color: #ff0000;">'a'</span>,<span style="color: #ff0000;">'b'</span>,<span style="color: #ff0000;">'c'</span>,<span style="color: #ff0000;">'d'</span>,<span style="color: #ff0000;">'e'</span><span style="color: #66cc66;">&#125;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080; font-style: italic;">// Tenemos un array de 4x4 elementos.</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #993333;">int</span> array<span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span> = <span style="color: #66cc66;">&#123;</span> <span style="color: #66cc66;">&#123;</span><span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">2</span>,<span style="color: #cc66cc;">3</span>,<span style="color: #cc66cc;">4</span><span style="color: #66cc66;">&#125;</span>, <span style="color: #66cc66;">&#123;</span><span style="color: #cc66cc;">5</span>,<span style="color: #cc66cc;">6</span>,<span style="color: #cc66cc;">7</span>,<span style="color: #cc66cc;">8</span><span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#125;</span>;</div></li></ol></pre>

<div class="sociable">
<div class="sociable_tagline">
<strong>Comparteme:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Farrays-en-java%2F&amp;title=Arrays%20en%20Java&amp;bodytext=%0A%C2%BFQu%C3%A9%20es%20un%20array%3F%0ATama%C3%B1o%20del%20array%3A%20.length%0AMatrices%20o%20Arrays%20de%20varios%20subindices%0AIncializaci%C3%B3n%20de%20Arrays%0D%0A%C2%BFQu%C3%A9%20es%20un%20array%3F%0D%0AUn%20array%20es%20una%20estructura%20de%20datos%20que%20nos%20permite%20almacenar%20una%20ristra%20de%20datos%20de%20un%20mismo%20tipo.%20El%20tama%C3%B1o%20de%20lo" title="Digg"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://sphinn.com/index.php?c=post&amp;m=submit&amp;link=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Farrays-en-java%2F" title="Sphinn"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/sphinn.png" title="Sphinn" alt="Sphinn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Farrays-en-java%2F&amp;title=Arrays%20en%20Java&amp;notes=%0A%C2%BFQu%C3%A9%20es%20un%20array%3F%0ATama%C3%B1o%20del%20array%3A%20.length%0AMatrices%20o%20Arrays%20de%20varios%20subindices%0AIncializaci%C3%B3n%20de%20Arrays%0D%0A%C2%BFQu%C3%A9%20es%20un%20array%3F%0D%0AUn%20array%20es%20una%20estructura%20de%20datos%20que%20nos%20permite%20almacenar%20una%20ristra%20de%20datos%20de%20un%20mismo%20tipo.%20El%20tama%C3%B1o%20de%20lo" title="del.icio.us"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Farrays-en-java%2F&amp;t=Arrays%20en%20Java" title="Facebook"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.mixx.com/submit?page_url=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Farrays-en-java%2F&amp;title=Arrays%20en%20Java" title="Mixx"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/mixx.png" title="Mixx" alt="Mixx" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Farrays-en-java%2F&amp;title=Arrays%20en%20Java&amp;annotation=%0A%C2%BFQu%C3%A9%20es%20un%20array%3F%0ATama%C3%B1o%20del%20array%3A%20.length%0AMatrices%20o%20Arrays%20de%20varios%20subindices%0AIncializaci%C3%B3n%20de%20Arrays%0D%0A%C2%BFQu%C3%A9%20es%20un%20array%3F%0D%0AUn%20array%20es%20una%20estructura%20de%20datos%20que%20nos%20permite%20almacenar%20una%20ristra%20de%20datos%20de%20un%20mismo%20tipo.%20El%20tama%C3%B1o%20de%20lo" title="Google Bookmarks"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Farrays-en-java%2F&amp;title=Arrays%20en%20Java" title="Live"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  href="http://meneame.net/submit.php?url=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Farrays-en-java%2F" title="Meneame"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/meneame.png" title="Meneame" alt="Meneame" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.manualweb.net/java/arrays-en-java/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Funciones básicas con cadenas</title>
		<link>http://www.manualweb.net/java/funciones-basicas-con-cadenas/</link>
		<comments>http://www.manualweb.net/java/funciones-basicas-con-cadenas/#comments</comments>
		<pubDate>Sat, 19 Sep 2009 19:22:20 +0000</pubDate>
		<dc:creator>manualweb</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[búsqueda]]></category>
		<category><![CDATA[caracteres]]></category>
		<category><![CDATA[charAt()]]></category>
		<category><![CDATA[comparación]]></category>
		<category><![CDATA[compareTo()]]></category>
		<category><![CDATA[compareToIgnoreCase()]]></category>
		<category><![CDATA[conversión]]></category>
		<category><![CDATA[endsWith()]]></category>
		<category><![CDATA[equals()]]></category>
		<category><![CDATA[equalsIgnoreCase()]]></category>
		<category><![CDATA[función]]></category>
		<category><![CDATA[indexOf]]></category>
		<category><![CDATA[IndexOutOfBoundsException]]></category>
		<category><![CDATA[lastIndexOf()]]></category>
		<category><![CDATA[length()]]></category>
		<category><![CDATA[método]]></category>
		<category><![CDATA[regionMatch()]]></category>
		<category><![CDATA[replace()]]></category>
		<category><![CDATA[startsWith()]]></category>
		<category><![CDATA[string]]></category>
		<category><![CDATA[subcadenas]]></category>
		<category><![CDATA[substring()]]></category>
		<category><![CDATA[toLowerCase()]]></category>
		<category><![CDATA[toUpperCase()]]></category>
		<category><![CDATA[trim()]]></category>
		<category><![CDATA[valueOf()]]></category>

		<guid isPermaLink="false">http://www.manualweb.net/?p=114</guid>
		<description><![CDATA[Información básica de la cadena Comparación de Cadenas Búsqueda de caracteres Búsqueda de subcadenas Métodos con subcadenas Manejo de caracteres Conversión a String: valueOf() Una vez que hemos visto lo sencillo que es crear una cadena de texto vamos a echar un vistazo a los métodos que nos permiten manipular la cadena de texto. Si [...]]]></description>
			<content:encoded><![CDATA[<div class="toc">
<ol>
<li><a href="http://www.manualweb.net/java/funciones-basicas-con-cadenas/#toc-informacion-basica-de-la-cadena">Información básica de la cadena</a></li>
<li><a href="http://www.manualweb.net/java/funciones-basicas-con-cadenas/#toc-comparacion-de-cadenas">Comparación de Cadenas</a></li>
<li><a href="http://www.manualweb.net/java/funciones-basicas-con-cadenas/#toc-busqueda-de-caracteres">Búsqueda de caracteres</a></li>
<li><a href="http://www.manualweb.net/java/funciones-basicas-con-cadenas/#toc-busqueda-de-subcadenas">Búsqueda de subcadenas</a></li>
<li><a href="http://www.manualweb.net/java/funciones-basicas-con-cadenas/#toc-metodos-con-subcadenas">Métodos con subcadenas</a></li>
<li><a href="http://www.manualweb.net/java/funciones-basicas-con-cadenas/#toc-manejo-de-caracteres">Manejo de caracteres</a></li>
<li><a href="http://www.manualweb.net/java/funciones-basicas-con-cadenas/#toc-conversion-a-string-valueof">Conversión a String: valueOf()</a></li>
</ol>
</div>
<p>Una vez que hemos visto <a title="Crear una cadena de texto" href="http://www.manualweb.net/java/clase-string-representando-una-cadena/">lo sencillo que es crear una cadena de texto</a> vamos a echar un vistazo a los métodos que nos permiten manipular la cadena de texto.</p>
<p>Si tuviésemos que ordenar dichos métodos podríamos llegar a la siguiente división:</p>
<ul>
<li>Información básica de la cadena</li>
<li>Comparación de Cadenas</li>
<li>Búsqueda de caracteres</li>
<li>Búsqueda de subcadenas</li>
<li>Manejo de subcadenas</li>
<li>Manejo de caracteres</li>
<li>Conversión a String: valueOf()</li>
</ul>
<h3 id="toc-informacion-basica-de-la-cadena">Información básica de la cadena</h3>
<p><strong><a title=".length()" href="http://www.w3api.com/wiki/Java:String.length()">.length()</a></strong><br />
Nos devuelve el tamaño que tiene la cadena.</p>
<p><strong><a title="charAt" href="http://www.w3api.com/wiki/Java:String.charAt()">char charAt(int index)</a></strong><br />
Devuelve el carácter indicado como índice. El primer carácter de la cadena será el del índice 0. Junto con el método </span><span class="codigo"><a title=".length()" href="http://www.w3api.com/wiki/Java:String.length()">.length()</a></span><span> podemos recuperar todos los caracteres de la cadena de texto.</p>
<p>Hay que tener cuidado. Ya que si intentamos acceder a un índice de carácter que no existe nos devolverá una excepción <span class="codigo"><a title="IndexOutOfBoundsException" href="http://www.w3api.com/wiki/Java:IndexOutOfBoundsException">IndexOutOfBoundsException</a></span>.</p>
<h3 id="toc-comparacion-de-cadenas">Comparación de Cadenas</h3>
<p>Los métodos de comparación nos sirven para comparar si dos cadenas de texto son iguales o no. Dentro de los métodos de comparación tenemos los siguientes:</p>
<p><strong><a title=".equals()" href="http://www.w3api.com/wiki/Java:String.equals()">boolean equals(Object anObject)</a></strong><br />
Nos permite comparar si dos cadenas de texto son iguales. En el caso de que sean iguales devolverá como valor "true". En caso contrario devolverá "false".</p>
<p>Este método tiene en cuenta si los caracteres van en mayúsculas o en minúsculas. Si queremos omitir esta validación tenemos dos opciones. La primera es convertir las cadenas a mayúsculas o minúsculas con los métodos <span class="codigo"><a title=".toUpperCase()" href="http://www.w3api.com/wiki/Java:String.toUpperCase()">.toUpperCase()</a></span> y <span class="codigo"><a title="toLowerCase" href="http://www.w3api.com/wiki/Java:String.toLowerCase()">.toLowerCase()</a></span> respectivamente. Métodos que veremos más adelante.</p>
<p>La segunda opción es utilizar el método <span class="codigo"><a title=".equalsIgnoreCase()" href="http://www.w3api.com/wiki/Java:String.equalsIgnoreCase()">equalsIgnoreCase()</a></span> que omite si el carácter está en mayúsculas o en minúsculas.</p>
<p><strong><a title="equalsIgnoreCase" href="http://www.w3api.com/wiki/Java:String.equalsIgnoreCase()">boolean equalsIgnoreCase(String anotherString)</a></strong><br />
Compara dos cadenas de caracteres omitiendo si los caracteres están en mayúsculas o en minúsculas.</p>
<p><strong><a title=".compareTo" href="http://www.w3api.com/wiki/Java:String.compareTo()">int compareTo(String anotherString)</a></strong><br />
Este método es un poco más avanzado que el anterior, el cual, solo nos indicaba si las cadenas eran iguales o diferentes</p>
<p>En este caso compara a las cadenas léxicamente. Para ello se basa en el valor Unicode de los caracteres.</p>
<p>Se devuelve un entero menor de 0 si la cadena sobre la que se parte es léxicamente menor que la cadena pasada como argumento. Si las dos cadenas son iguales léxicamente se devuelve un 0. Si la cadena es mayor que la pasada como argumento se devuelve un número entero positivo.</p>
<p>Pero que es esto de “mayor, menor o igual léxicamente”. Para describirlo lo veremos con un pequeño ejemplo.</p>
<pre class="java"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">s1 = <span style="color: #ff0000;">&quot;Cuervo&quot;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">s2 = <span style="color: #ff0000;">&quot;Cuenca&quot;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">s1.<span style="color: #006600;">compareTo</span><span style="color: #66cc66;">&#40;</span>s2<span style="color: #66cc66;">&#41;</span>;</div></li></ol></pre>
<p>Compararíamos las dos cadenas. Los tres primeros caracteres son iguales "Cue". Cuando el método llega al 4 carácter tiene que validar entre la r minúscula y la n minúscula. Si utiliza el código Unicode llegará a la siguiente conclusión.</p>
<pre class="java"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">114</span><span style="color: #66cc66;">&#41;</span> &amp;gt; n<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">110</span><span style="color: #66cc66;">&#41;</span></div></li></ol></pre>
<p>Y nos devolverá la resta de sus valores. En este caso un 4.</p>
<p>Hay que tener cuidado, porque este método no tiene en cuenta las mayúsculas y minúsculas. Y dichos caracteres, aún siendo iguales, tienen diferentes código. Veamos la siguiente comparación</p>
<pre class="java"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">s1 = <span style="color: #ff0000;">&quot;CueRvo&quot;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">s2 = <span style="color: #ff0000;">&quot;Cuervo&quot;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">s1.<span style="color: #006600;">compareTo</span><span style="color: #66cc66;">&#40;</span>s2<span style="color: #66cc66;">&#41;</span>;</div></li></ol></pre>
<p>Nuevamente los tres caracteres iniciales son iguales. Pero el cuarto es distinto. Por un lado tenemos la r minúscula y por otro la r mayúscula. Así:</p>
<pre class="java"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">R<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">82</span><span style="color: #66cc66;">&#41;</span> &amp;lt; r<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">114</span><span style="color: #66cc66;">&#41;</span></div></li></ol></pre>
<p>¿Qué entero nos devolverá el método compareTo()? ¿-32?</p>
<p><strong><a title="compareIgnoreCase()" href="http://www.w3api.com/wiki/Java:String.compareToIgnoreCase()">int compareToIgnoreCase(String str)</a></strong><br />
Este método se comportará igual que el anterior. Pero ignorando las mayúsculas. Todo un alivio por si se nos escapa algún carácter en mayúsculas <img src='http://www.manualweb.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Otros métodos para la comparación de cadenas son:</p>
<pre class="java"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #993333;">boolean</span> regionMatch<span style="color: #66cc66;">&#40;</span> <span style="color: #993333;">int</span> thisoffset,<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AString+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #aaaadd; font-weight: bold;">String</span></a> s2,<span style="color: #993333;">int</span> s2offset,<span style="color: #993333;">int</span> len <span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #993333;">boolean</span> regionMatch<span style="color: #66cc66;">&#40;</span> <span style="color: #993333;">boolean</span> ignoreCase,<span style="color: #993333;">int</span> thisoffset,<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AString+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #aaaadd; font-weight: bold;">String</span></a> s2, <span style="color: #993333;">int</span> s2offset,<span style="color: #993333;">int</span> <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">&#41;</span>;</div></li></ol></pre>
<h3 id="toc-busqueda-de-caracteres">Búsqueda de caracteres</h3>
<p>Tenemos un conjunto de métodos que nos permiten buscar caracteres dentro de cadenas de texto. Y es que no nos debemos de olvidar que la cadena de caracteres no es más que eso: una suma de caracteres.</p>
<p><strong><a href="http://www.w3api.com/wiki/Java:String.indexOf()" title="indexOf()">int indexOf(int ch</a>)</strong><br />
Nos devuelve la posición de un carácter dentro de la cadena de texto. En el caso de que el carácter buscado no exista nos devolverá un -1. Si lo encuentra nos devuelve un número entero con la posición que ocupa en la cadena.</p>
<p><strong><a href="http://www.w3api.com/wiki/Java:String.indexOf()" title="indexOf()">int indexOf(int ch, int fromIndex)</a></strong><br />
Realiza la misma operación que el anterior método, pero en vez de hacerlo a lo largo de toda la cadena lo hace desde el índice (fromIndex) que le indiquemos.</p>
<p><strong><a href="http://www.w3api.com/wiki/Java:String.lastIndexOf()" title="lastIndexOf()">int lastIndexOf(int ch)</a></strong><br />
Nos indica cual es la última posición que ocupa un carácter dentro de una cadena. Si el carácter no está en la cadena devuelve un -1.</p>
<p><strong><a href="http://www.w3api.com/wiki/Java:String.lastIndexOf()" title="lastIndexOf()">int lastIndexOf(int ch, int fromIndex)</a></strong><br />
Lo mismo que el anterior, pero a partir de una posición indicada como argumento.</p>
<h3 id="toc-busqueda-de-subcadenas">Búsqueda de subcadenas</h3>
<p>Este conjunto de métodos son, probablemente, los más utilizados para el manejo de cadenas de caracteres. Ya que nos permiten buscar cadenas dentro de cadenas, así como saber la posición donde se encuentran en la cadena origen para poder acceder a la subcadena.</p>
<p>Dentro de este conjunto encontramos:</p>
<p><strong><a href="http://www.w3api.com/wiki/Java:String.indexOf()" title="indexOf()">int indexOf(String str)</a></strong><br />
Busca una cadena dentro de la cadena origen. Devuelve un entero con el índice a partir del cual está la cadena localizada. Si no encuentra la cadena devuelve un -1.</p>
<p><strong><a href="http://www.w3api.com/wiki/Java:String.indexOf()" title="indexOf()">int indexOf(String str, int fromIndex)</a></strong><br />
Misma funcionalidad que <a href="http://www.w3api.com/wiki/Java:String.indexOf()" title="indexOf()">indexOf(String str)</a>, pero a partir de un índice indicado como argumento del método.</p>
<p><strong><a href="http://www.w3api.com/wiki/Java:String.lastIndexOf()" title="lastIndexOf()">int lastIndexOf(String str)</a></strong><br />
Si la cadena que buscamos se repite varias veces en la cadena origen podemos utilizar este método que nos indicará el índice donde empieza la última repetición de la cadena buscada.</p>
<p><strong><a href="http://www.w3api.com/wiki/Java:String.lastIndexOf()" title="lastIndexOf()">lastIndexOf(String str, int fromIndex)</a></strong><br />
Lo mismo que el anterior, pero a partir de un índice pasado como argumento.</p>
<p><strong><a href="http://www.w3api.com/wiki/Java:String.startsWith()" title="startsWith()">boolean startsWith(String prefix)</a></strong><br />
Probablemente mucha gente se haya encontrado con este problema. El de saber si una cadena de texto empieza con un texto específico. La verdad es que este método podía obviarse y utilizarse el <a href="http://www.w3api.com/wiki/Java:String.indexOf()" title="indexOf()">indexOf()</a>, con el cual, en el caso de que nos devolviese un 0, sabríamos que es el inicio de la cadena.</p>
<p><strong><a href="http://www.w3api.com/wiki/Java:String.startsWith()">boolean startsWith(String prefix, int toffset)</a></strong><br />
Más elaborado que el anterior, y quizás, y a mi entender con un poco menos de significado que el anterior.</p>
<p><strong><a href="http://www.w3api.com/wiki/Java:String.endsWith()" title="endsWith()">boolean endsWith(String suffix)</a></strong><br />
Y si alguien se ha visto con la necesidad de saber si una cadena empieza por un determinado texto, no va a ser menos el que se haya preguntado si la cadena de texto acaba con otra.</p>
<p>De igual manera que sucedía con el método <a href="http://www.w3api.com/wiki/Java:String.startsWith()" title="startWith()">startsWith()</a> podríamos utilizar una mezcla entre los métodos <a href="http://www.w3api.com/wiki/Java:String.indexOf()" title="indexOf()">.indexOf()</a> y <a href="http://www.w3api.com/wiki/Java:String.length()" title="length()">.length()</a> para reproducir el comportamiento de <a href="http://www.w3api.com/wiki/Java:String.endsWith()" title="endsWith()">.endsWith()</a>. Pero las cosas, cuanto más sencillas, doblemente mejores.</p>
<h3 id="toc-metodos-con-subcadenas">Métodos con subcadenas</h3>
<p>Ahora que sabemos como localizar una cadena dentro de otra seguro que nos acucia la necesidad de saber como substraerla de donde está. Si es que no nos podemos estar quietos...</p>
<p><strong><a href="http://www.w3api.com/wiki/Java:String.substring()" title="substring()">String substring(int beginIndex)</a></strong><br />
Este método nos devolverá la cadena que se encuentra entre el índice pasado como argumento (beginIndex) hasta el final de la cadena origen.</p>
<p>Así, si tenemos la siguiente cadena:</p>
<pre class="java"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AString+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #aaaadd; font-weight: bold;">String</span></a> s = <span style="color: #ff0000;">&quot;Víctor Cuervo&quot;</span></div></li></ol></pre>
<p>El método…</p>
<pre class="java"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">s.<span style="color: #006600;">substring</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">7</span><span style="color: #66cc66;">&#41;</span></div></li></ol></pre>
<p>Nos devolverá “Cuervo”.</p>
<p><strong><a href="http://www.w3api.com/wiki/Java:String.substring()" title="substring()">String substring(int beginIndex, int endIndex)</a></strong><br />
Si se da el caso que la cadena que queramos recuperar no llega hasta el final de la cadena origen, que será lo normal, podemos utilizar este método indicando el índice inicial y final del cual queremos obtener la cadena.</p>
<p>Así, si partimos de la cadena...</p>
<pre class="java"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AString+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #aaaadd; font-weight: bold;">String</span></a> s = <span style="color: #ff0000;">&quot;En un lugar de la mancha....&quot;</span></div></li></ol></pre>
<p>El método...</p>
<pre class="java"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">s.<span style="color: #006600;">substring</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">6</span>,<span style="color: #cc66cc;">11</span><span style="color: #66cc66;">&#41;</span></div></li></ol></pre>
<p>Nos devolverá la palabra “lugar”.</p>
<blockquote><p>Hay que tener especial cuidado ya que es un error muy común el poner como índice final el índice del carácter último de la palabra a extraer. Cuando realmente es el índice + 1 de lo que queramos obtener.</p></blockquote>
<h3 id="toc-manejo-de-caracteres">Manejo de caracteres</h3>
<p>Otro conjunto de métodos que nos permite jugar con los caracteres de la cadena de texto. Para ponerles en mayúsculas, minúsculas, quitarles los espacios en blanco, reemplazar caracteres,....</p>
<p><strong><a href="http://www.w3api.com/wiki/Java:String.toLowerCase()" title="toLowerCase()">String toLowerCase();</a></strong><br />
Convierte todos los caracteres en minúsculas.</p>
<p><strong><a href="http://www.w3api.com/wiki/Java:String.toUpperCase()" title="toUpperCase()">String toUpperCase();</a></strong><br />
Convierte todos los caracteres a mayúsculas.</p>
<p><strong><a href="http://www.w3api.com/wiki/Java:String.trim()" title="trim()">String trim();</a></strong><br />
Elimina los espacios en blanco de la cadena.</p>
<p><strong><a href="http://www.w3api.com/wiki/Java:String.replace()" title="replace()">String replace(char oldChar, char newChar)</a></strong><br />
Este método lo utilizaremos cuando lo que queramos hacer sea el remplazar un carácter por otro. Se reemplazarán todos los caracteres encontrados.</p>
<h3 id="toc-conversion-a-string-valueof">Conversión a String: valueOf()</h3>
<p>Un potente conjunto de métodos de la clase <a href="http://www.w3api.com/wiki/Java:String" title="String">String</a> nos permite convertir a cadena cualquier tipo de dato básico: int, float, double,…</p>
<p>Esto es especialmente útil cuando hablamos de números. Ya que en múltiples ocasiones querremos mostrarles como cadenas de texto y no en su representación normal de número.</p>
<p>Así podemos utilizar los siguientes métodos:</p>
<ul>
<li><a href="http://www.w3api.com/wiki/Java:String.valueOf()" title="valueOf()">String valueOf(boolean b);</a></li>
<li><a href="http://www.w3api.com/wiki/Java:String.valueOf()" title="valueOf()">String valueOf(int i);</a></li>
<li><a href="http://www.w3api.com/wiki/Java:String.valueOf()" title="valueOf()">String valueOf(long l);</a></li>
<li><a href="http://www.w3api.com/wiki/Java:String.valueOf()" title="valueOf()">String valueOf(float f);</a></li>
<li><a href="http://www.w3api.com/wiki/Java:String.valueOf()" title="valueOf()">String valueOf(double d);</a></li>
<li><a href="http://www.w3api.com/wiki/Java:String.valueOf()" title="valueOf()">String valueOf(Object obj);</a></li>
</ul>

<div class="sociable">
<div class="sociable_tagline">
<strong>Comparteme:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Ffunciones-basicas-con-cadenas%2F&amp;title=Funciones%20b%C3%A1sicas%20con%20cadenas&amp;bodytext=%0AInformaci%C3%B3n%20b%C3%A1sica%20de%20la%20cadena%0AComparaci%C3%B3n%20de%20Cadenas%0AB%C3%BAsqueda%20de%20caracteres%0AB%C3%BAsqueda%20de%20subcadenas%0AM%C3%A9todos%20con%20subcadenas%0AManejo%20de%20caracteres%0AConversi%C3%B3n%20a%20String%3A%20valueOf%28%29%0D%0AUna%20vez%20que%20hemos%20visto%20lo%20sencillo%20que%20es%20crear%20una%20cadena%20de%20te" title="Digg"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://sphinn.com/index.php?c=post&amp;m=submit&amp;link=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Ffunciones-basicas-con-cadenas%2F" title="Sphinn"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/sphinn.png" title="Sphinn" alt="Sphinn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Ffunciones-basicas-con-cadenas%2F&amp;title=Funciones%20b%C3%A1sicas%20con%20cadenas&amp;notes=%0AInformaci%C3%B3n%20b%C3%A1sica%20de%20la%20cadena%0AComparaci%C3%B3n%20de%20Cadenas%0AB%C3%BAsqueda%20de%20caracteres%0AB%C3%BAsqueda%20de%20subcadenas%0AM%C3%A9todos%20con%20subcadenas%0AManejo%20de%20caracteres%0AConversi%C3%B3n%20a%20String%3A%20valueOf%28%29%0D%0AUna%20vez%20que%20hemos%20visto%20lo%20sencillo%20que%20es%20crear%20una%20cadena%20de%20te" title="del.icio.us"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Ffunciones-basicas-con-cadenas%2F&amp;t=Funciones%20b%C3%A1sicas%20con%20cadenas" title="Facebook"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.mixx.com/submit?page_url=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Ffunciones-basicas-con-cadenas%2F&amp;title=Funciones%20b%C3%A1sicas%20con%20cadenas" title="Mixx"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/mixx.png" title="Mixx" alt="Mixx" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Ffunciones-basicas-con-cadenas%2F&amp;title=Funciones%20b%C3%A1sicas%20con%20cadenas&amp;annotation=%0AInformaci%C3%B3n%20b%C3%A1sica%20de%20la%20cadena%0AComparaci%C3%B3n%20de%20Cadenas%0AB%C3%BAsqueda%20de%20caracteres%0AB%C3%BAsqueda%20de%20subcadenas%0AM%C3%A9todos%20con%20subcadenas%0AManejo%20de%20caracteres%0AConversi%C3%B3n%20a%20String%3A%20valueOf%28%29%0D%0AUna%20vez%20que%20hemos%20visto%20lo%20sencillo%20que%20es%20crear%20una%20cadena%20de%20te" title="Google Bookmarks"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Ffunciones-basicas-con-cadenas%2F&amp;title=Funciones%20b%C3%A1sicas%20con%20cadenas" title="Live"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  href="http://meneame.net/submit.php?url=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Ffunciones-basicas-con-cadenas%2F" title="Meneame"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/meneame.png" title="Meneame" alt="Meneame" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.manualweb.net/java/funciones-basicas-con-cadenas/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Clase String: Representando una cadena</title>
		<link>http://www.manualweb.net/java/clase-string-representando-una-cadena/</link>
		<comments>http://www.manualweb.net/java/clase-string-representando-una-cadena/#comments</comments>
		<pubDate>Sat, 06 Jun 2009 15:27:03 +0000</pubDate>
		<dc:creator>manualweb</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[constructor]]></category>
		<category><![CDATA[java.lang]]></category>
		<category><![CDATA[string]]></category>
		<category><![CDATA[stringbuffer]]></category>
		<category><![CDATA[System.out.println]]></category>

		<guid isPermaLink="false">http://www.manualweb.net/?p=115</guid>
		<description><![CDATA[Creando una cadena Crear una cadena vacía Constructores String Volcando una cadena de texto a la consola Una cadena de texto no deja de ser más que la sucesión de un conjunto de caracteres alfanuméricos, signos de puntuación y espacios en blanco con más o menos sentido. Podemos encontrarnos desde la archiconocida cadena “Hola Mundo” [...]]]></description>
			<content:encoded><![CDATA[<div class="toc">
<ol>
<li><a href="http://www.manualweb.net/java/clase-string-representando-una-cadena/#toc-creando-una-cadena">Creando una cadena</a></li>
<li><a href="http://www.manualweb.net/java/clase-string-representando-una-cadena/#toc-crear-una-cadena-vacia">Crear una cadena vacía</a></li>
<li><a href="http://www.manualweb.net/java/clase-string-representando-una-cadena/#toc-constructores-string">Constructores String</a></li>
<li><a href="http://www.manualweb.net/java/clase-string-representando-una-cadena/#toc-volcando-una-cadena-de-texto-a-la-consola">Volcando una cadena de texto a la consola</a></li>
</ol>
</div>
<p>Una cadena de texto no deja de ser más que la sucesión de un conjunto de caracteres alfanuméricos, signos de puntuación y espacios en blanco con más o menos sentido.</p>
<p class="texto">Podemos encontrarnos desde la archiconocida cadena “Hola Mundo” y la no menos “Mi primera cadena de texto”, pasando por las cadenas de texto personalizadas “Víctor”, “Víctor Cuervo”, las cadenas de depuración “¿Aquí?”, “Paso 1”, “Paso 2”,... hasta las inclasificables “asdf”.</p>
<p class="texto">Todas ellas serán representadas en java con la clase <a title="String" href="http://www.w3api.com/wiki/Java:String">String</a> y <a title="StringBuffer" href="http://www.w3api.com/wiki/Java:StringBuffer">StringBuffer</a>. Aunque de momento nos centraremos en la primera.</p>
<p class="texto">Para encontrar la clase <a title="String" href="http://www.w3api.com/wiki/Java:String">String</a> dentro de las librerías de <a title="Java" href="http://www.manualweb.net/tutorial-java/">Java</a> tendremos que ir a <span class="codigo"><a title="java.lang.String" href="http://www.w3api.com/wiki/Categor%C3%ADa:Java_Lang">java.lang.String</a></span></p>
<h3 id="toc-creando-una-cadena">Creando una cadena</h3>
<p class="texto">Para crear una cadena tenemos dos opciones:</p>
<ul>
<li>Instanciamos la clase <a title="String" href="http://www.w3api.com/wiki/Java:String">String</a>. Que sería una creación explicita de la clase</li>
</ul>
<pre class="java"><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AString+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #aaaadd; font-weight: bold;">String</span></a> sMiCadena = <span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AString+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #aaaadd; font-weight: bold;">String</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Cadena de Texto&quot;</span><span style="color: #66cc66;">&#41;</span>;</pre>
<ul>
<li>Crear implícitamente la cadena de texto. Es decir, simplemente le asignamos el valor al objeto.</li>
</ul>
<pre class="java"><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AString+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #aaaadd; font-weight: bold;">String</span></a> sMiCadena = <span style="color: #ff0000;">&quot;Cadena de Texto&quot;</span>;</pre>
<p class="texto">En este caso, <a title="Java" href="http://www.manualweb.net/tutorial-java/">Java</a>, creará un objeto <a title="String" href="http://www.w3api.com/wiki/Java:String">String</a> para tratar esta cadena.</p>
<h3 id="toc-crear-una-cadena-vacia">Crear una cadena vacía</h3>
<p class="texto">Podemos tener la necesidad de crear una cadena vacía. Puede darse el caso que no siempre sepamos lo que vamos a poner de antemano en la cadena de texto. ¿A quién no le surgen dudas? <img src='http://www.manualweb.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ... Fuera de bromas, muchas veces la cadena de texto nos la proporcionará el usuario, otro sistema,....</p>
<p class="texto">Para poder crear la cadena vacía nos bastará con asignarle el valor de "", o bien, utilizar el constructor vacío.</p>
<pre class="java"><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AString+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #aaaadd; font-weight: bold;">String</span></a> sMiCadena = <span style="color: #ff0000;">&quot;&quot;</span>;
<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AString+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #aaaadd; font-weight: bold;">String</span></a> sMiCadena = <span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AString+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #aaaadd; font-weight: bold;">String</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</pre>
<h3 id="toc-constructores-string">Constructores String</h3>
<p class="texto">Visto lo visto podemos resumir que tenemos dos tipos de constructores principales de la clase <a title="String" href="http://www.w3api.com/wiki/Java:String">String</a>:</p>
<ul>
<li><strong>String(),</strong> <span style="font-weight: normal;">q</span><span style="font-weight: normal;">ue construirá un objeto <a title="String" href="http://www.w3api.com/wiki/Java:String">String</a> sin inicializar.</span></li>
<li><strong>String(String original),</strong> <span style="font-weight: normal;">construye una clase <a title="String" href="http://www.w3api.com/wiki/Java:String">String</a> con otra clase <a title="String" href="http://www.w3api.com/wiki/Java:String">String</a> que recibirá como argumento.</span></li>
</ul>
<p class="texto">Aunque tenemos alguno más que iremos viendo....</p>
<h3 id="toc-volcando-una-cadena-de-texto-a-la-consola">Volcando una cadena de texto a la consola</h3>
<p class="texto">Solo nos quedará saber cómo volcar una cadena por pantalla. Esto lo haremos con la clase <span class="codigo"><a title="System.out" href="http://www.w3api.com/wiki/Java:System.out">System.out.println</a></span> que recibirá como parámetro el objeto <a title="String" href="http://www.w3api.com/wiki/Java:String">String</a>.</p>
<p class="texto">Por ejemplo:</p>
<pre class="java"><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3ASystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #aaaadd; font-weight: bold;">System</span></a>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Mi Cadena de Texto&quot;</span><span style="color: #66cc66;">&#41;</span>;</pre>
<p class="texto">ó</p>
<pre class="java"><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AString+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #aaaadd; font-weight: bold;">String</span></a> sMiCadena = <span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AString+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #aaaadd; font-weight: bold;">String</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Mi Cadena de Texto&quot;</span><span style="color: #66cc66;">&#41;</span>;
<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3ASystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #aaaadd; font-weight: bold;">System</span></a>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span>sMiCadena<span style="color: #66cc66;">&#41;</span>;</pre>

<div class="sociable">
<div class="sociable_tagline">
<strong>Comparteme:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Fclase-string-representando-una-cadena%2F&amp;title=Clase%20String%3A%20Representando%20una%20cadena&amp;bodytext=%0ACreando%20una%20cadena%0ACrear%20una%20cadena%20vac%C3%ADa%0AConstructores%20String%0AVolcando%20una%20cadena%20de%20texto%20a%20la%20consolaUna%20cadena%20de%20texto%20no%20deja%20de%20ser%20m%C3%A1s%20que%20la%20sucesi%C3%B3n%20de%20un%20conjunto%20de%20caracteres%20alfanum%C3%A9ricos%2C%20signos%20de%20puntuaci%C3%B3n%20y%20espacios%20en%20blanco" title="Digg"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://sphinn.com/index.php?c=post&amp;m=submit&amp;link=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Fclase-string-representando-una-cadena%2F" title="Sphinn"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/sphinn.png" title="Sphinn" alt="Sphinn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Fclase-string-representando-una-cadena%2F&amp;title=Clase%20String%3A%20Representando%20una%20cadena&amp;notes=%0ACreando%20una%20cadena%0ACrear%20una%20cadena%20vac%C3%ADa%0AConstructores%20String%0AVolcando%20una%20cadena%20de%20texto%20a%20la%20consolaUna%20cadena%20de%20texto%20no%20deja%20de%20ser%20m%C3%A1s%20que%20la%20sucesi%C3%B3n%20de%20un%20conjunto%20de%20caracteres%20alfanum%C3%A9ricos%2C%20signos%20de%20puntuaci%C3%B3n%20y%20espacios%20en%20blanco" title="del.icio.us"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Fclase-string-representando-una-cadena%2F&amp;t=Clase%20String%3A%20Representando%20una%20cadena" title="Facebook"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.mixx.com/submit?page_url=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Fclase-string-representando-una-cadena%2F&amp;title=Clase%20String%3A%20Representando%20una%20cadena" title="Mixx"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/mixx.png" title="Mixx" alt="Mixx" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Fclase-string-representando-una-cadena%2F&amp;title=Clase%20String%3A%20Representando%20una%20cadena&amp;annotation=%0ACreando%20una%20cadena%0ACrear%20una%20cadena%20vac%C3%ADa%0AConstructores%20String%0AVolcando%20una%20cadena%20de%20texto%20a%20la%20consolaUna%20cadena%20de%20texto%20no%20deja%20de%20ser%20m%C3%A1s%20que%20la%20sucesi%C3%B3n%20de%20un%20conjunto%20de%20caracteres%20alfanum%C3%A9ricos%2C%20signos%20de%20puntuaci%C3%B3n%20y%20espacios%20en%20blanco" title="Google Bookmarks"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Fclase-string-representando-una-cadena%2F&amp;title=Clase%20String%3A%20Representando%20una%20cadena" title="Live"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  href="http://meneame.net/submit.php?url=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Fclase-string-representando-una-cadena%2F" title="Meneame"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/meneame.png" title="Meneame" alt="Meneame" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.manualweb.net/java/clase-string-representando-una-cadena/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
