Este es el comienzo de una serie de posts sobre conceptos básicos del lenguaje Java. Nos centraremos en Java Standard Edition desde la versión 5.0 en adelante. No es un curso de programación, tampoco es un listado exhaustivo, es más bien un compendio de curiosidades que se nos pueden haber olvidado, o quizá nunca supimos. Comencemos.
Inicialización de atributos y variables
Siempre nos han dicho que es una buena práctica inicializar las variables antes de usarlas. De hecho, lo es, pero no siempre es necesario hacerlo. El compilador de Java inicializa los atributos de una clase, que no han sido previamente inicializados, a su valor por defecto.
Estos son los valores que pone por defecto (tipo/clase: valor por defecto):
- byte: 0
- short: 0
- int: 0
- long: 0L
- float: 0.0f
- double: 0.0d
- char:‘u0000’
- boolean: false
- String (o cualquier objeto): null
Pero las variables locales (variables declaradas dentro de un método) nunca son inicializadas por el compilador a sus valores por defecto.
Restricciones de nombrado
Un nombre de variable/clase puede ser cualquier identificador (salvo palabras reservadas y literales) compuesto por una secuencia «ilimitada» (entendiendo ilimitada como que el lenguaje de programación no pone una restricción explícita) de letras y números Unicode, comenzando por cualquiera de las siguientes:
- una letra
- el símbolo del dolar («$«)
- un guión bajo («_»)
Sin embargo las normas de convención Java no recomiendan usar $, ni _ para comienzos, y el _ usarlo exclusivamente para separar palabras en nombres de constantes.
Palabras reservadas y literales
Si te pregunto ¿cuál de estas palabras son palabras reservadas de Java?
- if
- true
- for
- goto
- select
- const
Sin hacer trampas ¿con cuál de las siguientes opciones te quedarías?
a) goto, select, const
b) if, for, goto, const
c) if, true, for
Probablemente, si programas en java, haciendo memoria sobre las palabras reservadas que usas, tendrás una solución en mente. No te voy a dar la respuesta directamente, sino que voy a dejar que la compruebes tú mismo. También daremos la solución en el próximo post.
Ahora que sabes la respuesta correcta, proseguimos. Existen algunas confusiones con respecto a qué es una palabra reservada y, por esto, también existe confusión sobre qué es un literal. Lo primero que hay que saber es que son excluyentes: un literal no es una palabra reservada, ni una palabra reservada es un literal.
En el próximo post hablaremos de curiosidades sobre palabras reservadas y literales, y otros conceptos interesantes.