Variables

Variables: entidades sobre las que actúan los programas.
Ejemplo:
class Count {
    public static void main(String[] args)
        throws java.io.IOException
    {
        int cuenta = 0;

        while (System.in.read() != -1)
            cuenta++;
        System.out.println("La entrada tiene " + cuenta + " caracteres.");
    }
}    
Declarar una variable es decir su nombre y tipo.
int count;
La declaración determina el ámbito de validez (scope)

Tipos de Datos

Todas las variables en Java son de un tipo de datos.
El tipo de una variable determina: Ejemplo:
 int cuenta;
 MIN_VALUE < cuenta < MAX_VALUE
 
Operaciones:
 +, -, * 
etc.
Dos categorías fundamentales:
Tipos primitivos y tipos de referencia

Tipos Primitivos

Contienen un único valor.
Son los siguientes:
Tipo     Tamaño/Formato          Descripción
(Números enteros)
byte     8-bit complemento a 2   [-128, 127]
short   16-bit complemento a 2   [-32768, 32767]
int     32-bit complemento a 2   [-2147483648,2147483647]
long    64-bit complemento a 2   [-9223372036854775808, 9223372036854775807]

(Números en punto flotante)
float   32-bit IEEE 754           min=1.4E-45, max=3.4028235E38]
double  64-bit IEEE 754           min=4.9E-324, max=1.7976931348623157E308

(Otros tipos)
char    16-bit Unicode carácter   Un carácter
boolean true o false              Un valor booleano

Tipos de Referencia

Su valor es una referencia (puntero) al valor representado por la variable.

Asimismo las matrices, las clases y los interfaces son tipos de referencia.


Tipos C no soportados por Java: Punteros, estructuras y uniones

Identificadores

  1. Compuestos de una serie de caracteres del código Unicode (soporte multi-lengua).
  2. No puede ser una palabra reservada o un literal booleano.

    abstract      double         int           static
    boolean       else           interface     super
    break         extends        long          switch
    byte          final          native        synchronized
    case          finally        new           this
    catch         float          null          throw
    char          for            package       throws
    class         goto *         private       transient *
    const *       if             protected     try
    continue      implements     public        void
    default       import         return        volatile
    do            instanceof     short         while
    
    * No usadas actualmente

  3. No puede tener el mismo nombre que otra variable declarada en el mismo ámbito.

Convenio:

Ámbito

Bloque de código dentro del cual una variable es accesible.
Creación/destrucción.
Clasificación de variables
  1. Miembro de clase o instancia (member variable)
    [acceso] [static] [final] [transient] [volatile] type variableName
    acceso:
    1. private visible solo por miembros de la propia clase
    2. protected visible en subclases y clases del mismo paquete
    3. public visible en todas las clases
    4. package-access visible en clases del mismo paquete
    static miembro de la clase (no de una instancia)
    final constante
    transient no forma parte del estado de la clase
    volatile puede ser actualizada de manera asíncrona
  2. Local a un método (puede limitarse su ámbito con llaves {})
  3. Parámetro de un método
  4. Parámetro de un manejador de excepciones

Inicialización

Las variables locales y miembro de una clase pueden ser inicializadas en su declaración. Ejemplo:
int count = 0;

Copyright © Andrés Marín López, Ingeniería Telemática, Univ.Carlos III de Madrid 1997