04 - Variables en Java
04 - Variables en Java
La siguiente manera es como se declara una variable en Java. También veremos los tipos de
variables: locales, de instancia y estáticas; con ejemplos.
En Java, todas las variables deben declararse antes de que puedan ser utilizadas.
×El valor almacenado puede cambiarse (variar) a medida que el programa ejecuta sus
instrucciones, de ahí el término “variable“.
Ejemplos:
String mensaje;
class PrimeraVariable
{
public static void main ( String[] args ) {
String mensaje = "Valor inicial";
System.out.println(mensaje);
mensaje = "Valor modificado" ;
System.out.println(mensaje);
}
}
Salida:
Valor inicial
Valor modificado
Los nombres de variables también deben evitar las palabras clave de Java, ya que tienen un
significado especial en el lenguaje Java.
3. Tipos de variables
Hay tres tipos de variables en Java:
Variables locales
Variables de instancia
Variables estáticas
Estas variables se crean cuando el bloque ingresado o método se llama y destruye después
de salir del bloque o cuando la llamada regresa del método.
El alcance de estas variables solo existe dentro del bloque en el que se declara la variable, es
decir, podemos acceder a estas variables solo dentro de ese bloque.
Ejemplo 1:
Salida:
En el programa anterior, la variable age (edad) es una variable local para el método . Si usamos la
variable age fuera del método , el compilador producirá un error como se muestra a continuación
en el programa.
Ejemplo 2:
Salida:
Como las variables de instancia se declaran en una clase, estas variables se crean cuando un
objeto de la clase se crea y se destruye cuando se destruye el objeto.
A diferencia de las variables locales, podemos usar especificadores de acceso para variables
de instancia. Si no especificamos ningún especificador de acceso, se utilizará el especificador
de acceso predeterminado.
Ejemplo:
import java.io.*;
class Points
{
//Estas variables son variables de instancia.
//Estas variables están en una clase y no están dentro de ninguna
función/método
int engPoints;
int mathsPoints;
int phyPoints;
}
class PointsDemo
{
public static void main(String args[])
{ //primer objeto
Points obj1 = new Points();
obj1.engPoints = 50;
obj1.mathsPoints = 80;
obj1.phyPoints = 90;
//segundo objeto
Points obj2 = new Points();
obj2.engPoints = 80;
obj2.mathsPoints = 60;
obj2.phyPoints = 85;
Salida:
Puntos para el primer objeto:
50
80
90
Puntos para el segundo objeto:
80
60
85
Como puede ver en el programa anterior, las variables engPoints, mathsPoints, phyPoints; son
variables de instancia. En caso de que tengamos varios objetos como en el programa anterior,
cada objeto tendrá sus propias copias de variables de instancia. Del resultado anterior se
desprende que cada objeto tendrá su propia copia de la variable de instancia.
Estas variables se declaran de forma similar a las variables de instancia, la diferencia es que
las variables estáticas se declaran utilizando la palabra clave dentro de una clase fuera de
cualquier constructor o bloque de métodos.
A diferencia de las variables de instancia, solo podemos tener una copia de una variable
estática por clase, independientemente de cuántos objetos creemos.
Las variables estáticas se crean al inicio de la ejecución del programa y se destruyen
automáticamente cuando finaliza la ejecución.
Para acceder a variables estáticas, no necesitamos crear ningún objeto de esa clase, simplemente
podemos acceder a la variable como:
nombre_clase.nombre_variable;
Ejemplo:
import java.io.*;
class Emp {
Salida:
class Example
{
static int a; //variable estatica
int b; //variable de instancia
}
5. Creando constantes
La palabra clave “final” es un modificador que se puede usar al declarar variables para evitar
cualquier cambio posterior en los valores que inicialmente se les asignaron.
Esto es útil cuando se almacena un valor fijo en un programa para evitar que se altere
accidentalmente.
Las variables creadas para almacenar valores fijos de esta manera se conocen como
“constantes“, y es convencional nombrar constantes con todos los caracteres en mayúsculas,
para distinguirlas de las variables regulares. Los programas que intentan cambiar un valor
constante no se compilarán, y el compilador javac generará un mensaje de error.
Ejemplo:
class Constants
{
public static void main ( String[] args ) {
//inicializamos tres constantes enteras
final int CONSTANTE1 = 6 ;
final int CONSTANTE2 = 1 ;
final int CONSTANTE3 = 3 ;
total = (td+pat+fg) ;
Salida:
Resultado: 33