Una variable nos proporciona un almacenamiento con nombre que nuestros programas pueden manipular. Cada variable en Java tiene un tipo específico, que determina el tamaño y el diseño de la memoria de la variable; El intervalo de valores que se pueden almacenar dentro de esa memoria; Y el conjunto de operaciones que se pueden aplicar a la variable.

Debe declarar todas las variables antes de que puedan utilizarse. A continuación se muestra la forma básica de una declaración de variables:

Aquí el tipo de datos es uno de los tipos de datos de Java y variable es el nombre de la variable. Para declarar más de una variable del tipo especificado, puede utilizar una lista separada por comas.

Los siguientes son ejemplos válidos de declaración de variables e inicialización en Java –

 

Este capítulo explicará varios tipos de variables disponibles en lenguaje Java. Hay tres tipos de variables en Java:

  • Variables locales
  • Variables de instancia
  • Clase / Variables estáticas

Variables locales

  • Las variables locales se declaran en métodos, constructores o bloques.
  • Las variables locales se crean cuando se introduce el método, el constructor o el bloque y la variable se destruye una vez que sale del método, constructor o bloque.
  • Los modificadores de acceso no se pueden utilizar para variables locales.
  • Las variables locales son visibles sólo dentro del método, constructor o bloque declarado.
  • Las variables locales se implementan en el nivel de pila internamente.
  • No existe un valor predeterminado para las variables locales, por lo que se deben declarar las variables locales y asignar un valor inicial antes del primer uso.

Ejemplo

Aquí, la edad es una variable local. Esto se define dentro del método pupEdad () y su alcance se limita sólo a este método.

 

Esto produce el siguiente resultado

Salida:

La edad de puppy es: 7

El ejemplo siguiente usa la edad sin inicializarla, por lo que daría un error en el momento de la compilación.

public class Test {

   public void pupEdad() {

      int age;

      age = age + 7;

      System.out.println(“La edad de puppy es : ” + age);

   }

   public static void main(String args[]) {

      Test test = new Test();

      test.pupEdad();

   }

}

Esto producirá el siguiente error al compilarlo:

Test.java:4:variable number might not have been initialized

age = age + 7;

         ^

1 error

Variables de instancia

  • Las variables de instancia se declaran en una clase, pero fuera de un método, constructor o cualquier bloque.
  • Cuando se asigna un espacio para un objeto en el montón, se crea una ranura para cada valor de variable de instancia.
  • Las variables de instancia se crean cuando se crea un objeto con el uso de la palabra clave ‘new’ y se destruyen cuando se destruye el objeto.
  • Las variables de instancia contienen valores que deben ser referenciados por más de un método, constructor o bloque, o partes esenciales del estado de un objeto que deben estar presentes en toda la clase.
  • Las variables de instancia se pueden declarar en el nivel de clase antes o después del uso.
  • Los modificadores de acceso se pueden dar para variables de ejemplo.
  • Las variables de instancia son visibles para todos los métodos, constructores y bloque en la clase. Normalmente, se recomienda que estas variables sean privadas (nivel de acceso). Sin embargo, la visibilidad para las subclases puede ser dada para estas variables con el uso de modificadores de acceso.
  • Las variables de instancia tienen valores predeterminados. Para números, el valor predeterminado es 0, para Booleanos es falso y para referencias de objeto es nulo. Los valores se pueden asignar durante la declaración o dentro del constructor.
  • Las variables de instancia se pueden acceder directamente llamando al nombre de la variable dentro de la clase. Sin embargo, dentro de los métodos estáticos, deben llamarse utilizando el nombre completo. ObjetoDeReferncia.NombreVariable.

Import java.io. *;

Clase pública Empleado {

    // esta variable de instancia es visible para cualquier clase secundaria.

    Public String nombre;

    // variable de sueldo es visible sólo en la clase Empleado.

    Doble salario privado;

    // La variable de nombre se asigna en el constructor.

    Public Empleado (String empName) {

       Name = empName;

    }

    // Se asigna un valor a la variable de sueldo.

    Public void setSalary (doble empSal) {

       Salario = empSal;

    }

    // Este método imprime los detalles del empleado.

    Public void printEmp () {

       System.out.println (“nombre:” + nombre);

       System.out.println (“salario:” + salario);

    }

    Public static void main (String args []) {

       Employee empOne = nuevo Empleado (“Ransika”);

       EmpOne.setSalary (1000);

       EmpOne.printEmp ();

    }

}

Esto producirá el siguiente resultado:

Salida

Nombre: Ransika

Salario: 1000.0

Variables de clase / static

  • Las variables de clase también conocidas como variables estáticas se declaran con la palabra clave static en una clase, pero fuera de un método, un constructor o un bloque.
  • Sólo habría una copia de cada variable de clase por clase, independientemente de cuántos objetos se creen a partir de ella.
  • Las variables estáticas rara vez se usan aparte de ser declaradas como constantes. Las constantes son variables que se declaran públicas / privadas, finales y estáticas. Las variables constantes nunca cambian de su valor inicial.
  • Las variables estáticas se almacenan en la memoria estática. Es raro utilizar variables estáticas distintas de declaradas finales y utilizadas como constantes públicas o privadas.
  • Las variables estáticas se crean cuando el programa se inicia y se destruye cuando el programa se detiene.
  • La visibilidad es similar a las variables de instancia. Sin embargo, la mayoría de las variables estáticas se declaran públicas ya que deben estar disponibles para los usuarios de la clase.
  • Los valores predeterminados son iguales que las variables de instancia. Para los números, el valor predeterminado es 0; Para los booleanos, es falso; Y para las referencias de objetos, es nulo. Los valores se pueden asignar durante la declaración o dentro del constructor. Además, los valores se pueden asignar en bloques especiales de inicialización estática.
  • Las variables estáticas se pueden acceder llamando con el nombre de clase ClassName.VariableName.
  • Al declarar las variables de clase como public static final, los nombres de las variables (constantes) están todos en mayúsculas. Si las variables estáticas no son públicas y finales, la sintaxis de nomenclatura es la misma que la instancia y las variables locales.

Ejemplo

Import java.io. *;

public class Empleado {

    // variable de salario es una variable estática privada

    Private static double sarlario;

    // DEPARTMENTO es una constante

    Public static final String DEPARTMENTO = “Desarrollo”;

    Public static void main (String args []) {

       Salario = 1000;

       System.out.println (“salario medio de ”+ DEPARTAMENTO +” :” + salario);

    }

}

Esto producirá el siguiente resultado:

Salida

Salario medio de desarrollo: 1000

Nota – Si se accede a las variables desde una clase externa, se debe acceder a la constante como Empleado.DEPARTMENTO

¿Lo que sigue?

Ya ha utilizado modificadores de acceso (públicos y privados) en este capítulo. El siguiente capítulo explicará los modificadores de acceso y los modificadores sin acceso en detalle.