Java es más que un lenguaje de programación es todo un conjunto de elementos para el desarrollo de aplicaciones.

Que consta de: -Un lenguaje de programación: el lenguaje Java, del mismo nombre que la plataforma. -Un conjunto de bibliotecas estándar que incluyen con la plataforma y que deben existir en cualquier entorno con Java (Java Core). Estas bibliotecas comprenden: strings, procesos, entrada y salida, propiedades del sistema, fecha y hora, etc,Applets, API de red, Internacionalización, Seguridad, Componentes, Serialización, JDBC. -Un conjunto de herramientas para el desarrollo de programas. Entre ellas cabe citar el compilador de Java a código de bytes, el generador de documentación, el depurador de programas en Java, etc. -Un entorno de ejecución cuyo principal componente es una máquina virtual para poder ejecutar los programas en código de bytes. Desarrollo de programas en Java • Edición del programa fuente. Es aquel escrito en el lenguaje de programación, el cual se ha editado en algún editor o bien en un editor de texto y se ha guardado con el apellido .java. El nombre que se le ha dado debe ser el mismo que el empleado como nombre de la clase. Una vez escrito el programa, necesita compilarlo utilizando un compilador. En los entornos de desarrollo el compilador viene integrado en ellos, de manera que se dispondrá de un menú para compilar el programa. En el proceso de compilación el compilador comprueba que lo que se ha escrito pertenece al lenguaje de programación Java y lo traduce a otro lenguaje cercano al lenguaje de máquina, denominado código de bytes (bytecode). Si durante la compilación se detectan errores, el compilador avisara los problemas detectados y donde se han encontrados. Al compilar se genera un archivo como nombre.class, con el mismo nombre que la clase que se compila pero con la extensión .class. Los códigos de bytes obtenidos como resultado del proceso de compilación se interpretan utilizando la máquina virtual de Java. Para ello se puede utilizar alguna opción de la barra de herramientas de desarrollo.

Java no es un lenguaje compilado o interpretado. Es las dos cosas a la vez. Primero se compila, y el resultado, los códigos de bytes se interpretan. En Java, primero se compila el programa a un lenguaje, códigos de bytes, muy parecido a un lenguaje de máquina, pero es un lenguaje que ningún microprocesador entiende hasta el momento. Por ello se necesita una máquina virtual de Java que sea capaz de ejecutar lo que indica ese lenguaje de códigos de bytes. A la vez, si se dispone de una máquina virtual en distintas plataformas, el mismo programa se puede ejecutar en tantas máquinas distintas como se desee, sin necesidad de volver a compilar el programa. Por eso su gran ventaja y desventaja: se puede ejecutar en cualquier máquina y sistema operativo, pero para ello se necesita una máquina virtual de Java. De esta forma, con una máquina virtual de Java para distintos equipos, todo el mundo puede ejecutar un mismo programa. Escribir una vez, ejecutar en cualquier lugar

Proceso de desarrollo de un programa
• • Especificación: Es el proceso en el que se decide que va a hacer el programa. En esta etapa se suelen escribir todos los aspectos de las funciones que tiene que hacer el programa, para que se va a usar, como se debe usar, etc. Diseño: En esta fase se toma toda la información que se ha recogido en la fase de especificación y se plantea una solución que permita programarla posteriormente. En esta etapa se decide como se dividirá el programa para facilitar su programación y como los distintos segmentos se unen e interrelacionan. Codificación o Implementación: Aquí se recoge el diseño y la especificación y se escribe como un programa en un lenguaje de programación. Prueba: En esta fase se compila y ejecuta el programa para comprobar si hace exactamente lo indicado en la especificación del mismo. Si el programa no hace todo lo indicado o lo hace de forma diferente, puede deberse a errores de codificación o de diseño. Se deben corregir los errores y volver a repetir el proceso. Mantenimiento: Una vez que se ha probado lo suficiente se puede utilizar el programa para el fin que se desarrolló. Sin embargo ningún programa termina en este punto. Después de puesto en funcionamiento surgen nuevas necesidades, o ampliación de funciones, o errores que no se habían detectado anteriormente, que obligan a modificarlo.

• •

Se debe tener en cuenta cuando se codifique un problema en un lenguaje de programación que:

Legibilidad>corrección>eficiencia
Legibilidad: El programa ha de ser fácil de leer y entender incluso para una persona que no haya participado en el desarrollo del programa. Corrección: Un programa debe hacer lo que tiene que hacer, ni más ni menos. Eficiencia: Se suele medir en tiempo o cantidad de memoria. Sin embargo sólo es importante en muy pocas ocasiones.

Estructura de un programa
Un programa describe como el ordenador debe entender las ordenes que se le quieren dar para que este las ejecute y haga las cosas tal y como están escritas. Un programa no sabe nada de las intenciones del programador. El programa sólo sabe de nombres y valores. Es el programador quien los utiliza de la forma apropiada para conseguir que un programa haga lo que se desea. Analicemos un pequeño programa en java:

/** * Programa en java que escribe un texto en la pantalla. */ public class Hola { public static void main (String[] args) { System.out.println(“Hola a todos.”); } } Todo programa debería comenzar con un comentario que indique que hace. Los tipos de comentarios en Java se pueden colocar: • Empieza por /* y termina */. Este comentario es un comentario de bloque, donde el compilador ignora todo lo que vaya entre el principio y el fin del comentario. Cuando los comentarios son muy extensos en cada línea se agrega el carácter “*” pero solo como un marcador para facilitar su localización. Empieza /** y termina */. Es una particularización del caso anterior. Este tipo de comentario se denomina comentario de documentación. Java posee una herramienta, llamada javadoc, que permite la documentación automática de programas cuando se utiliza este tipo de comentarios. Empieza con //. El comentario empieza con estos caracteres y se extiende hasta el final de la línea.

La primera línea del programa después del comentario define una clase que se llama Hola. La definición de una clase empieza y termina con los caracteres de abre y cierra llave ({}).El nombre de la clase la elige el programador en función de sus necesidades. Luego se escribe el método main(). Todo programa en Java debe contar con un método main().Un método es algo que se ejecuta, por lo que dentro de el entre llaves, se escriben todas las instrucciones que se quiere que realice el programa. En nuestro caso, existe una única instrucción que escribe un texto en pantalla. Los textos se colocan entre comillas para distinguirlos de los otros elementos del programa. Todo sentencia debe terminar con el carácter punto y coma (;), lo que le permite al compilador saber donde termina una sentencia y donde empieza otra. Los identificadores son los nombres que les damos a los elementos que se utilizan en un programa así: • Los nombres de variables y métodos empiezan con minúsculas. Si son palabras compuestas en el caso de variables va todo junto y cuando es un método la segunda palabra empieza con mayúscula. • Los nombres de las clases empiezan con mayúscula si es una palabra compuesta cada palabra empieza con mayúscula. • Los nombres de las constantes se escriben con mayúsculas (toda) si es palabra compuesta se utiliza el guión bajo para separar Utilizando lo anterior construyamos otro programa donde para valores conocidos obtengamos el volumen de un cilindro: datos Pi= 3,14159265, radio = 23,4 y altura = 120,2. /**

* Programa que determina el volumen de un cilindro a partir de una altura y un radio * conocido */ public class VolumenCilindro { public static void main(String[] args) { /* el valor del número Pi*/ final double PI=3.14159265; //definición de una constante real double radio, altura; // definición de variables reales radio= 23.4; //asignación de un valor a la variable altura=120.2; System.out.println(“Datos del Cilindro”); System.out.println(“Radio = ” + radio); System.out.println(“Altura = ” + altura); System.out.println(“El área del cilindro es : ”); System.out.print( PI*radio*altura); } } Han aparecido algunas cosas nuevas como: • • Se ha definido una constante del tipo real (PI) para esto la constante se escribe en mayúsculas y se antepone la palabra final, lo cual indica que es una constante y que nunca cambiara su valor. El termino double indica que la variable es real, así los diferentes tipos de variable son: o short entero con signo entre -32768 y 32767 o int entero con signo entre -2.147.483.648 a 2.147.483.647 o long entero con signo entre -922.117.036.854.775.808 a 922.117.036.854.775.807. o float real de simple precisión +/-3,40282347e+38 a +/-1,4239846e-45 o double real de doble precisión +/-1,79769313486231570e+308 a +/4,94065645841246544e-324 o char caracteres Unicode o bolean verdadero o falso trae o false

Las variables se pueden declarar como pertenecientes a un tipo primitivo o como una referencia a un objeto. Las tipos primitivas son: • Números enteros • Números reales • Caracteres • Booleano Caracteres especiales en Java \b \t \n Retroceso Tabulador Salto de línea

\r Cambio de línea + Concatenación Operadores Siempre que opere enteros el resultado será un entero Matemáticos + Adición - Sustracción * Multiplicación / División % Modulo Incremento y decremento ++ Incrementa el valor en uno -- Decrementa el valor en uno Relaciónales > >= < <= De igualdad = = igual ! = distinto De asignación (para var = expr) = += -= *= /= %= var = expr var += expr var -= expr var *= expr var /= expr var %= expr var= expr var= var+expr var= var-expr var= var*expr var= var/expr var= var%expr

Booleanos Negación (!) Y lógico (&&) O lógico (||) Conversión de tipo

Para convertir un valor de un tipo a otro mayor (que pueda almacenar más valores), El compilador lo hará automáticamente. En cambio si se desea pasar de un tipo mayor a uno menor debe el programador explícitamente realizar la conversión ejemplo: Pasar de grados F a C: gradosenteros = (int) ((gradosf -32)*5/9);// donde el termino (int) transforma a enteros

Clases y Objetos
Un programa utiliza una serie de objetos y normalmente muchos son iguales. La descripción (modelo) de un tipo de dichos objetos es una clase. Una aplicación se compone de una serie de clases, produciendo objetos que interactúan entre si. Una clase se define con la palabra reservada class, seguida del nombre elegido para la clase y un bloque de definición, que se delimita por llaves {}. Dentro de las llaves irán los detalles descriptivos de la clase.