Apuntes de Java 1: hola mundo

Apuntes personales sobre java... no creo que te interesen :P

Edward Hopper

archivado en: Java / Android / 3 mayo, 2015 / taller:

A muchos programadores front les da cierta pereza Java, que es un lenguaje un tanto pesado donde para hacer un miserable hola mundo hay que tener un montón de cosas instaladas. Sin embargo, aunque no se vaya a picar una sola línea de código en este lenguaje, como es mi caso, creo que es interesante conocerlo por su marco teórico, un punto de partida perfecto para entender los fundamentos de la programación orientada a objetos.

Comienzo por lo tanto una serie sobre el tema a partir de mis apuntes personales, pero antes aviso: soy un intruso en las tierras de java, por lo que no descarto que haya errores en esta entrada y las que siguen. De hecho, no debería ni publicar estos apuntes, pero, bueno, quizás a alguien más le resulten útiles...

1. Instalando el tinglado

A. Introducción: un lenguaje compilado e interpretado

Java es un lenguaje de programación orientado a objetos que puede correr en cualquier plataforma que permita instalar un «intérprete» del lenguaje, desde un móvil a una lavadora de aquí a poco. En programación se dice que un lenguaje es de alto nivel cuando está alejado del lenguaje binario que entienden las máquinas. Para poder desarrollar un lenguaje de alto nivel es necesario «compilarlo», traducirlo, en un segundo momento a un lenguaje de bajo nivel. Java es un lenguaje compilado, pero además es «interpretado», es decir, se necesita que un programa traduzca el código a algo funcional, como ocurre con el HTML que tiene que ser interpretado por un navegador para mostrar una web.

Dicho de otra forma, en Java el código se compila y el resultado (un fichero «escrito» en bytecode) se interpreta por una máquina virtual de Java, la cual sí depende de la plataforma. Para entender esto podemos pensar en cómo trabaja el conocido programa de edición de imágenes Photoshop, el cual tiene unos archivos de trabajo llamados PSD que hay que «compilar» (guardar, exportar) en formatos como BMP o JPG  que ya pueden interpretar otros programas como los visores de imágenes o los navegadores.

Los archivos brutos, sin compilar, sobre los que podemos trabajar, tienen la extensión .java y los que ya pueden ser interpretados llevan la extensión .class. 

B. Entornos de desarrollo: Eclipse

Para trabajar con java hay que instalar unas «herramientas» de desarrollo que se denominan Java Development Kit (JDK), las cuales se pueden descargar desde la página oficial de Java. El Kit incluye:

  1. javac: un compilador de línea de comandos.
  2. la máquina virtual de java.
  3. una herramienta de documentación (javadoc).
  4. una herramienta para empaquetar proyectos (jar).

Sin embargo, es mucho más eficaz trabajar con algún entorno de desarrollo. Los dos mejores son NetBeans de Oracle y Eclipse, ambos gratuitos. Los dos son similares, pero a mí me interesa más el segundo porque permite desarrollar aplicaciones para Android.

La instalación de Eclipse es uno poco más complicada que el habitual siguiente, siguiente, finalizar de Windows. Primero hay que bajarse la versión que corresponda. Se descomprime todo en una carpeta y se pulsa el ejecutable (java.exe), del que conviene crear un acceso directo en el escritorio por comodidad.

A continuación solicita que se defina un «Workspace», un espacio de trabajo. Marcando «Use this as default...» solo hay que indicarlo esta primera vez. Este Workspace es el directorio donde se van a guardar todos los futuros proyectos de Java realizados en Eclipse.

C. Consola

Por último indicar que se puede trabajar con Java desde la consola. Para eso se escribe el código con un editor que sea, como el Sublime o el Notepad, y se guarda con extensión .java. Por ejemplo, "consola.java". Ese archivo se localiza por la consola y se ejecuta con el programa javac.exe:

C:\ruta\src >javac consola.java

Luego para ejecutar el programa:

C:\ruta\src >java consola

2. Hola mundo

Para ir entendiendo cómo funciona la estructura de trabajo de una aplicación en Java podemos hacer un programa que escriba en pantalla un inevitable «Hola Mundo». Algunas cosas de esta entrada no se van a entender, pero da igual. Lo importante es aprender a poner en marcha Eclipse y la consola para poder ir practicando.

Cada aplicación Java es un proyecto. Para crear un proyecto nuevo se selecciona File > New > Java project. A continuación hay que indicar el nombre del proyecto y pulsar Finish.

Ahora, en el directorio donde se ha definido el Workspace aparece una carpeta con el proyecto con todos los elementos de trabajo.

En el subdirectorio /src se guardan todos los archivos de trabajo,  los archivos «fuente»,  es decir los que llevan por extensión .java y, en el subdirectorio /bin, los que están listos para ser interpretados, esto es, los que tienen por extensión .class.

Paquetes y clases

Un proyecto de Java consta de uno o más paquetes (packages), los cuales tienen una o más clases (class). Una aplicación en Java consiste en una o más clases actuando entre sí.

Por lo tanto, lo primero que tenemos que hacer es un paquete, un package, para lo cual se marca File > New > Package (también disponible desde el contextual del nombre del proyecto). Se escribe el nombre del proyecto y dejamos marcada la opción Create package-info, que ya veremos qué es.

Luego creamos nuestra primera clase: new > Class. 

Por convención, los nombres de las clases comienzan en mayúscula y si están formadas por más de una palabra, la segunda comienza también por mayúscula; por lo tanto, en el nombre de esta primera clase podemos escribir «HolaMundo». Además, vamos a dejar marcada la opción «public static void...» en «Which methods stub...».

Ejecutar

Una vez creada la clase, se ha generado por defecto un código similar a este:

package empezando;

public class HolaMundo {

public static void main(String[] args) {

// TODO Auto-generated method stub

}

}

Algunos elementos son ya identificables: en la primera línea se define el package al que pertenece la clase y en la segunda comienza la clase. Todo lo que esté entre los paréntesis formará parte de esta clase. Es lo que se denomina un bloque de instrucciones.

Este primer programa ya estaría listo para ser ejecutado, pero como aún no hace nada visible, vamos a añadir una línea que muestre algo por pantalla. En la línea 6, tras el comentario, podemos escribir:

System.out.println ("hola Mundo");

Si ahora, una vez guardada, se ejecuta la aplicación (pulsando la flecha verde de la barra de herramientas), el resultado se muestra en la consola de la parte inferior.

Bueno, pues con esto termino esta entrada en la que hemos aprendido a crear y ejecutar un proyecto con Eclipse. Ya veremos qué significan todas esas cosas raras que me he dejado por el camino... si es que me aclaro yo :P.

|| Tags: , ,

Este artículo aún no ha sido valorado.

¿Te ha parecido útil o interesante esta entrada?
dormido, valoración 1 nadapensativo, valoración 2 un poco sonrisa, valoración 3 a medias guiño, valoración 4 bastante aplauso, valoración 5 mucho

Tú opinión es muy importante, gracias por compartirla!

4 respuestas a “Apuntes de Java 1: hola mundo

  1. Fran el dijo:

    Muchas gracias Marcos!!! Para los frontenders profanos en Java esto nos viene de perlas…

  2. Odio java a niveles cósmicos. Clases, subclases, imports hasta para respirar…. pero con lo que no he podido nunca ha sido con el tipado estricto. Nunca he podido entender como char[] no es equivalente a String() y viceversa. Alguien dirá que siempre nos queda el cast correspondiente para convertir tipos de datos entre sí, pero opino que es una instrucción que no debería existir. El propio interprete debería ser suficientemente listo como para darse cuenta.

    Te voy a dar la razón en que los conceptos de Programación Orientada a Objetos y herencias y demás se aplican estupendamente. Pero como me dijeron una vez, es dificil escribir mal código en Java, pero es muy fácil escribir buen código en Python. Pa gustos los colores, pero Python R00LZ!!!