Constantes en Java
En un programa, las constantes se utilizan para almacenar datos (valores) –en la memoria de la computadora– que no podrán cambiar durante la ejecución del programa.
Declarar una constante en Java
EJEMPLO { AreaCircunferencia } En Java, para declarar una constante se utiliza la palabra reservada final. Por ejemplo, en el siguiente código, se ha declarado la constante PI:
import java.util.Scanner;
public class AreaCircunferencia
{
public static void main(String[] args)
{
final double PI = 3.141592; // Declaración de una constante
double area, radio;
Scanner teclado = new Scanner(System.in);
System.out.print("Introduzca radio: ");
radio = teclado.nextDouble();
area = PI * radio * radio;
System.out.println("El área de la circunferencia es: " + area);
}
}
Este programa calcula el área de una circunferencia, cuyo radio es introducido por el usuario. Después, muestra dicho área. Al ejecutarlo, en pantalla se podrá ver, por ejemplo:
System.out.printf
EJEMPLO { AreaCircunferencia2 } Para mostrar el resultado con dos cifras decimales, en vez de invocar al método println del objeto System.out, se puede llamar al método printf escribiendo:
System.out.printf("El área de la circunferencia es: %.2f", area);
Fíjese que, para indicar que el valor del área se muestre con dos cifras decimales, se ha escrito el especificador de formato %.2f. Ahora, en la pantalla se verá:
Math.pow y Math.PI
En Java, para elevar un número a una potencia, se puede utilizar el método pow de la clase Math. Así pues, para calcular el valor del área de la circunferencia, se puede escribir:
area = PI * Math.pow(radio, 2);
Por otra parte, la clase Math también proporciona la constante Math.PI, que representa a (π). Por tanto, en el caso de hacer uso de ella, no sería necesario escribir:
final double PI = 3.141592;
El cálculo del área se podría hacer con la siguiente sentencia:
area = Math.PI * Math.pow(radio, 2);
Ahora bien, para no tener que escribir el prefijo Math., antes de la definición de la clase AreaCircunferencia se puede escribir:
import static java.lang.Math.*;
De esta forma, se importan todos (*) los métodos y constantes estáticas (como pow y PI) de la clase Math, que está contenida en el paquete java.lang.
EJEMPLO { AreaCircunferencia } Después de realizar dichos cambios, el código fuente del programa será:
import java.util.Scanner;
import static java.lang.Math.*;
public class AreaCircunferencia
{
public static void main(String[] args)
{
double area, radio;
Scanner teclado = new Scanner(System.in);
System.out.print("Introduzca radio: ");
radio = teclado.nextDouble();
area = PI * pow(radio, 2);
System.out.printf("El área de la circunferencia es: %.2f", area);
}
}
Secuencia de escape \n
EJEMPLO { AreaPerimetro } Siguiendo con el ejemplo anterior, supóngase que, además del área de una cicunferencia –cuyo radio es introducido por el usuario– también se quiere mostrar su perímetro:
Para ello, se podría escribir:
import java.util.Scanner;
import static java.lang.Math.*;
public class AreaPerimetro
{
public static void main(String[] args)
{
double area, perimetro, radio;
Scanner teclado = new Scanner(System.in);
System.out.print("Introduzca radio: ");
radio = teclado.nextDouble();
area = PI * pow(radio, 2);
perimetro = 2 * PI * radio;
System.out.printf("El área de la circunferencia es: %.2f\n", area);
System.out.printf("Su perímetro es: %.2f", perimetro);
}
}
Respecto al código anterior, se han realizado los siguientes cambios:
[1] Se ha declarado la variable perimetro.
[2] Se ha añadido la siguiente instrucción para calcular el valor del perímetro.
perimetro = 2 * PI * radio;
[3] Para mostrar el valor del perímetro, se ha invocado una segunda vez a printf.
System.out.printf("Su perímetro es: %.2f", perimetro);
[4] Se ha escrito la secuencia de escape (\n) después de mostrar el área:
System.out.printf("El área de la circunferencia es: %.2f\n", area);
Existen otras secuencias de escape. En concreto \n mueve el cursor al principio de la línea siguiente. De tal forma que, en este caso, sirve para mostrar el perímetro en la siguiente línea de la pantalla. Para hacer lo mismo, también se podría haber escrito \n al principio de la cadena de control de la llamada que se hace al método printf para mostrar el perímetro de la circunferencia:
System.out.printf("\nSu perímetro es: %.2f", perimetro);