1. Iniciación a Java

1.1   Historia

Como lenguaje de programación para computadores, Java se introdujo a finales de 1995. La clave fue la incorporación de un intérprete Java en la versión 2.0 del programa Netscape Navigator, produciendo una verdadera revolución en Internet. Java 1.1 apareció a principios de 1997, mejorando sustancialmente la primera versión del lenguaje. Java 1.2, más tarde rebautizado como Java 2, nació a finales de 1998. Gracias a la comunidad (Java Community Process), Sun ha controlado las especificaciones, el desarrollo y evolución del lenguaje.

Al programar en Java no se parte de cero. Cualquier aplicación que se desarrolle hace uso de un gran número de clases preexistentes. Algunas de ellas las ha podido hacer el propio usuario, otras pueden ser comerciales, pero siempre hay un número muy importante de clases que forman parte del propio lenguaje (el API o Application Programming Interface de Java).

El API de Java contiene un montón de servicios que facilitan el desarrollo de programas en Java. Esta ordenado en paquetes lógicos en función de la tarea para la que ha sido desarrollada y que facilitará al programador cuando esté desarrollando un programa.

1.2   Plataforma de Desarrollo y Ejecución

La plataforma de ejecución de Java no es un lenguaje, sino una plataforma de desarrollo de programas que consta de:

–          Un lenguaje de programación llamado Java, igual que la plataforma.

–          Un conjunto de librerías estándar que se incluyen con la plataforma y que deben existir en cualquier entorno con Java.

–          Estas bibliotecas comprenden: colecciones, swing, acceso a base de datos, Applets, API de red, etc.

–          Un conjunto de herramientas para el desarrollo de programas:

  • Compilador a código intermedio con extensión .class y llamado bytecodes. También incluye el generador de documentación, el depurador de programas en Java, etc.

–          Una máquina virtual que es un entorno de ejecución para poder ejecutar los programas en código de bytes (byteCode).

  • Bytecodes: Es un lenguaje intermedio entre el código fuente y el código máquina. Esto permite la independencia de la plataforma y facilitar su interpretación. A la máquina virtual solo le quedará ajustar estos bytecodes a la máquina donde se esté ejecutando.

La plataforma de Java se puede utilizar desde distintos sistemas operativos, ejecutándose en cada uno de ellos de acuerdo con el hardware correspondiente. Viendo este esquema debemos de recordar el tema cero, donde hablábamos de los compiladores y como transforman código fuente en bytecodes para ser portados a cualquier sistema operativo.

Esquema Plataforma Java

Los pasos para desarrollar un programa y obtener la ejecución de un programa seguiría los pasos vistos en la figura anterior y que describimos a continuación:

A)   Desarrollar el programa fuente

Para desarrollar el programa fuente utilizaremos un entorno de desarrollo que nos permita trabajar con Java. Los archivos fuentes tienen la estructura “nombre.java”, y el nombre de este archivo debe de ser el mismo que el nombre de la clase.

B)   Compilación

El siguiente paso es la compilación del programa utilizando un compilador que nos facilitará el entorno donde estemos desarrollando nuestro programa. Existe una manera para compilar utilizando la línea de comandos con una herramienta llamada javac y escribiendo la siguiente línea: javac nombre.java.

Durante el proceso de compilación se comprueba que lo que se ha escrito es correcto en Java y se traduce a otro lenguaje, denominado código de bytes (bytecode). Si durante la compilación se encuentran errores, el entorno avisará de los problemas detectados y el punto dónde se han encontrado para poder corregirlos. Si en la compilación no se detecta ningún error se genera un fichero .class, con el mismo nombre de la clase. Un ejemplo sería nombre.class.

C)    Ejecución del programa

Tras la compilación se ejecuta el programa y se comprueba si hace lo que se había previsto. Si no es así, volveríamos a ejecutar el mismo proceso, editando el programa fuente, compilando otra vez el fichero y ejecutando el programa.

Para el desarrollo de nuestros programas existen distintos programas comerciales. La compañía Sun, creadora de Java, distribuye gratuitamente el Java(tm) Development Kit (JDK). Se trata de un conjunto de programas y librerías que permiten desarrollar, compilar y ejecutar programas en Java.

Cuando un programador se pone a desarrollar un programa, se dará cuenta de que el mayor tiempo de desarrollo se destina a la detección y corrección de errores. Por ello las herramientas que utilicemos para nuestros desarrollos incorporarán la posibilidad de poner puntos de interrupción en las líneas de nuestro programa, para que cuando ejecutemos la aplicación se detenga justo en ese punto y nos permita hacer el seguimiento línea por línea de lo que va sucediendo en nuestro programa y ver los valores que van tomando nuestras variables (denominado debugger). Existe también una versión reducida del JDK, denominada JRE (Java Runtime Environment) destinada únicamente a ejecutar código Java (no permite compilar).

Los IDEs (Integrated Development Environment), tal y como su nombre indica, son entornos de desarrollo integrados. Estos entornos integrados reducen nuestro tiempo de desarrollo ya que nos facilitan de forma gráfica posibilidades como:

–          Escribir el código Java, compilarlo y ejecutarlo a través de botones en vez de tener que trabajar con sentencias en MsDos.

–          Nos permite realizar un Debug de nuestra aplicación gráficamente frente al JDK que es a través de consola.

–          Incluyen componentes ya desarrollados y nosotros solo tenemos que seleccionarlos, arrastrarlos y utilizarlos en nuestra aplicación.

También podemos destacar algunos inconvenientes como ficheros más pesados que los basados en clases estándar e incompatibilidad de plataformas. Para el desarrollo de los ejercicios de nuestra asignatura utilizaremos el IDE Open Source Eclipse:

www.eclipse.org

2. Introducción a la Programación

2 .1 Estructura de un programa en Java

Un programador debe utilizar de forma inteligente y lógica los elementos que le ofrece el lenguaje de programación para crear un programa que resuelva un problema. Ya vimos las diferentes técnicas en el tema 0 para poder resolver efectivamente un problema.

En el siguiente programa de ejemplo puedes ver un programa muy sencillo escrito en Java. Este programa escribe en la pantalla el texto “Hola mundo”.

/** Programa en Java que escribe un texto en pantalla*/

public class PrimeraAplicacion {

public static void main(String[] args) {

System.out.println(“Hola Mundo”);

}

}

En este ejemplo se pueden ver algunos de los elementos que se van a utilizar siempre que se escribe un programa en Java:

–          Comentario: Siempre debemos poner un comentario para describir qué hace ese programa. El comentario del programa empieza con /** y acaba con */.
También podremos comentar una sola línea usando dos barras //

–          Nombre de Clase: La primera línea del programa después del comentario define una clase que se llama PrimeraAplicacion.
La definición de la clase empieza en el carácter abre llave “{“ y termina en el carácter cierra llave “}”. Todo lo encerrado entre las llaves define ámbito de la clase. Para establecer una simetría con nuestros programas de pseudocódigo este sería el nombre del programa. Dicho nombre tiene que representar claramente cuál es la finalidad.

–          Metodo Principal: A continuación, se escribe el método main (). Todos los programas en Java deben tener un método main (), que se escribe de la misma forma que el del ejemplo. Este método será el punto principal de nuestro programa, sería nuestro inicio de pseudocódigo. Al igual que el nombre de la clase ó programa el método main () viene delimitado por llaves que indica su inicio y final.
Entre los paréntesis del método main encontramos las opciones argumentales de ejecución… es decir, los parámetros o argumentos que se le pueden pasar a nuestro programa en Java a la hora de ejecutarlo. Nuestro método principal, puede o no, poseer argumentos de ejecución

–          Código que imprime por pantalla: Dentro del método main (), en el bloque delimitado por llave de apertura y llave de cierre, existe una única sentencia o instrucción que escribe un texto por pantalla. Este es nuestro “escribir” de pseudocódigo, y escribirá por la pantalla del ordenador el mensaje que reciba como parámetro. Cabe destacar que en java existen dos variantes de este el print y println, la diferencia reside en que este último escribe un salto de línea al final de la cadena.

La estructura general de una clase principal en Java suele ser la siguiente:

/**

Estructura de una clase en Java

*/

public class NombreDeLaClase {

// Atributos de la clase

// Métodos de la clase

// El método main, que indica donde empieza la ejecución

public static void main(String[] args) {

// Variables del método

// Ejecución del método

}

}

En el caso de ser una clase distinta de la clase principal, el método main () no suele aparecer. Se han puesto como comentarios (que empiezan por dos barras) los elementos que suelen componer una clase, que son los siguientes:

–          Atributos de clase: Son las Variables que se utilizan a nivel de clase.

–          Declaración de métodos: Son fragmentos de código que nos permite crear acciones dentro de nuestra clase. La definición de método en términos de programación apareció con la llegada de los lenguajes orientados a objetos, podríamos decir que un método es una función o un procedimiento. La diferencia entre ambos métodos radica en que la función siempre devuelve un resultado (un dato). Sin embargo un procedimiento es un método que no retorna nada.

  • Formalmente:
    • Si el método comienza por un tipo (String, Int, etc…) lo consideraremos función.
    • Si el método comienza por la palabra Void (en inglés “Nulo”) significa que no retorna nada y por tanto lo consideraremos un procedimiento.

–          El método principal Main(): Recuerda que este es el punto de entrada del programa. Un punto de entrada es aquel que es llamado cuando se ejecuta nuestro programa. Por poner un ejemplo, cuando el usuario hace doble click sobre un ejecutable lo primero que ejecutaría sería el método main.

–          Declaración de variables: Se crean objetos de las clases que se han creado. En capítulos posteriores lo veremos esto con detalle, de momento sólo hay que entender que estos objetos o variables se utilizaran a nivel de método.

–          Sentencias: Es la parte que se ejecuta en el programa. Ya se ha visto en el primer ejemplo un programa con una sentencia para escribir un texto en la pantalla. Las sentencias se ejecutan siempre en el orden en el que se escriben y, siempre, una detrás de otra, hasta que se acaba el método main ().

Ejemplo:

Elabore un programa que escriba en pantalla los puestos de clasificación de una carrera de coches. En la primera línea se escribirá “Carrera de coches”. En las siguientes líneas se escribirán los nombres de los clasificados en función del puesto de llegada a meta. De momento estos ejercicios se realizarán en un fichero de texto que será guardado con extensión .java. En pasos siguientes copiaremos estos programas sobre eclipse para ejecutarlos.

public class CarreraDeCoches {

public static void main(String[] args) {

System.out.print1n(“Carrera de coches”);

System.out.print(“Primer puesto: “);
System.out.println(“Alonso”);

System.out.print(“Segundo puesto: “);

System.out.println(“Raikkonen”);

System.out.print(“Tercer puesto: “);

System.out.println(“Hamilton”);

}

}

Como podemos ver hemos hecho uso del método de entrada de nuestro programa para mostrar por pantalla los ganadores de la carrera. Cabe destacar que las instrucciones son ejecutadas en el orden que han sido escritas. Por lo tanto en este ejemplo el programador decidirá quien ha sido el ganador, será tan simple como colocar el nombre del ganador en primer lugar. También hemos usado la función print y println, este programa produciría esta salida por pantalla:

Carrera de coches

Primer puesto: Alonso

Segundo puesto: Raikkonen

Tercer puesto: Hamilton

Aquí os dejo un enlace a un video de introducción a nuestro primer programa en Java, incluye información de instalación del JDK (kit de desarrollo en Java), así como información para la instalación del IDE Eclipse.

Siguiente
Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s