Una variable nos proporciona con el nombre de almacenamiento 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 usar. A continuación se muestra la forma básica de una declaración de variable −
data type variable ...] ;
Aquí el tipo de datos es uno de los tipos de datos de Java y la variable es el nombre de la variable. Para declarar más de una variable del tipo especificado, puede usar una lista separada por comas.
Los siguientes son 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 initializationbyte 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 el 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 los 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 usar para variables locales.
-
Las variables locales solo son visibles dentro del método, constructor o bloque declarado.
-
Las variables locales se implementan internamente a nivel de pila.
-
No hay un valor predeterminado para las variables locales, por lo que las variables locales deben declararse y se debe asignar un valor inicial antes del primer uso.
Ejemplo
Aquí, la edad es una variable local. Esto se define dentro del método pupAge () 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:
Salida
Puppy age is: 7
Ejemplo
el Siguiente ejemplo se utiliza la edad sin inicializar, 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:
Salida
Test.java:4:variable number might not have been initializedage = 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 un espacio 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 a los que deben 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 dar 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, la visibilidad de las subclases se puede dar para 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 false y para las referencias a objetos es null. Los valores se pueden asignar durante la declaración o dentro del constructor.
-
Se puede acceder directamente a las variables de instancia llamando al nombre de la variable dentro de la clase. Sin embargo, dentro de los métodos estáticos (cuando se da accesibilidad a las variables de instancia), se deben llamar utilizando el nombre completo. Referencia de objetos.Nombre variable.
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:
Salida
name : Ransikasalary :1000.0
Variables de clase/Estáticas
-
Las variables de clase también conocidas como variables estáticas se declaran con la palabra clave estática 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 aparte de ser declaradas 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 finales 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 las variables de instancia. Para los números, el valor predeterminado es 0; para los booleanos, es false; y para las referencias a objetos, es null. Los valores se pueden asignar durante la declaración o dentro del constructor. Además, se pueden asignar valores en bloques especiales de inicializadores estáticos.
-
Se puede acceder a las variables estáticas llamando con el nombre de clase className.Nombre variable.
-
Cuando se declaran variables de clase como finales estáticas públicas, 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 locales y de instancia.
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:
Salida
Development average salary:1000
Nota: Si las variables son accesibles desde fuera de la clase, la constante debe ser consultado como Empleado.DEPARTAMENTO
¿Qué sigue?
Ya ha utilizado modificadores de acceso (public & private) en este capítulo. El siguiente capítulo explicará en detalle los Modificadores de Acceso y los Modificadores de No Acceso.