Mi primera aplicación en Java
Primeros Pasos
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.
Antes de crear mi primer programa en Java deberé de asegurarme que tengo en el equipo el siguiente software:
-
Un editor de textos (Por ejemplo, el bloc de notas de Windows, Wim, AM-Notebook, Win32Pad, EditPad Lite, NotePad2,…)
-
El compilador de Java
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 Atom, Sublime y similares.
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.
Siguiendo los pasos que se explican en el artículo Cómo instalar Java podremos tener nuestro entorno preparado para poder desarrollar nuestra primera aplicación Java
Hola Mundo en Java
Ahora que tenemos todo el entorno de desarrollo instalado nos lanzamos a desarrollar, ni más, ni menos, que nuestra primera aplicación Java.
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?.
El código de nuestra primera aplicación Java es el siguiente:
public class MiPrimeraAplicacion {
public static void main (String[] args) {
System.out.println("Hola Mundo");
}
}
El fichero lo guardaremos como MiPrimeraAplicacion.java. Este será nuestro fichero con el código fuente.
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 poner miprimeraaplicacion o MiprimeraAplicacion o MIPRIMERAAPLICACION o … El nombre del fichero deberá de coincidir con el nombre de la clase principal.
public class MiPrimeraAplicacion <--> MiPrimeraAplicacion.java
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.
Uso del compilador javac
El compilador de Java se llama javac (la c es de compilador, claro). Este no deja de ser un programa ejecutable como otro cualquiera.
En el caso de estar en un sistema operativo Windows, el compilador suele estar instalado (si hemos seguido la instalación por defecto) en:
C:\\Program Files\\Java\\jdk1.8.0_51.jdk\\bin
Si estamos trabajando con un MacOS podemos ejecutar el comando.
/usr/libexec/java_home
El cual nos indicará en qué directorio se encuentra instalado Java.
Lo que ya podemos aventurarnos a ejecutar el compilador. Para ello ejecutaremos el programa:
javac
Al ejecutar el compilador veremos por pantalla algo así:
Uff… vaya cantidad de opciones… No te preocupes por ellas, ya que para compilar mi aplicación deberé de poner por consola lo siguiente…
javac MiPrimeraAplicacion.java
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.
Configurando en Path para Java
Para poder ejecutar el compilador en cualquier directorio de máquinas Windows deberemos de insertar el directorio donde se ubica el compilador en la variable de entorno PATH.
Para ello, escribiremos lo siguiente….
SET PATH = %PATH%;C:\\Program Files\\Java\\jdk1.8.0_51.jdk\\bin
Ahora podremos ejecutar el compilador desde cualquier sitio. Así, debería de funcionarnos lo siguiente…
C:\\WORK\\Ejemplos1\\javac MiPrimeraAplicacion.java
Compilando mi primera aplicación Java
Si hemos compilado de forma correcta nuestro programa, simplemente la respuesta por pantalla será la siguiente:
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…
Esto es que el nombre de la clase y del fichero no existe. Múltiples errores se nos pueden producir.
Ejecutando mi aplicación
Una vez que hemos ejecutado correctamente la compilación, sorpresa, no obtenemos un fichero ejecutable, es decir, un .exe o similar. Si no que obtenemos un fichero .class. En este caso obtendremos un fichero MiPrimeraAplicacion.class.
Java es un lenguaje multiplataforma que está construido bajo el principio de “write once, run anywhere”. 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.
Revisemos algún concepto sobre compiladores. En un proceso de compilación normal seguimos los siguientes pasos:
Esto nos viene a decir que si yo compilo un programa, por ejemplo, en C, en mi máquina Windows 8.1 sobre una plataforma Intel. 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. ¿Qué hace Java para que eso pueda hacerse?.
Java, más concreto, en 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 bytecodes. Este código no es dependiente ni del sistema operativo ni de la máquina en el cual lo ejecutamos.
En un segundo paso, un interprete, ejecutará dichos bytecodes 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…
Centrándonos, nuevamente, en nuestra aplicación, encontraremos un fichero MiPrimeraAplicacion.class que será el fichero con los bytecodes.
El programa que va a ejecutar dichos bytecodes es java. Este programa está en el mismo directorio en el que estaba el compilador.
Volvamos a arriesgarnos y ejecutemos el compilador. Recordad que al tener el directorio en la variable de entorno PATH podremos estar en cualquier directorio.
java
Este, tiene más opciones que el compilador…
Para ejecutar nuestra aplicación escribiremos
java MiPrimeraAplicacion
Ahhhhhhhhhhhhhhh………… ya me lo he cargado … Exception in thread “main” java.lang.NoClassDefFoundError ¡y yo con estos pelos!
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.
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.
set CLASSPATH=.
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 JDK Installation for Microsoft Windows . Todo lo que siempre quisiste saber sobre la variable CLASSPATH y nunca te atreviste a preguntar. :-)
Ahora, ya si que podremos ejecutar nuestra aplicación. Al fin, el resultado esperado…
- Anterior
- Siguiente