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,
Alumnoyalumnoson 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 (
trueofalse) 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
FicheroClientesoManejadorCliente, y no algo poco descriptivo comoCl33.
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: