lunes, 26 de enero de 2015

3. Nuestro primer programa en Java


En esta entrega vamos a ver como crear un proyecto en Java, y vamos a comenzar a ver algo de código. Si bien para programar en Java se hace necesario aprender una parte de teoría sobre programación orientada a objetos, vamos a ir explicándolo a partir de las futuras entregas en forma gradual e intercalándolo con prácticas, así de esta manera se hace más fácil aprender la teoría, ya que por experiencia, si plasmamos toda la teoría de programación orientada a objetos de golpe, al lector le resultara muy confusa y la realidad es que la teoría se comprende luego de ejercitarse bastante programando en Java.

Estas leyendo la serie de tutoriales de Java. Lee más acerca de esta serie.


Definiendo el workspace 

Entonces comencemos con la diversión !. El primer paso es abrir Eclipse, veremos el logo de Eclipse y luego de eso nos aparecerá una ventana pidiéndonos que elijamos un "workspace"


El "workspace" será el espacio de trabajo, en donde se guardaran y se cargaran todos los proyectos que hagamos.  Por defecto aparecerá una ruta predeterminada por Eclipse, la cual podemos cambiar si lo deseamos. Si queremos usar una ruta para un workspace, la cual estamos seguros que nunca la necesitaremos cambiar, podemos marcar la casilla "Use this as the default and do not ask again", para que siempre que abramos el eclipse apunte a ese "workspace" y no nos vuelva a mostrar esta ventana. Hacemos click sobre el botón "OK" y finalmente abrirá el Eclipse.

Creando un nuevo proyecto

Una vez abierto nuestro IDE, procederemos a crear un nuevo proyecto, para eso hay que dirigirse a la barra de herramientas, seleccionar "File", "New" y finalmente "Java Project".


En la siguiente ventana pondremos el nombre de proyecto, por ejemplo "HolaMundo", y presionamos el botón "Finish".


Una vez hecho esto tendremos nuestro proyecto creado. En el caso de que solo se muestre la pantalla de bienvenida de eclipse y no vean su proyecto deberán hacer click sobre el botón que se muestra a continuación.



Secciones básicas del IDE de Eclipse

Ahora si, podremos observar nuestro proyecto como una carpeta de color azul la cual indica el nombre del mismo en nuestro explorador de proyectos. ¿Qué es esto de explorador de proyectos?, bueno al abrir eclipse y generar un proyecto, podremos ver una ventana dividida en varias partes como se muestra a continuación. 


A la izquierda podemos ver el explorador de proyectos, en el cual encontraremos todos los archivos de nuestro proyecto, luego esta el editor de código, en donde aparecerá todo el código de la clase que vayamos a editar o programar, y finalmente tenemos la consola, en donde podremos mostrar o pedir que se ingrese texto, y la sección de errores en donde se mostraran todos los errores que tengamos en el proyecto si así fuera el caso.

Hay muchos mas aspectos para contemplar en el IDE de Eclipse, pero por el momento nos interesarán estas 4 partes para poder trabajar. 


Creando la clase principal

El siguiente paso a realizar es crear la clase principal, para crear esta clase nos posicionamos sobre la carpeta src, botón derecho del mouse, "New" y seguido de eso seleccionamos "Class"



En la siguiente ventana que nos aparece, debemos ponerle el nombre a la clase, yo siempre le pongo "main", y seleccionamos la casilla "public static void main(String[] args)" para convertirla en nuestra clase principal. Seguido de esto le damos click al botón "Finish"y se nos creara nuestra clase principal "main" en la cual programaremos. 



Estructura de un programa en Java

Ahora podremos ver que se ha generado la clase, y que en ella hay algo de código, veamos.


Por un lado tenemos la clase main, mas adelante veremos que es una clase, pero por el momento digamos que acá vamos a poder escribir todos los métodos que queramos y también definir atributos.
Por otro lado tenemos al método main que es lo primero que se va a ejecutar al correr el programa. Aquí va a ir toda la lógica del programa, el código, vamos a poder definir variables y poner sentencias de control, bucles, operadores, etc.

Vale aclarar que a partir de ahora a las funciones las llamaremos métodos (de una clase), y a las variables de una clase las llamaremos atributos (de una clase). 


Nuestro primer código en Java

Bien, y ¿cómo muestro algo por pantalla?, en realidad lo que vamos a hacer es mostrar cosas por la consola de Eclipse, para hacer esto, dentro del método main, que será el constructor de nuestra clase (más adelante veremos que es esto), ponemos el siguiente código.


 
public class main {

public static void main(String[] args) {

    System.out.println("Hola mundo");

 }

}

De esta manera mostraremos en la consola el mensaje "Hola mundo", para probar que funciona, le damos click al botón "Run"


O bien en la barra de herramientas seleccionamos "Run" y la opción "Run


O bien presionamos Ctrl+F11 y si no existe ningún error en el proyecto se debería ejecutar el programa y visualizaríamos en la consola el mensaje que ingresamos.


Nota: Java distingue entre mayúsculas y minúsculas, por lo cual no es lo mismo poner "System.out.println("");" que "system.out.println("");", ya que si lo escribimos de la segunda manera Java nos acusará error.

Hasta el momento aprendimos como mostrar un mensaje por pantalla con println, y asumimos que si o si hay que anteponerle System.out ya que sino no funcionará. 


¿Porqué hay que anteponerle System.out?

Aclaración: Esta explicación es válida solo para gente que tiene conocimientos de objetos, ya que de otra manera sería difícil de entender. Para la gente que tenga conocimientos de objetos, no se preocupen, no es nada relevante de entender, y más adelante explicaremos con detalle, por lo cual lo podrán entender sin problemas.

Vamos a explicar brevemente porque tenemos que poner System.out.println(""); y no solo println(); 

Bien, como dijimos anteriormente, Java es un lenguaje orientado a objetos, y trabaja con librerías, por lo cual, lo primero que podemos notar, es que el método println se encuentra en una librería de Java.
Más concretamente en una clase que se llama PrintStream, peroooo ...  


¿Donde entra esta clase PrintStream?, bueno allá vamos. lo primero que hacemos es llamar a la clase System, y dentro de System accedemos al atributo out, el cual esta definido como tipo de la clase PrintStream, de la siguiente manera :
 
public static final PrintStream out

Ahora si, vemos que como tenemos el atributo out como tipo PrintStream, y que dentro de la clase PrintStream se encuentra el método println(); tiene sentido utilizar el println de esta manera
 
System.out.println("Hola mundo");


¿No hay forma de simplificar el código?

Siempre que nos topamos por primera vez con el System.out.prinln(); nos pasa por la cabeza, "cada vez que quiero escribir algo por pantalla ¿tengo que escribir tanto código?!!!!", perderíamos mucho tiempo, y es totalmente fastidioso tener que escribir todo eso siempre, más en el caso de que tengamos que hacer un menú con muchas opciones. Afortunadamente hay un par de soluciones para simplificar esta tarea, una de ellas es utilizando los atajos de Eclipse, uno de ellos es presionar

Ctrl + Barra espaciadora 

Con este atajo llamamos a la herramienta autocompletar de Eclipse, por lo tanto siempre que tengamos que escribir algún tipo de código y presionemos esta combinación de teclas Eclipse nos dará sugerencias sobre que es lo que queremos escribir, entonces, probemos escribiendo dentro del método main, que dijimos que era el constructor de la clase (no importa que no sepan lo que es, grabenselo en la cabeza y cuando lo expliquemos se van a acordar), lo siguiente: syso y seguido de esto presionamos Ctrl + Barra espaciadora ! Ohhh Magiaaa !!!!!! Eclipse hizo todo el trabajo sucio por nosotros !.

Otra opción sin utilizar los atajos de Eclipse es hacer un método dentro de la clase main, al cual le pasemos el parámetro que queremos mostrar por pantalla y este nos lo muestre.

para esto vamos a ver este código:


public class main {
 
 public static void main(String[] args) {  
  println("Hola mundo");  
 }
 
 private static void println(String msg){
  System.out.println(msg);
 }

}

Y vemos como, con simplemente escribir println, llamamos a la función que acabamos de crear y nos muestra el mensaje por consola. En este caso le puse println, pero le podríamos haber puesto de nombre, print, trace, showmsg, o lo que se les ocurra. Ahora, esto de crear un método nos va a traer problemas, ya que, si en vez de pasarle un String al método, intentamos pasarle por ejemplo un entero println(5); Java nos dará error, pero no me voy a extender más con esta entrega, y dejaremos esa parte para otra entrega.

Si quieres puedes descargar el código de ésta entrega haciendo clic acá:




Si estas interesado en el video tutorial de esta entrega podes hacer clic acá.



En la siguiente entrega veremos  otros métodos para escribir por pantalla usando la clase PrintStream y veremos algunas cosillas sobre el manejo de cadenas.


Pablo Ezequiel Jasinski Programador y músico

Actual docente en el área de programación y análisis de sistemas, he empezado desarrollando juegos en Flash y Borland C como freelance. Actualmente orientado a plataformas móviles y webs a través de Java

No hay comentarios :

Publicar un comentario