martes, 27 de junio de 2017

La estructura de un programa en Java


En este ejemplo de programa se pueden identificar los siguientes elementos del lenguaje Java: comentarios, definiciones de clase, definiciones de método y sentencias.
Comentario: El programa comienza con un comentario. El delimitador de inicio de un comentario es /* y el delimitador de fin de comentario es */. El texto del primer comentario de este ejemplo sería: ‘Este programa escribe el texto “Hola Mundo” en la consola utilizando el método System.out.println()'. Los comentarios son ignorados por el compilador y solo son útiles para el programador. Los comentarios ayudan a explicar aspectos relevantes de un programa y lo hacen más legible. En un comentario se puede escribir todo lo que se desee, el texto puede ser de una o más líneas.

Definición de clase: La primera línea del programa, después del primer comentario. Define una clase que se llama HolaMundo. La definición de la clase comienza por el carácter {y termina con el carácter}. El nombre de la clase lo define el programador.

Definición de método: Después de la definición de clase se escribe la definición del método main(). Todos los programas Java deben incluir un método main(). Este método indica las sentencias a realizar cuando se ejecuta un programa. Un método es una secuencia de sentencias ejecutables. Las sentencias de un método quedan delimitadas por los caracteres { y } que indican el inicio y el fin del método, respectivamente.

Sentencia:Dentro del método main() se incluye una sentencia para mostrar un texto por la consola. Los textos siempre se escriben entre comillas dobles para diferenciarlos de otros elementos del lenguaje. Todas las sentencias de un programa Java deben terminar con el símbolo punto y coma. Este símbolo indica al compilador que ha finalizado una sentencia.

Una vez que el programa se ha editado, es necesario compilarlo y ejecutarlo para comprobar si es correcto. Al finalizar el proceso de compilación, el compilador indica si hay errores en el código Java, dónde se encuentran y el tipo de error que ha detectado: léxico, sintáctico o semántico.

/* Este programa calcula el perímetro de una circunferencia */
public class PerimetroCircunferencia {
public static void main (String[] args) {
// declaración de PI y la variables radio y perimetro
final double PI = 3.1415926536;
double radio = 25.0, perimetro;
perimetro = 2.0*PI*radio;
System.out.print("El perimetro de la circunferencia de radio ");
System.out.print(radio);
System.out.print(" es ");
System.out.print(perimetro);
}
}

En un programa Java las sentencias se ejecutan secuencialmente, una detrás de otra en el orden en que están escritas.

En este ejemplo se puede ver que dentro del método main() se incluye un comentario de una sola línea que comienza con //. Después se declaran las variables PI, radio y perimetro, todas ellas de tipo doublé porque almacenan números reales. PI representa un valor constante, por lo que es necesario utilizar el delimitador final y asignarle el valor 3.1415926536 correspondiente al número pi.

Después de las declaraciones, se asigna el valor 25.0 a la variable radio y se calcula el perímetro. Finalmente, se muestra el resultado del cálculo del perímetro para una circunferencia de radio 25.

En este ejemplo se utilizan variables numéricas de tipo double. Cada variable almacena un número real. La parte entera del número se separa de los decimales con un punto, no con una coma. Esta es una característica de Java que se debe tener en cuenta, de lo contrario, el compilador no entiende que se trata de un número real.

El valor 25.0 almacenado en la variable radio es una magnitud para la que no se indican sus unidades. El programador es responsable de que los cálculos se realicen correctamente y de realizar la conversión de unidades cuando sea necesario.

Para escribir un mensaje por la consola se utilizan los métodos System.out.print() y System.out.println(). Para escribir un mensaje sin saltar a la línea siguiente se utiliza System.out.print(), System.out.println() escribe un mensaje y da un salto de línea.

¿Qué hace el siguiente código Java?
System.out.print("Hola");
System.out.print(" ");
System.out.print("Mundo");

En este ejemplo se escribe el texto “Hola Mundo” en la consola.
Hola Mundo

¿Qué pasaría si se omitiera la segunda línea de código?
System.out.print("Hola");
System.out.print("Mundo");

En este caso se escribiría “HolaMundo” sin el espacio de separación entre las dos palabras.
HolaMundo

Si en vez de utilizar el método System.out.print() se utiliza el método System.out.println(), entonces el mensaje se escribe en dos líneas distintas.
System.out.println("Hola");
System.out.println("Mundo");

En este ejemplo, se escribiría “Hola” y “Mundo” en dos líneas.
Hola
Mundo

Combinando el uso de los métodos System.out.print() y System.out.println() se puede escribir cualquier mensaje en la consola saltando de línea cuando sea necesario. Además, ambos métodos permiten utilizar el operador + para concatenar textos.

El siguiente código Java escribe “Hola Mundo” en la consola.
System.out.print("Hola");
System.out.print(" ");
System.out.print("Mundo");

En este caso se ejecutan tres métodos System.out.print(). Este código se puede simplificar utilizando un solo método System.out.print() y el operador + para concatenar los textos “Hola”, “ ” y “Mundo”.
System.out.print("Hola" + " " + "Mundo");

También se puede escribir directamente el mensaje “Hola Mundo”. El resultado es el mismo y el código es más claro.
System.out.print("Hola Mundo");

Para mostrar por la consola un texto seguido del valor almacenado de una variable se puede ejecutar dos veces el método System.out.print():

System.out.print("El perímetro es ");
System.out.print(perimetro);

Este código se puede simplificar utilizando el operador + para concatenar el texto “El perímetro es ” con el valor almacenado en la variable perimetro.
System.out.print("El perímetro es " + perimetro);

En ambos casos el resultado es el mismo. Por ejemplo, si el valor almacenado en la variable perimetro fuera 157.08 la salida por la consola sería:

El perímetro es 157.08