<?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>Programacion en JAVA &#187; Java Básico</title>
	<atom:link href="http://www.programacionenjava.com/blog/categorias/javabasico/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.programacionenjava.com</link>
	<description></description>
	<lastBuildDate>Mon, 05 Dec 2011 15:06:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Formatear una fecha para mostrar texto</title>
		<link>http://www.programacionenjava.com/blog/2010/04/29/javabasico/formatear-una-fecha-para-mostrar-texto/</link>
		<comments>http://www.programacionenjava.com/blog/2010/04/29/javabasico/formatear-una-fecha-para-mostrar-texto/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 10:30:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java Básico]]></category>
		<category><![CDATA[GregorianCalendar]]></category>
		<category><![CDATA[SimpleDateFormat]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.programacionenjava.com/?p=106</guid>
		<description><![CDATA[Hoy os mostramos cómo formatear una fecha de forma simple para poder mostrar simplemente el texto mediante programación en java, eliminando la complejidad de los objetos GregorianCalendar o Date, mediante la clase SimpleDateFormat [Copiar][-] Codigo SimpleDateFormat sdf = new SimpleDateFormat&#40;&#34;dd - MM - yyyy&#34;&#41;; Calendar cal = Calendar.getInstance&#40;&#41;; // hoy System.out.println&#40;&#34;Hoy es &#34; + sdf.format&#40;cal.getTime&#40;&#41;&#41;&#41;; [...]]]></description>
			<content:encoded><![CDATA[<p>Hoy os mostramos cómo formatear una fecha de forma simple para poder mostrar simplemente el texto mediante <strong>programación en java</strong>, eliminando la complejidad de los objetos <strong>GregorianCalendar</strong> o <strong>Date</strong>, mediante la clase <strong>SimpleDateFormat</strong></p>

<div class="wp_codebox"><table width="100%" ><tr><td colspan="2" class="msgheader"><div class="codebox_right"><a href="###" onclick="copycode($('106code2'));">[Copiar]</a><a href="###" onclick="toggle_collapse('1062');">[<span id="1062_symbol">-</span>]</a></div><div class="codebox_left"><span id="l106code2"><a href="#" onclick="javascript:showCodeTxt('106code2'); return false;"> Codigo</a></span></div></td></tr><tr id="1062"><td class="code" id="106code2"><pre class="java">    <span style="color: #aaaadd; font-weight: bold;">SimpleDateFormat</span> sdf = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #aaaadd; font-weight: bold;">SimpleDateFormat</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;dd - MM - yyyy&quot;</span><span style="color: #66cc66;">&#41;</span>;
    <span style="color: #aaaadd; font-weight: bold;">Calendar</span> cal = <span style="color: #aaaadd; font-weight: bold;">Calendar</span>.<span style="color: #006600;">getInstance</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #808080; font-style: italic;">// hoy</span>
    <span style="color: #aaaadd; font-weight: bold;">System</span>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Hoy es &quot;</span> + sdf.<span style="color: #006600;">format</span><span style="color: #66cc66;">&#40;</span>cal.<span style="color: #006600;">getTime</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;</pre></td></tr></table></div>

<p>La clase <strong>SimpleDateFormat</strong> es muy sencilla de utilizar en java. Simplemente al constructor hay que pasarle cómo se deben formatear las fechas. dd es el día, MM es el mes y yyyy es el año. Se puede ver una lista de los posibles valores que admite en la <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/text/SimpleDateFormat.html" target="_blank">API de SimpleDateFormat</a>.</p>
<p>Una vez inicializada la clase, el <strong>método format</strong> devuelve un StringBuffer con la fecha debidamente formateada.  Se le debe pasar un objeto de tipo Date, que se puede extraer del GregorianCalendar mediante el método getTime()&#8230;y ya está este sencilla rutina de programación en java.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.programacionenjava.com/blog/2010/04/29/javabasico/formatear-una-fecha-para-mostrar-texto/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Problemas con NullPointerException</title>
		<link>http://www.programacionenjava.com/blog/2009/02/23/javabasico/58/</link>
		<comments>http://www.programacionenjava.com/blog/2009/02/23/javabasico/58/#comments</comments>
		<pubDate>Mon, 23 Feb 2009 14:58:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java Básico]]></category>
		<category><![CDATA[Problemas Frecuentes]]></category>
		<category><![CDATA[Null Pointer Exception]]></category>

		<guid isPermaLink="false">http://www.programacionenjava.com/?p=58</guid>
		<description><![CDATA[Las excepciones de tipo NullPointer son las causas de excepción en tiempo de ejecución más comunes. Todos los valores en Java, excepto las primitivas, son referencias a objetos y todos tienen un valor por defecto, el valor null, que indica que el objeto no tiene asignado ningún valor. A un objeto con valor null, no [...]]]></description>
			<content:encoded><![CDATA[<p>Las excepciones de tipo <strong>NullPointer</strong> son las causas de excepción en tiempo de ejecución más comunes.</p>
<p>Todos los valores en Java, excepto las primitivas, son <strong>referencias a objetos</strong> y todos tienen un valor por defecto, el valor null, que indica que el objeto no tiene asignado ningún valor. A un objeto con valor null, no inicializado, que no referencia ningún objeto, no se le puede aplicar ningún método, siendo el resultado el lanzamiento de una excepción de tipo <strong>NullPointerException</strong></p>
<p>Una excepción de tipo <strong>NullPointerException</strong> lleva asociada la información de la línea de código donde se produjo el error. El mecanismo para detectar y corregir el error es directamente ir a esta línea de código y averiguar cuál de los objetos involucrados en la operación es el que no ha sido inicializado. Una vez detectado, será necesario inicializar el valor del objeto, pero siempre teniendo cuidado de no hacerlo para simplemente eliminar el error, sino que se le debe asignar un valor acorde con la lógica propia del programa.</p>

<div class="wp_codebox"><table width="100%" ><tr><td colspan="2" class="msgheader"><div class="codebox_right"><a href="###" onclick="copycode($('58code5'));">[Copiar]</a><a href="###" onclick="toggle_collapse('585');">[<span id="585_symbol">-</span>]</a></div><div class="codebox_left"><span id="l58code5"><a href="#" onclick="javascript:showCodeTxt('58code5'); return false;"> Codigo</a></span></div></td></tr><tr id="585"><td class="code" id="58code5"><pre class="java"><span style="color: #000000; font-weight: bold;">class</span> Casa<span style="color: #66cc66;">&#123;</span>
<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #993333;">long</span> precio;
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> Casa <span style="color: #66cc66;">&#40;</span><span style="color: #993333;">long</span> precio<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
<span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006600;">precio</span> = precio;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #993333;">long</span> getPrecio<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
<span style="color: #000000; font-weight: bold;">return</span> precio;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Vender <span style="color: #66cc66;">&#123;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">private</span> Casa casa;
&nbsp;
<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><span style="color: #aaaadd; font-weight: bold;">String</span><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>
&nbsp;
Vender vender = <span style="color: #000000; font-weight: bold;">new</span> Vender<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #aaaadd; font-weight: bold;">System</span>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span>vender.<span style="color: #006600;">casa</span>.<span style="color: #006600;">getPrecio</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

<p>Obviamente al ejecutar este ejemplo, se producirá un error indicando la línea concreta del error, y revisando esta línea se puede ver que la casa no está inicializada, y al no tener una referencia de la misma no se puede operar sobre el objeto y se lanzará la excepción <strong>NullPointerException</strong>.</p>
<p>Por ejemplo, el error se podría corregir inicializando el objeto casa incluido en el objeto Vender.</p>

<div class="wp_codebox"><table width="100%" ><tr><td colspan="2" class="msgheader"><div class="codebox_right"><a href="###" onclick="copycode($('58code6'));">[Copiar]</a><a href="###" onclick="toggle_collapse('586');">[<span id="586_symbol">-</span>]</a></div><div class="codebox_left"><span id="l58code6"><a href="#" onclick="javascript:showCodeTxt('58code6'); return false;"> Codigo</a></span></div></td></tr><tr id="586"><td class="code" id="58code6"><pre class="java"><span style="color: #000000; font-weight: bold;">private</span> Casa casa = <span style="color: #000000; font-weight: bold;">new</span> Casa<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">100000</span><span style="color: #66cc66;">&#41;</span>;</pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.programacionenjava.com/blog/2009/02/23/javabasico/58/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ordenación de ficheros en un directorio</title>
		<link>http://www.programacionenjava.com/blog/2008/11/20/javabasico/ordenacion-de-ficheros-en-un-directorio/</link>
		<comments>http://www.programacionenjava.com/blog/2008/11/20/javabasico/ordenacion-de-ficheros-en-un-directorio/#comments</comments>
		<pubDate>Thu, 20 Nov 2008 11:32:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java Básico]]></category>

		<guid isPermaLink="false">http://www.programacionenjava.com/?p=50</guid>
		<description><![CDATA[Los métodos list y listFiles, aplicables a un objeto de tipo File, no aseguran el orden en el que se devuelven los contenidos de un directorio. Si se desea que el listado de ficheros tenga un orden determinado, es necesario realizar una ordenación posteriormente. A continuación presentamos dos tipos de ordenación. La primera devuelve los [...]]]></description>
			<content:encoded><![CDATA[<p>Los métodos <strong>list y listFiles</strong>, aplicables a un objeto de tipo File, <strong>no aseguran el orden</strong> en el que se devuelven los contenidos de un directorio.</p>
<p>Si se desea que el listado de ficheros tenga un orden determinado, es necesario realizar una ordenación posteriormente.</p>
<p>A continuación presentamos dos tipos de ordenación. La primera devuelve los resultados en orden por fecha de modificación. La segunda es un tanto especial, ya que devuelve siempre en primer lugar, si existe, un fichero del que se conoce previamente el nombre, y el resto de resultados los ordena alfabéticamente.</p>

<div class="wp_codebox"><table width="100%" ><tr><td colspan="2" class="msgheader"><div class="codebox_right"><a href="###" onclick="copycode($('50code9'));">[Copiar]</a><a href="###" onclick="toggle_collapse('509');">[<span id="509_symbol">-</span>]</a></div><div class="codebox_left"><span id="l50code9"><a href="#" onclick="javascript:showCodeTxt('50code9'); return false;"> Codigo</a></span></div></td></tr><tr id="509"><td class="code" id="50code9"><pre class="java"><span style="color: #aaaadd; font-weight: bold;">File</span><span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span> filesPorFecha = directory.<span style="color: #006600;">listFiles</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #aaaadd; font-weight: bold;">Arrays</span>.<span style="color: #006600;">sort</span><span style="color: #66cc66;">&#40;</span>filesPorFecha, <span style="color: #000000; font-weight: bold;">new</span> Comparator&lt;File&gt;<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #993333;">int</span> compare<span style="color: #66cc66;">&#40;</span><span style="color: #aaaadd; font-weight: bold;">File</span> f1, <span style="color: #aaaadd; font-weight: bold;">File</span> f2<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #aaaadd; font-weight: bold;">Long</span>.<span style="color: #006600;">valueOf</span><span style="color: #66cc66;">&#40;</span>f1.<span style="color: #006600;">lastModified</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">compareTo</span><span style="color: #66cc66;">&#40;</span>f2.<span style="color: #006600;">lastModified</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span> <span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;</pre></td></tr></table></div>


<div class="wp_codebox"><table width="100%" ><tr><td colspan="2" class="msgheader"><div class="codebox_right"><a href="###" onclick="copycode($('50code10'));">[Copiar]</a><a href="###" onclick="toggle_collapse('5010');">[<span id="5010_symbol">-</span>]</a></div><div class="codebox_left"><span id="l50code10"><a href="#" onclick="javascript:showCodeTxt('50code10'); return false;"> Codigo</a></span></div></td></tr><tr id="5010"><td class="code" id="50code10"><pre class="java"><span style="color: #aaaadd; font-weight: bold;">String</span><span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span> filesPorNombre = directory.<span style="color: #006600;">list</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #aaaadd; font-weight: bold;">Arrays</span>.<span style="color: #006600;">sort</span><span style="color: #66cc66;">&#40;</span>filesPorNombre, <span style="color: #000000; font-weight: bold;">new</span> Comparator&lt;String&gt;<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
         <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #993333;">int</span> compare<span style="color: #66cc66;">&#40;</span><span style="color: #aaaadd; font-weight: bold;">String</span> f1, <span style="color: #aaaadd; font-weight: bold;">String</span> f2<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
		<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>!f1.<span style="color: #006600;">equals</span><span style="color: #66cc66;">&#40;</span>f2<span style="color: #66cc66;">&#41;</span> &amp;&amp; f1.<span style="color: #006600;">equals</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;nombredelfichero&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">return</span> <span style="color: #cc66cc;">-1</span>;
		<span style="color: #66cc66;">&#125;</span><span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>!f1.<span style="color: #006600;">equals</span><span style="color: #66cc66;">&#40;</span>f2<span style="color: #66cc66;">&#41;</span> &amp;&amp; f2.<span style="color: #006600;">equals</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;nombredelfichero&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">return</span> <span style="color: #cc66cc;">1</span>;
		<span style="color: #66cc66;">&#125;</span><span style="color: #b1b100;">else</span><span style="color: #66cc66;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">return</span> f1.<span style="color: #006600;">compareTo</span><span style="color: #66cc66;">&#40;</span>f2<span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
         <span style="color: #66cc66;">&#125;</span>
 <span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;</pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.programacionenjava.com/blog/2008/11/20/javabasico/ordenacion-de-ficheros-en-un-directorio/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Como recorrer un Map</title>
		<link>http://www.programacionenjava.com/blog/2008/10/10/javabasico/como-recorrer-un-map/</link>
		<comments>http://www.programacionenjava.com/blog/2008/10/10/javabasico/como-recorrer-un-map/#comments</comments>
		<pubDate>Fri, 10 Oct 2008 09:59:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java Básico]]></category>
		<category><![CDATA[hashmap]]></category>
		<category><![CDATA[map]]></category>
		<category><![CDATA[recorrer un hashmap]]></category>

		<guid isPermaLink="false">http://www.programacionenjava.com/?p=47</guid>
		<description><![CDATA[El siguiente extracto de código recorre todas las claves y valores de un Map. En primer lugar se construye y rellena el Map para posteriormente sacar por la salida estándar todas las claves y valores del mismo. [Copiar][-] Codigo HashMap map = new HashMap&#40;&#41;; map.put&#40;&#34;clave1&#34;,&#34;valor1&#34;&#41;; map.put&#40;&#34;clave2&#34;,&#34;valor2&#34;&#41;; Iterator itr = map.entrySet&#40;&#41;.iterator&#40;&#41;; while &#40;itr.hasNext&#40;&#41;&#41; &#123; Map.Entry e [...]]]></description>
			<content:encoded><![CDATA[<p>El siguiente extracto de código recorre todas las claves y valores de un Map. En primer lugar se construye y rellena el Map para posteriormente sacar por la salida estándar todas las claves y valores del mismo.</p>

<div class="wp_codebox"><table width="100%" ><tr><td colspan="2" class="msgheader"><div class="codebox_right"><a href="###" onclick="copycode($('47code12'));">[Copiar]</a><a href="###" onclick="toggle_collapse('4712');">[<span id="4712_symbol">-</span>]</a></div><div class="codebox_left"><span id="l47code12"><a href="#" onclick="javascript:showCodeTxt('47code12'); return false;"> Codigo</a></span></div></td></tr><tr id="4712"><td class="code" id="47code12"><pre class="java">	<span style="color: #aaaadd; font-weight: bold;">HashMap</span>  map = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #aaaadd; font-weight: bold;">HashMap</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	map.<span style="color: #006600;">put</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;clave1&quot;</span>,<span style="color: #ff0000;">&quot;valor1&quot;</span><span style="color: #66cc66;">&#41;</span>;
	map.<span style="color: #006600;">put</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;clave2&quot;</span>,<span style="color: #ff0000;">&quot;valor2&quot;</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #aaaadd; font-weight: bold;">Iterator</span> itr = map.<span style="color: #006600;">entrySet</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">iterator</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #b1b100;">while</span> <span style="color: #66cc66;">&#40;</span>itr.<span style="color: #006600;">hasNext</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
		<span style="color: #aaaadd; font-weight: bold;">Map</span>.<span style="color: #006600;">Entry</span> e = <span style="color: #66cc66;">&#40;</span><span style="color: #aaaadd; font-weight: bold;">Map</span>.<span style="color: #006600;">Entry</span><span style="color: #66cc66;">&#41;</span>itr.<span style="color: #006600;">next</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #aaaadd; font-weight: bold;">System</span>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;clave: &quot;</span>+e.<span style="color: #006600;">getKey</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>+<span style="color: #ff0000;">&quot;valor:&quot;</span>+e.<span style="color: #006600;">getValue</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.programacionenjava.com/blog/2008/10/10/javabasico/como-recorrer-un-map/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tutorial. Qué es un paquete</title>
		<link>http://www.programacionenjava.com/blog/2008/08/26/javabasico/tutorial-que-es-un-paquete/</link>
		<comments>http://www.programacionenjava.com/blog/2008/08/26/javabasico/tutorial-que-es-un-paquete/#comments</comments>
		<pubDate>Tue, 26 Aug 2008 17:42:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java Básico]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.programacionenjava.com/?p=44</guid>
		<description><![CDATA[Un paquete es un espacio de nombres que organiza un conjunto de clases e interfaces relacionadas. Puede pensar en los paquetes como algo similar a las diferentes carpetas de su ordenador. Puede tener guardadas páginas HTML en una carpeta, imágenes en otra y scripts y aplicaciones en otra distinta. Puesto que un software escrito en [...]]]></description>
			<content:encoded><![CDATA[<p>Un <strong>paquete</strong> es un <strong>espacio de nombres</strong> que <strong>organiza un conjunto de clases e interfaces relacionadas</strong>. Puede pensar en los paquetes como algo similar a las diferentes carpetas de su ordenador. Puede tener guardadas páginas HTML en una carpeta, imágenes en otra y scripts y aplicaciones en otra distinta. Puesto que un software escrito en el lenguaje de programación Java puede llegar a consistir de cientos o miles de clases individuales, tiene sentido que se organicen las clases e interfaces relacionadas en paquetes.</p>
<p>La plataforma Java proporciona una enorme biblioteca de clases (un conjunto de paquetes) adecuado para usar en sus propias aplicaciones. A esta biblioteca se la conoce como la <strong>Interfaz de Programación de Aplicaciones</strong> (<em>Application Programming Interface</em> en inglés) o por su abreviatura <strong><em>API</em></strong>. Sus paquetes representan las tareas más comunes asociadas a la programación en general. Por ejemplo, un objeto String contiene estado y comportamiento para cadenas de caracteres («character strings»); un objeto File permite a un programador crear, eliminar, inspeccionar, comparar o modificar un archivo en un sistema de archivos; un objeto Socket permite la creación y uso de sockets de red; otros objetos de interfaz gráfica («GUI») controlan botones, cajas de selección y cualquier otra cosa relacionada con las interfaces gráficas de usuario. Literalmente hay miles de clases de las que elegir. Esto le permite al programador enfocar sus esfuerzos en el diseño de la aplicación, más que en la infraestructura requerida para hacerla funcionar.</p>
<p>La <a title="API Java" href="http://java.sun.com/javase/6/docs/api/index.html" target="_blank">Java Platform API Specification</a> contiene el listado completo de todos los paquetes, interfaces, clases, campos y métodos proporcionados por la Plataforma Java 6, edición estándar (<em>Java Platform 6, Standard Edition</em>). Cargue esta página en su navegador y añádala a sus marcadores o favoritos. Siendo programador se convertirá en su documentación de referencia más importante.</p>
<p> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.programacionenjava.com/blog/2008/08/26/javabasico/tutorial-que-es-un-paquete/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tutorial. Qué es un interfaz</title>
		<link>http://www.programacionenjava.com/blog/2008/08/25/javabasico/tutorial-que-es-un-interfaz/</link>
		<comments>http://www.programacionenjava.com/blog/2008/08/25/javabasico/tutorial-que-es-un-interfaz/#comments</comments>
		<pubDate>Mon, 25 Aug 2008 13:31:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java Básico]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.programacionenjava.com/?p=43</guid>
		<description><![CDATA[Como ya ha aprendido, los objetos definen su interacción con el mundo exterior a través de los métodos de que exponen. Los métodos forman la interfaz del objeto con el mundo exterior; por ejemplo, los botones que hay en la parte frontal de su televisor forman la interfaz entre usted y el cableado eléctrico al [...]]]></description>
			<content:encoded><![CDATA[<p>Como ya ha aprendido, los objetos definen su interacción con el mundo exterior a través de los métodos de que exponen. Los métodos forman la interfaz del objeto con el mundo exterior; por ejemplo, los botones que hay en la parte frontal de su televisor forman la interfaz entre usted y el cableado eléctrico al otro lado de la caja de plástico. Debe pulsar un botón para encender y apagar el televisor.<br />
En su forma más común, una <strong><em>interfaz</em></strong> es un grupo de métodos relacionados con cuerpos vacíos. El comportamiento de una bicicleta, si se especifica como una interfaz, podría aparecer así:</p>

<div class="wp_codebox"><table width="100%" ><tr><td colspan="2" class="msgheader"><div class="codebox_right"><a href="###" onclick="copycode($('43code15'));">[Copiar]</a><a href="###" onclick="toggle_collapse('4315');">[<span id="4315_symbol">-</span>]</a></div><div class="codebox_left"><span id="l43code15"><a href="#" onclick="javascript:showCodeTxt('43code15'); return false;"> Codigo</a></span></div></td></tr><tr id="4315"><td class="code" id="43code15"><pre class="java"><span style="color: #000000; font-weight: bold;">interface</span> Bicycle <span style="color: #66cc66;">&#123;</span>
&nbsp;
       <span style="color: #993333;">void</span> changeCadence<span style="color: #66cc66;">&#40;</span><span style="color: #993333;">int</span> newValue<span style="color: #66cc66;">&#41;</span>;
&nbsp;
       <span style="color: #993333;">void</span> changeGear<span style="color: #66cc66;">&#40;</span><span style="color: #993333;">int</span> newValue<span style="color: #66cc66;">&#41;</span>;
&nbsp;
       <span style="color: #993333;">void</span> speedUp<span style="color: #66cc66;">&#40;</span><span style="color: #993333;">int</span> increment<span style="color: #66cc66;">&#41;</span>;
&nbsp;
       <span style="color: #993333;">void</span> applyBrakes<span style="color: #66cc66;">&#40;</span><span style="color: #993333;">int</span> decrement<span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

<p>Para implementar esta interfaz el nombre de su clase debería cambiar (a ACMEBicycle, por ejemplo), y usaría la palabra clave <strong><em>implements</em></strong> en la declaración de clase:</p>

<div class="wp_codebox"><table width="100%" ><tr><td colspan="2" class="msgheader"><div class="codebox_right"><a href="###" onclick="copycode($('43code16'));">[Copiar]</a><a href="###" onclick="toggle_collapse('4316');">[<span id="4316_symbol">-</span>]</a></div><div class="codebox_left"><span id="l43code16"><a href="#" onclick="javascript:showCodeTxt('43code16'); return false;"> Codigo</a></span></div></td></tr><tr id="4316"><td class="code" id="43code16"><pre class="java"><span style="color: #000000; font-weight: bold;">class</span> ACMEBicycle <span style="color: #000000; font-weight: bold;">implements</span> Bicycle <span style="color: #66cc66;">&#123;</span>
&nbsp;
   <span style="color: #808080; font-style: italic;">// remainder of this class implemented as before</span>
&nbsp;
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

<p>Implementar una interfaz permite a una clase ser más formal acerca del comportamiento que promete proporcionar. Las interfaces forman un contrato entre la clase y el mundo exterior, y este contrato se hace cumplir en el momento de la compilación. Si su clase afirma implementar una interfaz, todos los métodos definidos por esa interfaz deben aparecer en su código fuente para que se compile con éxito. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.programacionenjava.com/blog/2008/08/25/javabasico/tutorial-que-es-un-interfaz/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tutorial. Qué es la herencia</title>
		<link>http://www.programacionenjava.com/blog/2008/08/21/javabasico/tutorial-que-es-la-herencia/</link>
		<comments>http://www.programacionenjava.com/blog/2008/08/21/javabasico/tutorial-que-es-la-herencia/#comments</comments>
		<pubDate>Thu, 21 Aug 2008 13:53:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java Básico]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[herencia]]></category>

		<guid isPermaLink="false">http://www.programacionenjava.com/?p=42</guid>
		<description><![CDATA[A menudo diferentes tipos de objetos tienen algunas cosas en común. Por ejemplo, las bicicletas de montaña, las de carretera y los tándems todos comparten las características de las bicicletas (velocidad actual, cadencia de pedal, marcha). Aún así cada una de ellas también define características adicionales que las hacen diferentes: los tándems tienen dos asientos [...]]]></description>
			<content:encoded><![CDATA[<p>A menudo diferentes tipos de objetos tienen algunas cosas en común. Por ejemplo, las bicicletas de montaña, las de carretera y los tándems todos comparten las características de las bicicletas (velocidad actual, cadencia de pedal, marcha). Aún así cada una de ellas también define características adicionales que las hacen diferentes: los tándems tienen dos asientos y dos manillares, las bicicletas de carretera tienen un manillar con cuernos, algunas bicicletas de montaña tienen más piñones que les proporcionan marchas más cortas.</p>
<p>La programación orientada a objetos permite que las clases <strong>hereden</strong> estados y comportamientos de uso común de otras clases. En este ejemplo, Bicycle se convierte en la <strong>superclase</strong> de MountainBike, RoadBike y TandemBike. En el lenguaje de programación Java se permite que cada clase tenga una superclase directa y que cada superclase tenga el potencial para una cantidad ilimitada de <strong>subclases</strong>.</p>
<p>La sintaxis para crear subclases en sencilla. Utilice la palabra clave <strong>extends</strong> seguida del nombre de la clase de la que desea heredar al inicio de su declaración de clase:</p>

<div class="wp_codebox"><table width="100%" ><tr><td colspan="2" class="msgheader"><div class="codebox_right"><a href="###" onclick="copycode($('42code18'));">[Copiar]</a><a href="###" onclick="toggle_collapse('4218');">[<span id="4218_symbol">-</span>]</a></div><div class="codebox_left"><span id="l42code18"><a href="#" onclick="javascript:showCodeTxt('42code18'); return false;"> Codigo</a></span></div></td></tr><tr id="4218"><td class="code" id="42code18"><pre class="java"><span style="color: #000000; font-weight: bold;">class</span> MountainBike <span style="color: #000000; font-weight: bold;">extends</span> Bicycle <span style="color: #66cc66;">&#123;</span>
&nbsp;
     <span style="color: #808080; font-style: italic;">// Los nuevos campos y métodos que definan una bici de montaña irían aquí</span>
&nbsp;
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

<p>Esto proporciona a MountainBike los mismos campos y métodos que Bicycle, pero permite a su código encargarse exclusivamente de las características que la hacen única. Esto hace que el código de sus subclases sea fácil de leer. Sin embargo debe encargarse de documentar apropiadamente el estado y comportamiento que cada superclase que define, ya que ese código no aparecerá en el archivo fuente de cada subclase.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.programacionenjava.com/blog/2008/08/21/javabasico/tutorial-que-es-la-herencia/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sentencias de Control de Flujo en Java</title>
		<link>http://www.programacionenjava.com/blog/2008/07/01/javabasico/sentencias-de-control-de-flujo-en-java/</link>
		<comments>http://www.programacionenjava.com/blog/2008/07/01/javabasico/sentencias-de-control-de-flujo-en-java/#comments</comments>
		<pubDate>Tue, 01 Jul 2008 13:58:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java Básico]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Control Flujo]]></category>

		<guid isPermaLink="false">http://www.programacionenjava.com/?p=35</guid>
		<description><![CDATA[Las sentencias de control de flujo determinan el orden en que se ejecutarán las otras sentencias dentro del programa. El lenguaje Java soporta varias sentencias de control de flujo, incluyendo. toma de decisiones     if-else, switch-case bucles     for, while, do-while excepciones     try-catch-finally, throw miscelaneas     break, continue, label:, return Aquí sólo vamos a [...]]]></description>
			<content:encoded><![CDATA[<p>Las sentencias de control de flujo determinan el orden en que se ejecutarán las otras sentencias dentro del programa. El lenguaje Java soporta varias sentencias de control de flujo, incluyendo.</p>
<ul>
<li>toma de decisiones     <strong>if-else</strong>, <strong>switch-case</strong></li>
<li>bucles     <strong>for</strong>, <strong>while</strong>, <strong>do-while</strong></li>
<li>excepciones     <strong>try-catch-finally</strong>, <strong>throw</strong></li>
<li>miscelaneas     <strong>break</strong>, <strong>continue</strong>, <strong>label:</strong>, <strong>return</strong></li>
</ul>
<p>Aquí sólo vamos a tratar las sentencias de tomas de decisiones y los bucles, dejando las excepciones para otra ocasión.</p>
<p><strong>Sentencias de toma de decisiones</strong></p>
<ul>
<li><strong>La sentencia if-else</strong></li>
</ul>
<p>La sentencia if-else de java proporciona a los programas la posibilidad de ejecutar selectivamente otras sentencias basándose en algún criterio. Esta es la versión más sencilla de la sentencia if: la sentencia gobernada por if se ejecuta si alguna codición es verdadera. Generalmente, la forma sencilla de if se puede escribir así.</p>

<div class="wp_codebox"><table width="100%" ><tr><td colspan="2" class="msgheader"><div class="codebox_right"><a href="###" onclick="copycode($('35code27'));">[Copiar]</a><a href="###" onclick="toggle_collapse('3527');">[<span id="3527_symbol">-</span>]</a></div><div class="codebox_left"><span id="l35code27"><a href="#" onclick="javascript:showCodeTxt('35code27'); return false;"> Codigo</a></span></div></td></tr><tr id="3527"><td class="code" id="35code27"><pre class="java"><span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>expresión<span style="color: #66cc66;">&#41;</span>
sentencia;</pre></td></tr></table></div>

<p>Pero, ¿y si quieres ejecutar un juego diferente de sentencias si la expresión es falsa? Bien, puedes utilizar la sentencia else, que ejecuta la condición opuesta</p>

<div class="wp_codebox"><table width="100%" ><tr><td colspan="2" class="msgheader"><div class="codebox_right"><a href="###" onclick="copycode($('35code28'));">[Copiar]</a><a href="###" onclick="toggle_collapse('3528');">[<span id="3528_symbol">-</span>]</a></div><div class="codebox_left"><span id="l35code28"><a href="#" onclick="javascript:showCodeTxt('35code28'); return false;"> Codigo</a></span></div></td></tr><tr id="3528"><td class="code" id="35code28"><pre class="java"><span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>expresión<span style="color: #66cc66;">&#41;</span>
sentencia;
<span style="color: #b1b100;">else</span>
otrasentencia;</pre></td></tr></table></div>

<p>Este uso particular de la sentencia else es la forma de capturarlo todo.</p>
<p>Existe otra forma de la sentecia else, <strong>else if</strong> que ejecuta una sentencia basada en otra expresión. Como ejemplo, un programa que asigna notas basadas en la puntuación de un examen, un Sobresaliente para una puntuación del 90% o superior, un Notable para el 80% o superior y demás:</p>

<div class="wp_codebox"><table width="100%" ><tr><td colspan="2" class="msgheader"><div class="codebox_right"><a href="###" onclick="copycode($('35code29'));">[Copiar]</a><a href="###" onclick="toggle_collapse('3529');">[<span id="3529_symbol">-</span>]</a></div><div class="codebox_left"><span id="l35code29"><a href="#" onclick="javascript:showCodeTxt('35code29'); return false;"> Codigo</a></span></div></td></tr><tr id="3529"><td class="code" id="35code29"><pre class="java"><span style="color: #993333;">int</span> puntuacion;
<span style="color: #aaaadd; font-weight: bold;">String</span> nota;
&nbsp;
<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>puntuacion &gt;= <span style="color: #cc66cc;">90</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
nota = <span style="color: #ff0000;">&quot;Sobresaliente&quot;</span>;
<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>puntuacion &gt;= <span style="color: #cc66cc;">80</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
nota = <span style="color: #ff0000;">&quot;Notable&quot;</span>;
<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>puntuacion &gt;= <span style="color: #cc66cc;">70</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
nota = <span style="color: #ff0000;">&quot;Bien&quot;</span>;
<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>puntuacion &gt;= <span style="color: #cc66cc;">60</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
nota = <span style="color: #ff0000;">&quot;Suficiente&quot;</span>;
<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #66cc66;">&#123;</span>
nota = <span style="color: #ff0000;">&quot;Insuficiente&quot;</span>;
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

<p>Una sentencia if puede tener cualquier número de sentencias de acompañamiento else if.</p>
<ul>
<li><strong>La sentencia switch-case</strong></li>
</ul>
<p>La sentencia switch se utiliza para realizar sentencias condicionalmente basadas en alguna expresión. Por ejemplo, un programa contiene un entero llamado mes cuyo valor indica el mes en alguna fecha, y se quiere mostrar el nombre del mes basándose en su número entero equivalente. Se podría utilizar la sentencia switch de Java para realizar esta tarea.</p>

<div class="wp_codebox"><table width="100%" ><tr><td colspan="2" class="msgheader"><div class="codebox_right"><a href="###" onclick="copycode($('35code30'));">[Copiar]</a><a href="###" onclick="toggle_collapse('3530');">[<span id="3530_symbol">-</span>]</a></div><div class="codebox_left"><span id="l35code30"><a href="#" onclick="javascript:showCodeTxt('35code30'); return false;"> Codigo</a></span></div></td></tr><tr id="3530"><td class="code" id="35code30"><pre class="java"><span style="color: #993333;">int</span> mes;
. . .
<span style="color: #b1b100;">switch</span> <span style="color: #66cc66;">&#40;</span>mes<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
<span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">1</span>:  <span style="color: #aaaadd; font-weight: bold;">System</span>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Enero&quot;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #000000; font-weight: bold;">break</span>;
<span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">2</span>:  <span style="color: #aaaadd; font-weight: bold;">System</span>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Febrero&quot;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #000000; font-weight: bold;">break</span>;
<span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">3</span>:  <span style="color: #aaaadd; font-weight: bold;">System</span>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Marzo&quot;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #000000; font-weight: bold;">break</span>;
<span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">4</span>:  <span style="color: #aaaadd; font-weight: bold;">System</span>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Abril&quot;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #000000; font-weight: bold;">break</span>;
<span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">5</span>:  <span style="color: #aaaadd; font-weight: bold;">System</span>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;May0&quot;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #000000; font-weight: bold;">break</span>;
<span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">6</span>:  <span style="color: #aaaadd; font-weight: bold;">System</span>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Junio&quot;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #000000; font-weight: bold;">break</span>;
<span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">7</span>:  <span style="color: #aaaadd; font-weight: bold;">System</span>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Julio&quot;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #000000; font-weight: bold;">break</span>;
<span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">8</span>:  <span style="color: #aaaadd; font-weight: bold;">System</span>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Agosto&quot;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #000000; font-weight: bold;">break</span>;
<span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">9</span>:  <span style="color: #aaaadd; font-weight: bold;">System</span>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Septiembre&quot;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #000000; font-weight: bold;">break</span>;
<span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">10</span>: <span style="color: #aaaadd; font-weight: bold;">System</span>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Octubre&quot;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #000000; font-weight: bold;">break</span>;
<span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">11</span>: <span style="color: #aaaadd; font-weight: bold;">System</span>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Noviembre&quot;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #000000; font-weight: bold;">break</span>;
<span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">12</span>: <span style="color: #aaaadd; font-weight: bold;">System</span>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Diciembre&quot;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #000000; font-weight: bold;">break</span>;
<span style="color: #000000; font-weight: bold;">default</span>: <span style="color: #aaaadd; font-weight: bold;">System</span>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;No es un mes válido&quot;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">break</span>;
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

<p>La sentencia switch evalúa su expresión, en este caso el valor de mes, y ejecuta la sentencia case apropiada.</p>
<p>Decidir cuando utilizar las sentencias if o switch dependen del juicio personal. Se puede decidir cual utilizar basándose en la buena lectura del código o en otros factores. Cada sentencia case debe ser única y el valor proporcionado a cada sentencia case debe ser del mismo tipo que el tipo de dato devuelto por la expresión proporcionada a la sentencia switch.</p>
<p>Otro punto de interes en la sentencia switch son las sentencias <strong>break</strong> después de cada case. La sentencia break hace que el control salga de la sentencia switch y continúe con la siguiente línea. La sentencia break es necesaria porque las sentencias case se siguen ejecutando hacia abajo. Esto es, sin un break explícito, el flujo de control seguiría secuencialmente a través de las sentencias case siguientes.</p>
<p>Finalmente, puede utilizar la sentencia default al final de la sentencia switch para manejar los valores que no se han manejado explícitamente por una de las sentencias case.</p>
<p><strong>Sentencias de Bucle</strong></p>
<ul>
<li><strong>El bucle while</strong></li>
</ul>
<p>Una sentencia while realiza una acción mientras se cumpla una cierta condición. La sintaxis general de la sentencia while es.</p>

<div class="wp_codebox"><table width="100%" ><tr><td colspan="2" class="msgheader"><div class="codebox_right"><a href="###" onclick="copycode($('35code31'));">[Copiar]</a><a href="###" onclick="toggle_collapse('3531');">[<span id="3531_symbol">-</span>]</a></div><div class="codebox_left"><span id="l35code31"><a href="#" onclick="javascript:showCodeTxt('35code31'); return false;"> Codigo</a></span></div></td></tr><tr id="3531"><td class="code" id="35code31"><pre class="java"><span style="color: #b1b100;">while</span> <span style="color: #66cc66;">&#40;</span>expresión<span style="color: #66cc66;">&#41;</span>
sentencia;</pre></td></tr></table></div>

<p>Esto es, mientras la expresión sea verdadera, ejecutará la sentencia.</p>
<p>sentencia puede ser una sóla sentencia o puede ser un bloque de sentencias. Un bloque de sentencias es un juego de sentencias legales de java contenidas dentro de corchetes(&#8216;{&#8216;y &#8216;}&#8217;).</p>
<p>Además de while Java tiene otros dos constructores de bucles que puedes utilizar en tus programas.</p>
<ul>
<li><strong>El bucle for</strong></li>
</ul>
<p>Puedes utilizar este bucle cuando conozcas los límites del bucle (su instrucción de inicialización, su criterio de terminación y su instrucción de incremento). Por ejemplo, el bucle for se utiliza frecuentemente para iterar sobre los elementos de un array, o los caracteres de una cadena.</p>

<div class="wp_codebox"><table width="100%" ><tr><td colspan="2" class="msgheader"><div class="codebox_right"><a href="###" onclick="copycode($('35code32'));">[Copiar]</a><a href="###" onclick="toggle_collapse('3532');">[<span id="3532_symbol">-</span>]</a></div><div class="codebox_left"><span id="l35code32"><a href="#" onclick="javascript:showCodeTxt('35code32'); return false;"> Codigo</a></span></div></td></tr><tr id="3532"><td class="code" id="35code32"><pre class="java">&nbsp;
<span style="color: #808080; font-style: italic;">// a es un array de cualquier tipo</span>
. . .
<span style="color: #993333;">int</span> i;
<span style="color: #993333;">int</span> length = a.<span style="color: #006600;">length</span>;
<span style="color: #b1b100;">for</span> <span style="color: #66cc66;">&#40;</span>i = <span style="color: #cc66cc;">0</span>; i &lt; a.<span style="color: #006600;">length</span>; i++<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
<span style="color: #aaaadd; font-weight: bold;">System</span>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span>a<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

<p>Si sabes cuando estas escribiendo el programa que quieres empezar en el inicio del array, parar al final y utilizar cada uno de los elementos. Entonces la sentencia for es una buena elección. La forma general del bucle for puede expresarse asi.</p>

<div class="wp_codebox"><table width="100%" ><tr><td colspan="2" class="msgheader"><div class="codebox_right"><a href="###" onclick="copycode($('35code33'));">[Copiar]</a><a href="###" onclick="toggle_collapse('3533');">[<span id="3533_symbol">-</span>]</a></div><div class="codebox_left"><span id="l35code33"><a href="#" onclick="javascript:showCodeTxt('35code33'); return false;"> Codigo</a></span></div></td></tr><tr id="3533"><td class="code" id="35code33"><pre class="java"><span style="color: #b1b100;">for</span> <span style="color: #66cc66;">&#40;</span>inicialización; terminación; incremento<span style="color: #66cc66;">&#41;</span>
sentencias</pre></td></tr></table></div>

<p><strong>inicialización</strong> es la sentencia que inicializa el bucle. Se ejecuta una vez al iniciar el bucle.</p>
<p><strong>terminación</strong> es una sentencia que determina cuando se termina el bucle. Esta expresión se evalúa al principio de cada iteracción en el bucle. Cuando la expreión se evalúa a false el bucle se termina.</p>
<p>Finalmente, <strong>incremento</strong> es una expresión que se invoca en cada interacción del bucle. Cualquiera (o todos) de estos componentes puden ser una sentencia vacía (un punto y coma).</p>
<ul>
<li><strong> el bucle do-while</strong></li>
</ul>
<p>Java proporciona otro bucle, el bucle do-while,que es similar al bucle while que se vió al principio, excepto en que la expresión se avalú al final del bucle.</p>

<div class="wp_codebox"><table width="100%" ><tr><td colspan="2" class="msgheader"><div class="codebox_right"><a href="###" onclick="copycode($('35code34'));">[Copiar]</a><a href="###" onclick="toggle_collapse('3534');">[<span id="3534_symbol">-</span>]</a></div><div class="codebox_left"><span id="l35code34"><a href="#" onclick="javascript:showCodeTxt('35code34'); return false;"> Codigo</a></span></div></td></tr><tr id="3534"><td class="code" id="35code34"><pre class="java"><span style="color: #b1b100;">do</span> <span style="color: #66cc66;">&#123;</span>
sentencias
<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">while</span> <span style="color: #66cc66;">&#40;</span>Expresión Booleana<span style="color: #66cc66;">&#41;</span>;</pre></td></tr></table></div>

<p>La sentencia do-while se usa muy poco en la construcción de bucles pero tiene sus usos. Por ejemplo, es conveniente utilizar la sentencia do-while cuando el bucle debe ejecutarse al menos una vez.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.programacionenjava.com/blog/2008/07/01/javabasico/sentencias-de-control-de-flujo-en-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tutorial. Clases en Java</title>
		<link>http://www.programacionenjava.com/blog/2008/06/23/javabasico/tutorial-clases-en-java/</link>
		<comments>http://www.programacionenjava.com/blog/2008/06/23/javabasico/tutorial-clases-en-java/#comments</comments>
		<pubDate>Mon, 23 Jun 2008 10:33:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java Básico]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.programacionenjava.com/?p=33</guid>
		<description><![CDATA[Las clases son los elementos fundamentales de Java. Todo en Java forma parte de una clase, es una clase o describe como funciona una clase. El conocimiento de las clases es fundamental para poder entender los programas Java. Todas las acciones de los programas Java se colocan dentro del bloque de una clase o un [...]]]></description>
			<content:encoded><![CDATA[<p>Las clases son los <strong>elementos fundamentales de Java</strong>. Todo en Java forma parte de una clase, es una clase o describe como funciona una clase. El conocimiento de las clases es fundamental para poder entender los programas Java.</p>
<p>Todas las acciones de los programas Java se colocan dentro del bloque de una clase o un objeto. Todos los métodos se definen dentro del bloque de la clase, Java no soporta funciones o variables globales. Así pues, el esqueleto de cualquier aplicación Java se basa en la definición de una clase.</p>
<p>Todos los datos básicos, como los enteros, se deben declarar en las clases antes de hacer uso de ellos. La palabra clave import puede colocarse al principio de un fichero, fuera del bloque de la clase. Es necesario declarar explícitamente las clases que se van a utilizar (<strong>import</strong>) que no estén dentro del paquete (<strong>package</strong>) al que pertenece la clase.</p>
<p>Los tipos de clases que podemos definir son:</p>
<ul>
<li><strong>abstract</strong>: Una clase abstract tiene al menos un método abstracto. Una clase abstracta <strong>no se instancia</strong>, sino que se utiliza como clase base para la herencia.</li>
<li><strong>final</strong>: Una clase final se declara como la clase que <strong>termina una cadena de herencia</strong>. No se puede heredar de una clase final. Por ejemplo, la clase Math es una clase final.</li>
<li><strong>public</strong>: Las clases public son <strong>accesibles desde otras clases</strong>, bien sea directamente o por herencia. Son accesibles dentro del mismo paquete en el que se han declarado. Para acceder desde otros paquetes, primero tienen que ser importadas.</li>
<li><strong>synchronizable</strong>: Este modificador especifica que todos los métodos definidos en la clase son sincronizados, es decir, que no se puede acceder al mismo tiempo a ellos desde distintos threads; el sistema se encarga de <strong>controlar la concurrencia</strong>. Este mecanismo hace que desde threads diferentes se puedan modificar las mismas variables sin que haya problemas de que se sobreescriban.</li>
</ul>
<p>Cuando se crea una nueva clase en Java, se puede especificar el nivel de acceso que se quiere para las variables de instancia y los métodos definidos en la clase:</p>
<ul>
<li><strong>public</strong> (public void CualquieraPuedeAcceder(){}): <strong>Cualquier clase desde cualquier lugar</strong> puede acceder a las variables y métodos de instacia públicos.</li>
<li><strong>protected (</strong>protected void SoloSubClases(){}): <strong>Sólo las subclases de la clase</strong> y nadie más puede acceder a las variables y métodos de instancia protegidos.</li>
<li><strong>private</strong> (private String NumeroDelCarnetDeIdentidad;) Las variables y métodos de instancia privados sólo pueden ser <strong>accedidos desde dentro de la clase</strong>. No son accesibles desde las subclases.</li>
<li><strong>friendly</strong> (sin declaración específica, void MetodoDeMiPaquete(){}) <strong>Por defecto</strong>, si no se especifica el control de acceso, las variables y métodos de instancia se declaran friendly (amigas), lo que significa que son accesibles por todos los objetos dentro del mismo paquete, pero no por los externos al paquete. Es lo mismo que protected.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.programacionenjava.com/blog/2008/06/23/javabasico/tutorial-clases-en-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Separadores en Java</title>
		<link>http://www.programacionenjava.com/blog/2008/06/18/javabasico/separadores-en-java/</link>
		<comments>http://www.programacionenjava.com/blog/2008/06/18/javabasico/separadores-en-java/#comments</comments>
		<pubDate>Wed, 18 Jun 2008 13:29:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java Básico]]></category>

		<guid isPermaLink="false">http://www.programacionenjava.com/?p=31</guid>
		<description><![CDATA[Sólo hay un par de secuencias con otros caracteres que pueden aparecer en el código Java; son los separadores simples, que van a definir la forma y función del código. Los separadores admitidos en Java son: () &#8211; paréntesis. Para contener listas de parámetros en la definición y llamada a métodos. También se utiliza para [...]]]></description>
			<content:encoded><![CDATA[<p>Sólo hay un par de secuencias con otros caracteres que pueden aparecer en el código Java; son los <strong>separadores</strong> simples, que van a definir la forma y función del código. Los separadores admitidos en Java son:</p>
<p><strong>() &#8211; paréntesis</strong>. Para contener listas de parámetros en la definición y llamada a métodos. También se utiliza para definir precedencia en expresiones, contener expresiones para control de flujo y rodear las conversiones de tipo.</p>
<p><strong>{} &#8211; llaves</strong>. Para contener los valores de matrices inicializadas automáticamente. También se utiliza para definir un bloque de código, para clases, métodos y ámbitos locales.</p>
<p><strong>[] &#8211; corchetes</strong>. Para declarar tipos matriz. También se utiliza cuando se referencian valores de matriz.</p>
<p><strong>; &#8211; punto y coma</strong>. Separa sentencias.</p>
<p><strong>, &#8211; coma</strong>. Separa identificadores consecutivos en una declaración de variables. También se utiliza para encadenar sentencias dentro de una sentencia for.</p>
<p><strong>. &#8211; punto</strong>. Para separar nombres de paquete de subpaquetes y clases. También se utiliza para separar una variable o método de una variable de referencia.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.programacionenjava.com/blog/2008/06/18/javabasico/separadores-en-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

