in

Java: tipos de variables


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 rango 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 se puedan utilizar. A continuación se muestra la forma básica de una declaración de variable:

data type variable [ = value][, variable [ = value] ...] ;

Aquí 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.

A continuación se muestran ejemplos válidos de declaración e inicialización de variables en Java:

Ejemplo

int a, b, c;         // Declares three ints, a, b, and c.
int a = 10, b = 10;  // Example of initialization
byte B = 22;         // initializes a byte type variable B.
double pi = 3.14159; // declares and assigns a value of PI.
char a="a";        // the char variable a iis initialized with value 'a'

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

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

Variables locales

  • Las variables locales se declaran en métodos, constructores o bloques.

  • Las variables locales se crean cuando se ingresa el método, constructor o bloque y la variable se destruirá una vez que salga del método, constructor o bloque.

  • Los modificadores de acceso no se pueden utilizar para variables locales.

  • Las variables locales son visibles solo dentro del método, constructor o bloque declarado.

  • Las variables locales se implementan a nivel de pila internamente.

  • No hay un valor predeterminado para las variables locales, por lo que las variables locales deben declararse y debe asignarse un valor inicial antes del primer uso.

Ejemplo

Aquí, la edad es una variable local. Esto se define por dentro cachorro () método y su alcance se limita solo a este método.

public class Test {
   public void pupAge() {
      int age = 0;
      age = age + 7;
      System.out.println("Puppy age is : " + age);
   }

   public static void main(String args[]) {
      Test test = new Test();
      test.pupAge();
   }
}

Esto producirá el siguiente resultado:

Producción

Puppy age is: 7

Ejemplo

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

public class Test {
   public void pupAge() {
      int age;
      age = age + 7;
      System.out.println("Puppy age is : " + age);
   }

   public static void main(String args[]) {
      Test test = new Test();
      test.pupAge();
   }
}

Esto producirá el siguiente error al compilarlo:

Producción

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 ‘nuevo’ y se destruyen cuando se destruye el objeto.

  • Las variables de instancia contienen valores a los que debe hacer referencia 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 de su uso.

  • Se pueden proporcionar modificadores de acceso, por ejemplo, variables.

  • Las variables de instancia son visibles para todos los métodos, constructores y bloques de la clase. Normalmente, se recomienda hacer que estas variables sean privadas (nivel de acceso). Sin embargo, se puede dar visibilidad a las subclases de estas variables con el uso de modificadores de acceso.

  • Las variables de instancia tienen valores predeterminados. Para los números, el valor predeterminado es 0, para los booleanos es falso y para las referencias a objetos es nulo. Los valores se pueden asignar durante la declaración o dentro del constructor.

  • Se puede acceder a las variables de instancia directamente llamando al nombre de la variable dentro de la clase. Sin embargo, dentro de los métodos estáticos (cuando las variables de instancia tienen accesibilidad), deben llamarse utilizando el nombre completo. ObjectReference.VariableName.

Ejemplo

import java.io.*;
public class Employee {

   // this instance variable is visible for any child class.
   public String name;

   // salary  variable is visible in Employee class only.
   private double salary;

   // The name variable is assigned in the constructor.
   public Employee (String empName) {
      name = empName;
   }

   // The salary variable is assigned a value.
   public void setSalary(double empSal) {
      salary = empSal;
   }

   // This method prints the employee details.
   public void printEmp() {
      System.out.println("name  : " + name );
      System.out.println("salary :" + salary);
   }

   public static void main(String args[]) {
      Employee empOne = new Employee("Ransika");
      empOne.setSalary(1000);
      empOne.printEmp();
   }
}

Esto producirá el siguiente resultado:

Producción

name  : Ransika
salary :1000.0

Variables de clase / estáticas

  • 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, constructor o bloque.

  • Solo 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 utilizan más que declararse como constantes. Las constantes son variables que se declaran como 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 las declaradas final y utilizadas como constantes públicas o privadas.

  • Las variables estáticas se crean cuando el programa se inicia y se destruyen 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 los mismos que los de las variables de instancia. Para los números, el valor predeterminado es 0; para los booleanos, es falso; y para referencias a objetos, es nulo. Los valores se pueden asignar durante la declaración o dentro del constructor. Además, se pueden asignar valores en bloques inicializadores estáticos especiales.

  • Se puede acceder a las variables estáticas llamando con el nombre de la clase ClassName.VariableName.

  • Al declarar variables de clase como final estática pública, 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 de las variables de instancia y locales.

Ejemplo

import java.io.*;
public class Employee {

   // salary  variable is a private static variable
   private static double salary;

   // DEPARTMENT is a constant
   public static final String DEPARTMENT = "Development ";

   public static void main(String args[]) {
      salary = 1000;
      System.out.println(DEPARTMENT + "average salary:" + salary);
   }
}

Esto producirá el siguiente resultado:

Producción

Development average salary:1000

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

¿Lo que sigue?

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

Deja una respuesta

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

Método Java String replace () – javatpoint

apple touch icon@2

autenticación: ¿es posible solucionar este problema inusual de inicio de sesión de Instagram?