Constantes en Java

java_base_web

Hola a todos, hoy os explicare como definir constantes en Java. Las constantes son valores que no se modifican durante la ejecución del programa, si definimos una constante y la intentamos modificar durante la ejecución, no nos dejara.

La mayor utilidad de las constantes es definir valores que siempre serán iguales y que en caso de que varíen con el tiempo se pueden cambiar, el mejor ejemplo es el IVA.

En Java, cualquier tipo de dato puede ser una constante, para definir que sea una constante, debemos escribir antes del tipo de dato final, para seguir la convención en java, escribiremos el nombre de la constante en mayúsculas.

Imaginemos que tenemos un programa simple para saber el precio del IVA de un producto, este programa lo tenemos hace tiempo cuando el IVA es de 18 %, cuando subió a 21% solo es necesario cambiar un valor.

En este pequeño ejemplo, parece que daría igual lo anterior, ya que con cambiar un par de cosas seria igual, pero imaginemos que tenemos un programa enorme y que esa constante es utilizada muy a menudo, si cambiara el IVA solo tendríamos que cambiar el valor de IVA y no todos los valores en todo el programa.

Mi consejo es que todo aquello que no cambia pero que puede variar en un futuro, lo hagáis constante. Veamos un ejemplo:

public class PruebaApp {

	public static void main(String[] args) {

		final double IVA = 0.18;
		int producto=300;

		double resultado=producto*IVA;

		System.out.println("El IVA del producto es "+resultado);
	}

}

Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.

Etiquetas

5 comments

  1. Hola, he intentado hacer este ejercicio pero introduciendo yo el precio por teclado con la clase scanner y me pide que inicialice la variable del valor osea que siempre me coje el valor que me exige, me pregunto ¿como puedo hacerlo sin que me pida inicializar la variable?

    es el siguiente:

    import java.util.Scanner;
    class Iva {

    /**
    *INTRODUCIR UN VALOR POR TECLADO Y CALCULAR EL PRECIO SIN EL IVA
    */
    public static void main(String[] args) {

    final double IVA = 21;
    double precio;
    double sinIva = precio-((precio*IVA)/100); ****AQUI ES DONDE ME DICE QUE TENGO QUE INICIALIZAR LA VARIABLE PRECIO Y DARLE UN VALOR,PERO LO QUE QUIERO ES PODER INTRODUCIR UN VALOR POR TECLADO Y QUE OPERE CON DICHO VALOR

    Scanner Teclado = new Scanner (System.in);
    System.out.println(“Introduzca el precio de su producto: “);
    precio = Teclado.nextDouble();

    System.out.println(“Su precio sin iva es : ” + sinIva);

    }

    }

    Muchas gracias por todo

    Un saludo

  2. Claro que se puede, simplemente es cambiar donde pides el valor con teclado, antes de hacer la operacion. Asi mas o menos (te pongo solo el main):

    Scanner teclado = new Scanner (System.in);
    final double IVA = 21;
    double precio;

    System.out.println(“Introduzca el precio de su producto: “);
    precio = teclado.nextDouble();

    double sinIva = precio-((precio*IVA)/100);

    System.out.println(“Su precio sin iva es : ” + sinIva);

    teclado.close();

  3. Una duda por que pones al principio de la variable IVA “final”:

    final double IVA=0.18;

    No habia visto k antes del tipo de variable pusieran esta palabra k significa y para k sirve?

  4. Se usa para indicar que es una constante, es para que no la puedas modificar durante en tiempo de ejecuccion. También se suele usar para valores que no cambian durante el programa.

    Un saludo.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *