Objetivo: escribir un primer programa en Java y verificar el entorno de compilación y ejecución.
Una vez instaladas las herramientas de desarrollo llega el momento sublime del rito de iniciación. Sea cual sea tu lenguaje de programación, si quieres que las cosas te vayan bien como programador necesitarás invocar a los dioses del código para que te insuflen el don del buen hacer, la inspiración algorítmica y la creatividad. Y esto sólo se logra de un modo: escribiendo un primer programa que imprima en pantalla el texto Hola mundo. Cualquier otra frase, una simple variación, y sería una apuesta segura hacia el fracaso.
Toma tu editor de texto plano favorito y escribe el siguiente código:
public class HolaMundo
{
public static void main(String[] args)
{
System.out.println("Hola mundo");
}
}
No te preocupes ahora si no comprendes su significado. La misión principal del primer programa no es otra sino la verificación de que nuestro entorno de desarrollo está correctamente instalado y conocer los rudimentos básicos de la compilación y ejecución en Java.
Si no puedes evitar trastear, presta atención a la instrucción
System.out.println("Hola mundo");
El texto que figure dentro de los paréntesis, rodeado entre comillas dobles, será, obviamente, el que aparecerá impreso.
Guarda el fichero y ponle de nombre HolaMundo.java
Es muy importante que el nombre del fichero coincida exactamente con el que aparece en la línea
public class HolaMundo
Cuando digo coincidencia exacta me estoy refiriendo también a las mayúsculas y minúsculas. Java distingue entre ambas y aunque a tu sistema operativo pueda no importarle el asunto, a Java sí.
Fíjate en la extensión del fichero. El código fuente en Java se almacena en ficheros con extensión .java
C:\javacode>dir
El volumen de la unidad C no tiene etiqueta.
El número de serie del volumen es: FC32-C34D
Directorio de C:\javacode
14/03/2013 11:38 <DIR> .
14/03/2013 11:38 <DIR> ..
14/03/2013 11:50 117 HolaMundo.java
1 archivos 117 bytes
2 dirs 39.903.391.744 bytes libres
Para compilar el programa ejecutamos el comando
javac HolaMundo.java
Si todo va bien no te aparecerá ningún error:
C:\javacode>javac HolaMundo.java
C:\javacode>
En caso contrario se te mostrará un informe que te dará buenas pistas de lo que puede estar sucediendo. Típicamente será un error de sintaxis en el código fuente; asegúrate de que esté escrito tal cual aparece aquí. Otros errores comunes en la primera compilación son que no se encuentre el programa javac en el PATH de búsqueda (algo que explicamos en el artículo anterior), que la variable de entorno CLASSPATH no contenga el directorio actual (.), o que emplees codificación UTF-8 con BOM. Si te atascas tratando de resolver estos problemas, siéntete libre de dejar un comentario en el blog, por si puedo ayudarte.
Si todo va bien, un nuevo fichero habrá entrado en escena:
C:\javacode>dir
El volumen de la unidad C no tiene etiqueta.
El número de serie del volumen es: FC32-C34D
Directorio de C:\javacode
14/03/2013 12:07 <DIR> .
14/03/2013 12:07 <DIR> ..
14/03/2013 12:07 422 HolaMundo.class
14/03/2013 12:06 114 HolaMundo.java
2 archivos 536 bytes
2 dirs 41.376.903.168 bytes libres
Menuda sorpresa… Tal vez esperabas encontrar un HolaMundo.exe; en su lugar te ha aparecido HolaMundo.class.
La compilación no nos ha generado código ejecutable directamente por el sistema operativo. En su lugar, aparece una suerte de código intermedio, denominado bytecode, que será ejecutado mediante una máquina virtual Java. En este esquema reside la clave de la portabilidad de Java, pues el bytecode es el independiente de la plataforma.
Para saludar al mundo y cumplir el guión del ritual, escribimos:
C:\javacode>java HolaMundo
Hola mundo
Observa que no es necesario indicar la extensión .class. De hecho, hacerlo provocaría un error.
Suelo decir que cuando uno hace funcionar un «Hola mundo», ya tiene recorrida la mitad del camino aprendiendo un lenguaje. El resto será fácil…
Javier Montero Gabarró
El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)
El Club del Autodidacta
Índice completo de artículos sobre Java.
Hola, Java 🙂
Me ha gustado mucho tu manera de plantear el artículo. Otras introducciones que he visto por ahí son exasperantemente densas. Esta es directa al grano y muy clara y concreta.
Gracias! 🙂
El auténtico reto será cuando tenga que explicar la programación orientada a objetos en el siguiente y sucesivos artículos.
hola muy bueno el blog aqui les dejo otra opcion para poder aprender y hacer consultas http://aprendiendojava.esblogs.com
Gracias, Ángel. ¡Ánimo con ese blog! 🙂
Hola he descubierto tu blog y me parece muy bueno. Estoy intentando aprender un poco de Java y al hacer esto de hola mundo tengo una duda. Dónde se guarda el archivo de texto?
Gracias
Hola Miguel:
Puedes guardar el fichero .java en cualquier carpeta. Lo normal es que te crees una para tus propios desarrollos en Java.
Eso sí, asegúrate de que has incluido en el PATH del sistema la ruta al compilador Java y a la máquina virtual, de modo respondan correctamente cuando los llames desde la carpeta en la que guardas tus proyectos.
Saludos!
Gracias por la rapidez y la respuesta. Después de dos horas lo he conseguido 🙂
No he podido, Me dice que public no se reconoce como un comando interno o externo. Programa o archivo por lotes ejecutables
Qué tal:
Cuando digo que el nombre debe ser el que se dice en la línea «public class HolaMundo», me refiero a que debe ser HolaMundo.java, cuidando las mayusculas y minúsculas de HolaMundo, y no que lo llames «public class HolaMundo».
Saludos
Gracias anticipadas Javier por esta iniciativa !
Me parece tener el mismo problema que Borys.
En el intérprete de comandos aparece:
«javac» no se reconoce como un comando interno o externo, programa o archivo por lotes ejecutable.
¿Es posible que a pesar de haber instalado el JDK, no tenga aún el archivo «javac.exe»?
De hecho lo busco manualmente y no lo encuentro ¿Qué pasó entonces?
Por cierto, «java.exe» si se encuentra !
Buenos días:
No, eso no tendría sentido. Asegúrate de que te has descargado el el JDK y no el JRE (que no contiene el compilador). El ejecutable del compilador deberá aparecerte en la carpeta bin dentro del directorio en el que se haya instalado el JDK.
Saludos
Hola Javier efectivamente si hago copy paste de tu web compila perfectamente ahora tras escribirlo yo unas cuantas veces no compila da error entiendo que es error de sintaxis en el código fuente, sabes como puedo modificar lo del UTF-8 con BOM ? (lo del path parece estar todo correcto)