Programming

T02-003- Constantes

Enunciado

Una constante es un espacio en la memoria que almacena un valor que no puede cambiar durante la ejecución del programa. Una constante es como una variable, pero que a diferencia de ésta, guarda un valor fijo, que no puede cambiar.

A una constante se le deberá asignar su valor durante la declaración de la misma, pues luego no se podrá realizar ninguna operación de asignación sobre ella (realmente, no hace falta darle valor en la declaración, aunque es lo recomendable, pero sólo se puede hacer una operación de asignación sobre ella). Será un elemento de solo lectura, podremos usar en nuestro programa el valor que contiene, pero no podremos modificarlo.

El valor que almacena una constante no puede cambiar durante la ejecución del programa. 

Las constantes sirven para definir valores que no deben cambiar durante la ejecución de un programa:

  • Porque representan datos que no cambian nunca. Por ejemplo, el número “pi”, que siempre valdrá 3,1416.
  • Porque representan valores que no cambiarán durante la ejecución del programa. Por ejemplo, en un programa de facturación se puede definir una constante llamada IVA y fijarla al 21%. Este valor no cambiará durante la ejecución del programa. Si alguna vez cambia, habría que cambiar el valor en la declaración de la constante, en el código fuente, y volver a compilar.

¿Por qué usar constantes en vez de usar directamente en el código el valor que contienen? 

  • Primero por claridad, siempre será más legible leer la constante pi, que el número 3,1416. O la constante IVA, que 21%.
  • Segundo, porque si alguna vez ese valor tiene que cambiar, solo tendré que cambiar el valor en la declaración de la constante y automáticamente estará cambiado en el resto del código en el que se usa. De otra forma, tendría que cambiar uno a uno todos los usos de dicho valor en mi código.

Sintaxis para definir una constante:

final tipo nombre = valor;

donde:

  • La palabra clave final es la que establece que lo que se está definiendo es una constante. La palabra final indica que el valor que se le asigne en la declaración será su valor final, que se mantendrá inalterable durante todo el programa. 
  • El nombre de la constante debe ir, por convención, todo en mayúscula. Si está formado por varias palabras, éstas irán separadas por _.
  • Si intentamos variar su contenido, el compilador dará un error.

Ejemplos:

final int IVA = 21;
final double PI = 3.1416;
final int EDAD_MINIMA = 0;

Ejercicio:

El ejercicio anterior solicitaba la declaración e inicialicialización de las siguientes variables:

numero de tipo entero.
numeroReal de tipo float.
letra de tipo carácter.
estaLloviendo de tipo booleano.

Los valores de cada una de esas variables será el siguiente.

numero: 18
numeroReal: 3,14
letra: P
estaLloviendo: false

Amplía dicho ejercicio, de manera que se inicialice también la constante PI con el valor 3.14.

El resultado de la aplicación será el que se puede observar en el OUTPUT.

Solución


											
package constantes; public class Constantes { public static void main(String[] args) { int numero; float numeroReal; char letra; boolean estaLloviendo; final double PI = 3.14; numero = 18; numeroReal = 3.14f; letra = 'P'; estaLloviendo = false; System.out.println("El contenido de la variable numero es " + numero); System.out.println("El contenido de la variable numeroReal es " + numeroReal); System.out.println("El contenido de la variable letra es " + letra); System.out.println("El contenido de la variable estaLloviendo es " + estaLloviendo); System.out.println("El contenido de la constante PI es " + PI); } }

Input

Output

El contenido de la variable numero es 18 El contenido de la variable numeroReal es 3.14 El contenido de la variable letra es P El contenido de la variable estaLloviendo es false El contenido de la constante PI es 3.14
El contenido de la variable numero es 18 El contenido de la variable numeroReal es 3.14 El contenido de la variable letra es P El contenido de la variable estaLloviendo es false El contenido de la constante PI es 3.14