Você está na página 1de 7

CREAMOS EL PROGRAMA

Para aprender bien las cosas de java, lo mejor es empezar los primeros programas con un editor de textos normalito (notepad, vi, xemcas, etc). No se te ocurra usar Word, WordPad, StarOffice o cualquier otro procesador de textos en condiciones, ya que los ficheros que almacenan no los entiende nadie, salvo ellos mismos. Por supuesto, mucho menos el compilador de java. Tambin es bueno para empezar compilar y ejecutar a mano, desde lnea de comandos. Es mejor no usar un IDE (estilo eclipse, netbeans, jbuilder, etc). El IDE es muy listo y hace muchas cosas l slo o con un simple click de ratn, por ejemplo, compilar y ejecutar. La consecuencia de esto es que t no aprendes a hacerlas y luego, sin el IDE o con otro IDE distinto, ests perdido. Tambin es bastante normal que los IDE aadan cosas propias de su cosecha, especialmente JBuilder, que no son estandard de java. Si las usas sin querer, estars aprendiendo algo que no es java, sino propio del IDE. As que vamos en plan "rupestre": Lo primero que hacemos, es abrir una ventana de comandos (una de ms-dos en windows o una shell/bash de linux). En esa ventana nos vamos a un directorio que hayamos elegido para nuestro programa y abrimos el editor. En windows nos vale el notepad, en linux podemos usar el vi. Atencin a las maysculas y minsculas en el nombre del fichero y el nombre de la clase. $ vi HolaMundo.java c:\> notepad HolaMundo.java Ahora escribimos nuestro programa public class HolaMundo { public static void main (String [ ] args) { System.out.println ("Hola mundo"); } } Salvamos el programa y salimos del editor.

LA CLASE HolaMundo
Veamos qu es lo que hemos escrito: Hemos hecho una clase que hemos llamado HolaMundo. En java es habitual meter cada clase en un fichero distinto. Es obligatorio que la clase se llame igual que el fichero. Importan las maysculas y las minsculas, as que no es lo mismo HolaMundo que holaMundo ni que Holamundo. Como nuestra clase se llama HolaMundo, debemos llamar a nuestro fichero HolaMundo.java. Si hubiera varias clases en el mismo fichero, java slo permite que se pueda usar una de ellas desde cdigo que est fuera del fichero. Esa clase que se puede ver desde todos lados debe llevar el modificador public. Adems, la clase public debe ser obligatoriamente la que se lllama igual que el fichero. En resumen, si hacemos un fichero HolaMundo.java, debemos meter dentro obligatoriamente y para que todo vaya bien una clase pblica que se llame HolaMundo. Eso es lo que tenemos en la primera lnea. public class HolaMundo Desde dnde hasta dnde va la clase?. En java lo marcamos con una llaves. Inmediatamente despus del nombre de la clase, abrimos unas llaves. Luego hacemos el cdigo de nuestra clase y finalmente la cerramos. public class HolaMundo { ... }

EL MTODO MAIN
Dentro de la clase podemos poner cdigo de muchas maneras distintas. Una forma habitual es hacer "mtodos". Un mtodo es un trozo de cdigo al que damos un nombre para poder identificarlo y llamarlo desde cualquier sitio.

En java hay un nombre especial de mtodo que es main. Cuando a java le decimos que debe ejecutar el cdigo de una clase, busca en dicha clase el mtodo con nombre main y es el mtodo que ejecuta. Para que java entienda el mtodo main, este debe estar declarado de una forma muy concreta, que es la siguiente public static void main (String [ ] args) { ... } Debe ser public. Eso quiere decir que se le puede llamar desde cualquier lado. Debe ser static. Esto quiere decir que se le puede llamar sin necesidad de instanciar la clase (lo veremos ms adelante, no te asustes. Dejmoslo en que hay que ponerlo para que el cdigo nos quede ms simple y porque el main obliga a ponerlo). Es void. Eso quiere decir que ese mtodo no devuelve ningn resultado. El parmetro del mtodo, que va entre parntesis detrs de l, es un array de String (cadenas de texto). Como no lo vamos a usar, de momento lo ignoramos y no detallo exctamente qu quiere decir eso. Baste saber que hay que ponerlo siempre que hagamos un mtodo main en una clase.

SACAR TEXTO POR LA PANTALLA


En java tenemos disponible la clase System que est accesible directamente en cualquier sitio, es decir, podemos usarla sin hacer nada especial siempre que queramos. Esta clase contiene cosas relacionadas con nuestro sistema, con nuestro ordenador. Dentro, entre otras cosas, tiene un atributo out que es pblico. Al ser pblico podemos acceder a l libremente. Para acceder a este atributo debemos indicar que est dentro de System. Eso se hace poniendo System.out. Este atributo System.out esta ligado a la pantalla y es otra clase que a su vez tiene mtodos. Tiene mtodo para poder enviarle cadenas de caracteres que saldrn en pantalla. Los dos mtodos ms usados son print() y println(). Ambos sacan el texto que pongamos entre los parntesis por pantalla, slo que el segundo aade adems un "nueva lnea", de forma que lo

siguiente que escribamos saldr en una lnea nueva. Si ms adelante queremos escribir en la misma lnea, debemos usar print(). El cdigo dentro del main ser entonces System.out.println ("Hola Mundo");

COMPILAMOS EL PROGRAMA
Para compilar usamos el programa javac. Dicho programa est en el subdirectorio bin de donde hayamos instalado java. Es importante para que todo vaya bien que ese directorio bin est en el path de busqueda de ejecutables. Para comprobar si est, probamos a ejecutarlo $ javac c:\> javac Si obtenemos un error del estilo "comando no se reconoce" o "command not found" o similar, es que javac no est en la variable de entorno PATH y debemos ponerlo. $ PATH=$PATH:/directorio_java/bin C:\> set PATH=%PATH%;directorio_java\bin Si la ejecutar javac obtenemos un mensaje de "Usage: javac" y la lista de opciones, es que todo est correcto y podemos compilar nuestro programa. Para compilar el programa, estando en el mismo directorio en el que est el fichero HolaMundo.java escribimos javac HolaMundo.java Si todo va bien, no obtendremos ninguna salida de error y habr aparecido un fichero HolaMundo.class. Este fichero es nuestro programa compilado y lo que se puede ejecutar. Si obtienes algn error, es que hay algo mal en algn sitio. Revisa que has escrito bien el comando javac y el nombre del fichero. Revisa tambin que tu fichero contiene lo mismo (maysculas y minsculas incluidas) que el de este ejemplo.

EJECUTAR EL PROGRAMA
Una vez que tenemos HolaMundo.class, podemos ejecutarlo y ver el resultado. Para ejecutar este HolaMunod.class necesitamos un programa llamado java que est tambin en el bin de donde tengamos instalado java. Si hemos conseguido compilarlo, es que este directorio est en el PATH y no deberamos tener problemas. Si tienes un java ms o menos moderno, bastar con hacer esto estando situados en el directorio donde est el fichero HolaMundo.class $ java HolaMundo Hola Mundo C:\> java HolaMundo Hola Mundo El comando java admite como parmetro el nombre de la clase, no el del fichero. La clase se llama HolaMundo, el fichero se llama HolaMundo.class. Por eso NO HAY QUE PONER .class AL EJECUTAR. Este despiste suele ser habitual en la gente que empieza y llega a dar bastantes quebraderos de cabeza hasta que se cae en la cuenta. Si tienes un java ms antiguo, es posible que no te funcione. Si obtienes un error del estilo "Class Not Found", verifica que ests en el mismo directorio que HolaMundo.class y que has escrito bien las maysculas y minsculas. Si todo est bien y te sigue fallando, no queda ms remedio que liarnos con el CLASSPATH...

CLASSPATH
java busca los ficheros .class en determinados sitios. Las versiones ms antiguas de java los buscan en el directorio en el que est instalado java. Las versiones ms modernas los buscan en los mismos directorios y en el directorio actual. Si ests con un java moderno, java encontrar tu fichero HolaMundo.class y no tendrs problemas. Si ests con un java antiguo, entonces no lo encontrar y te dar el error de que no encuentra la clase HolaMundo. Afortunadamente, java se puede configurar para que busque clases en otros directorios de los de defecto. Hay dos formas de hacerlo.

VARIABLE DE ENTORNO CLASSPATH

Una es por medio por la variable de entorno CLASSPATH. Simplemente debemos definir la variable dicindole en qu directorios estn los ficheros .class. En windows estos directorios van separados por punto y coma. En unix van separados por dos puntos. Podemos dar este path relativo o absoluto. Pongo las dos opciones en cada sistema operativo, elige la que quieras. $ CLASSPATH=. $ CLASSPATH=/home/usuario/mi_proyecto_HolaMundo $ export CLASSPATH C:\> set CLASSAPTH=. C:\> set CLASSPATH="C:\Dcouments and Settings\usuario\mi_proyecto_HolaMundo" Bueno, hay varios detalles que comento por si las moscas. En unix suele ser necesario poner "export CLASSPATH" despus de definir la variable. En unix, cuando se define una variable nueva por primera vez, si queremos que los dems procesos (por ejemplo java cuando lo ejecutemos) la vean, es necesario ejecutar un export. En cuanto a windows, que tiene la costumbre de poner espacios en los nombres de directorio y ficheros, suele ser necesario meterlo todo entre comillas, para que sepa que el comando no termina en el espacio. Una vez hecho esto, deberamos poder ejecutar el programa HolaMundo sin problemas.

OPCION DEL COMANDO JAVA


La otra opcin para definir el CLASSPATH es hacerlo como opcin en la linea de comandos de java. Se hara as $ java -cp . HolaMundo $ java -cp /home/usuario/mi_proyecto_HolaMundo HolaMundo C:\> java -cp . HolaMundo C:\> java -cp "C:\Documents and Settings\usuario\mi_proyecto_HolaMundo" HolaMundo

Bueno, aqu debo advertir que no s seguro si la opcin es -cp o -classpath. Creo que la versin de windows admite las dos formas, pero la de unix slo -cp. O quizs sea segn la versin de java. En fin, si no te va as, prueba a poner -classpath entero. Si usas esta opcin, se ignora el valor de la variable CLASSPATH, as que por norma general y para evitar errores, elige qu forma te gusta ms y usa slo esa. Puedes ir ahora a ver qu son los paquetes en java y cmo hacer un "hola mundo" dentro de un paquete, o bien volver a ver qu tienes que bajarte de java para empezar.

Você também pode gostar