Skip to content

1.4 Variables, identificadores, convenciones

Variables

Una variable es una zona en la memoria del computador con un valor que puede ser almacenado para ser usado más tarde en el programa. Las variables vienen determinadas por:

  • un nombre, que permite al programa acceder al valor que contiene en memoria. Debe ser un identificador válido.
  • un tipo de dato, que especifica qué clase de información guarda la variable en esa zona de memoria

  • un rango de valores que puede admitir dicha variable.

Las variables declaradas dentro de un bloque { } son accesibles solo dentro de ese bloque. Una variable local no puede ser declarada como static. Una variable no puede declararse fuera de la clase.

Visibilidad, ámbito o scope de una variable es la parte de código del programa donde la variable es accesible y utilizable. Las variables de un bloque son visibles y existen dentro de dicho bloque. Las funciones miembro de clase podrán acceder a todas las variables miembro de dicha clase pero no a las variables locales de otra función miembro.

Al nombre que le damos a la variable se le llama identificador. Los identificadores permiten nombrar los elementos que se están manejando en un programa. Vamos a ver con más detalle ciertos aspectos sobre los identificadores que debemos tener en cuenta.

Identificadores

Un identificador en Java es una secuencia ilimitada sin espacios de letras y dígitos Unicode, de forma que el primer símbolo de la secuencia puede ser una letra, un símbolo de subrayado (_) o el símbolo dólar ($). Por ejemplo, son válidos los siguientes identificadores:

  • x5
  • ατη
  • NUM_MAX
  • numCuenta

Unicode es un código de caracteres o sistema de codificación, un alfabeto que recoge los caracteres de prácticamente todos los idiomas importantes del mundo. Además, el código Unicode es “compatible” con el código ASCII, ya que para los caracteres del código ASCII, Unicode asigna como código los mismos 8 bits, a los que les añade a la izquierda otros 8 bits todos a cero. La conversión de un carácter ASCII a Unicode es inmediata.

Convenciones

Normas de estilo para nombrar variables

A la hora de nombrar un identificador existen una serie de normas de estilo de uso generalizado que, no siendo obligatorias, se usan en la mayor parte del código Java. Estas reglas para la nomenclatura de variables son las siguientes:

  • Java distingue las mayúsculas de las minúsculas. Por ejemplo, Alumno y alumno son variables diferentes.
  • No se suelen utilizar identificadores que comiencen con $ o _, además el símbolo del dólar, por convenio, no se utiliza nunca.
  • No se puede utilizar el valor booleano (true o false) ni el valor nulo (null).
  • Los identificadores deben ser lo más descriptivos posibles. Es mejor usar palabras completas en vez de abreviaturas crípticas. Así nuestro código será más fácil de leer y comprender. En muchos casos también hará que nuestro código se auto-documente. Por ejemplo, si tenemos que darle el nombre a una variable que almacena los datos de un cliente sería recomendable que la misma se llamara algo así como FicheroClientes o ManejadorCliente, y no algo poco descriptivo como Cl33.

Además de estas restricciones, en la siguiente tabla puedes ver otras convenciones, que no siendo obligatorias, sí son recomendables a la hora de crear identificadores en Java.

Identificador Convención Ejemplo
nombre de variable Comienza por letra minúscula, y si tienen más de una palabra se colocan juntas y el resto comenzando por mayúsculas. A esto se le llama lowerCamelCase. numAlumnos, suma
nombre de constante En letras mayúsculas, separando las palabras con el guión bajo, por convenio el guión bajo no se utiliza en ningún otro sitio TAM_MAX, PI
nombre de una clase Comienza por letra mayúscula, y si tienen más de una palabra se colocan juntas y el resto comenzando por mayúsculas. A esto se le llama upperCamelCase. String, MiTipo
nombre de función Comienza por letra minúscula, y si tienen más de una palabra se colocan juntas y el resto comenzando por mayúsculas. A esto se le llama lowerCamelCase. modificaValor, obtieneValor

Puedes consultar estas y otras convenciones sobre código Java en este enlace.

Palabras reservadas Las palabras reservadas, a veces también llamadas palabras clave o keywords, son secuencias de caracteres formadas con letras ASCII cuyo uso se reserva al lenguaje y, por tanto, no pueden utilizarse para crear identificadores.

Las palabras reservadas en Java son:

1
2
3
4
5
6
7
abstract, continue, for, new, switch, assert, default, 
goto, package, synchronized, boolean, do, if, private, 
this, break, double, implements, protected, throw, byte, 
else, import, public, throws, case, enum, instanceof, return, 
transient, catch, extends, int, short, try, char, final, 
interface, static, void, class, finally, long, strictfp, 
volatile, const, float, native, super, while