Ir al contenido principal

Java Tip 4: Las variables en Java

Java es un lenguaje de programación orientado a objetos además de ser fuertemente tipado (tipado estático). Es decir, antes de usar una variable ésta debe ser declarada y  asignarle un valor inicial (a excepción de las variables de instancia que se inician al crear la instancia de la clase).

Síntaxis:

Tipo nombreVariable = valorInicial;

Si una variable local esta declarada, pero no tiene algún valor asignado causará un error de compilación (por ejemplo, una excepción de tipo NullPointerException).

Declaración correcta:
/*Los ocho tipos básicos*/

byte Byte = 7; // 8 bits = 1 byte
short corto = 120; // 16 bits = 2 bytes
int entero = new Integer("122");// 32 bits = 4 bytes
long numero = 120000L; // 64 bits = 8 bytes
float flotante = 12.4f; // 32 bits = 4 bytes
double real = new Double("123.88");// 64 bits = 8 bytes
char caracter = 'X'; // 16 bits = 2 bytes
boolean verdadero = new Boolean("true"); // 8 bits = 1 byte

Declaración incorrecta:
int numero;  //esta declarado, pero no tiene un valor inicial

//Si tratamos de usarlo, nos causará un error:  
//error: variable numero might not have been initialized
System.out.println(numero);

El error se puede traducir como: 'la variable numero podría no haber sido inicializada'.

int numero;

numero = new Integer("12");//Correcto

Otra forma incorrecta:

Float flotante; //Correcto, la variable de nombre 'flotante' es de tipo Float
//Sin embargo, no esta inicializada, entonces le asignamos un valor...
flotante = 123.00;
//¡Esto ocasionará otro error!
//El tipo no es el correcto, ese es un valor de tipo double
//Lo correcto es asignarle un valor de tipo float
flotante = 123.00f;

Es común en lenguajes de tipado dinámico como Javascript y/o Python omitir el tipo de variable a usar. Muchas veces no habrá problema en hacerlo, pero en otras ocasiones si que puede causar muchos problemas. Imaginemos un caso en el cual necesitamos leer la edad de los clientes registrados en nuestra base de  datos y tenemos un método para listar pero éste no distingue si le enviamos datos de tipo String, de Integer o de cualquier otro. Provocará graves problemas más adelante.  Es por esta razón que en Java es recomendable siempre iniciar las variables además de escoger un tipo definido con el cual se va a trabajar y así evitar ambigüedades.

Nota: Recordar que las partes de una variable son:

  • Tipo a usar (byte, short, int, long, float, double, char, boolean, etc.).
  • Nombre o referencia (no se permiten dígitos al inicio o palabras reservadas).
  • Valor conforme al tipo usado (un int es un int, un boolean es un boolean, etc.).
  • Dirección en memoria (esto no lo ve el programador).

😀 See yout later!!

Comentarios

Entradas populares de este blog

Clojure para programadores Java (1)

Clojure es un lenguaje de programación similar a Lisp. Corre bajo la JVM (Java Virtual Machine) y emplea la programación funcional y orientada a objetos. El sitio oficial dice: Clojure es un lenguaje de programación robusto, práctico y rápido con un conjunto de características útiles que juntas forman una herramienta simple, coherente y poderosa. Creando el Hola,mundo en Clojure. holamundo.clj (println "Hola, mundo en Clojure!!" ) La extensión de un programa en este lenguaje es .clj Como se puede notar la base es colocar las sentencias entre parentesis. ( operador/funcion var1 var2 varN) Deberás descargar Clojure, tener instalado Maven y Java. A continuación se muestra una forma de obtener el JAR de Clojure para ejecutar nuestros programas. En la Línea final podemos acceder al shel o REPL del lenguaje. $ git clone https ://github.com/clojure/clojure.git $ cd clojure $ mvn -Plocal -Dmaven.test.skip=true package $ java -jar clojure.jar E

Java Tip 3: Clases y objetos

Como lo vimos en el post anterior en Java todo es un objeto y cada clase por defecto pertenece a la clase padre Object . No importa que sea una clase String , Integer , Character , StringBuilder , etc. o una definida por el usuario, ninguna es excepción. class Ticket extends Object {} class Animal extends Object {} class Persona extends Object {} ¿Qué es una clase? Existen muchas definiciones, algunas de ellas son: Plantillas para crear objetos. Conjunto de objetos que comparten una estructura y comportamiento comunes. Tipo definido por el usuario. Combinación de unos datos específicos y de las rutinas que pueden operar con esos datos. Síntaxis de una clase: [ modificador ] class Clase { //Campos o atributos (datos o estado) //Métodos (subrutinas) }   Donde el modificador puede ser public (si es así, la clase debe llamarse de igual forma que el archivo) o default , pero nunca private o protected . Nota: Para que exista un objeto prime

Explorando la Programación Orientada a Aspectos (AOP), con @domix