Buenas,
En este tema se tratara sobre las variables y las refundiciones.
Variables.
Para quien no este familiarizado en la programación lo intentare explicar de la mejor manera posible:
Las variables son posiblemente el elemento mas básico de cualquier lenguaje de programación, su función principal es actuar como contenedores de información. Esta información puede ser desde datos simples como un numero o una cadena de caracteres, hasta una compleja estructura de datos y funcionalidades.
Normalmente (y en el caso de Java) al declarar una variable también se especificara el tipo de información que guardara. Esto ultimo esta muy relacionado con los tipos de datos que se explicaron en la anterior publicación.
En java, una variable se puede declarar (decir que existe, no tiene que tener un valor asignado necesariamente), inicializar (darle un valor por primera vez), actualizar su valor y utilizar su valor (llamar el contenido de dicha variable).
Veamos como se hace todo esto en Java:
Sobre la declaración de variables:
Una variable en java siempre tiene 2 elementos: el nombre por el cual se identifica, y, el tipo de dato que guarda. También es posible inicializar la variable a la vez que se declara.
Declaración sin valor
[tipo de dato] [nombre_de_variable];
Por ejemplo:
int num;
Ademas, se puede declarar varias variables a la vez. Sintaxis:
[tipo de dato] [nombreDeVariable], [...], [nombreDeVariable];
Declaración e inicialización a la vez
[tipo de dato] [nombre_de_variable] = [valor];
Por ejemplo:
int num = 7;
Actualizar el valor de una variable o inicializar una variable.
[nombre_de_variable] = [nuevoValor];
Por ejemplo:
num = 7;
Llamar al contenido de una variable
[nombre_de_variable]
Por ejemplo:
El valor se tendrá que usar, por ejemplo, asignárselo a otra variable.
miVariable = num; // Ahora el valor de miVariable es el mismo que num.
Variables constantes
Las variables constantes son un tipo de variables que una vez inicializadas, su valor no puede ser modificado.
Estas variables se declaran con la palabra clave final .
Una buena practica respecto a este tipo de variables es escribir el nombre en mayúsculas: NOMBRE_DE_MI_VARIABLE.
Sintaxis
final [declaración de variable];
Ejemplos
Declaración e inicialización a la vez:
final String VERSION = "1.2.6";
VERSION = "Mi string :)"; // Error al compilar.
Declaración e inicialización por separado:
final String VERSION;
VERSION = "1.2.6";
VERSION = "Mi string :)"; // Error al compilar.
Refundiciones
Es la función que permite pasar un valor de un tipo de dato a otro compatible.
No se puede hacer entre todos los tipos de datos.
Entre los tipos de datos que hemos visto (porque una vez que veamos las clases y objetos también veremos que es posible usar esta característica en diferentes casos), es común para pasar valores entre diferentes tipos de datos numéricos.
Sintaxis
Refundición explicita:
([tipo de dato]) [valor o elemento a refundicionar]
Ejemplos
Para guardar el valor refundicionado en una variable:
int entero = (int) 1.9; // Explicita: Se guardara 1 como valor.
float real = entero; // Implícita: Se guardara 1 como valor (se representa como 1.0).
float real2 = (float) entero; // También funciona, pero, no es necesario.
*Hay refundiciones que se hacen automáticamente (refundiciones implícitas) como por ejemplo la anterior (int a float). Veamos que conversiones o refundiciones se hacen de manera implícita por el sistema:
| De | A | |
|---|---|---|
| byte | short, int, long, float, double | |
| short | int, long, float, double | |
| char | int, long, float, double | |
| int | long, float, double | |
| long | float, double | |
| float | double |
Los mas observadores se habrán fijado que una refundición no sera necesariamente explicita (no hay que declararla necesariamente) en los casos en los que no se pierda información. En el resto de casos si.
Descartando casos fuera de logica como por ejemplo int a boolean.
Ejemplo practico de lo aprendido
Prueba.java
/*Clase principal*/
public class Prueba
{
/*Metodo principal*/
public static void main(String[] args)
{
/*Variables*/
int num1 = 7; // Declarar e inicializar variable.
int num2 = 5; // Declarar e inicializar variable.
final int resultado; // Declarar variable final (El resultado no se podra modificar una vez inicializado).
resultado = num1 + num2; // Inicializar variable con el resultado de la suma entre num1 y num2;
System.out.println(num1 + " + " + num2 + " = " + resultado); // Imprimir resultado usando concatenacion.
String a, b, c; // Declarar las variables a, b y c.
a = b = c = "Valor :)"; // Inicializar las variables a, b y c con el mismo valor.
// Imprimir el valor de las variables a, b y c usando concatenacion.
System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("c = " + c);
/*Refundiciones*/
float numReal = 4.77F; // Declarar e inicializar variable.
double numRealGrande = numReal; // Refundicion inplicita.
int numEntero = (int)numReal; // Refundicion explicita.
// Imprimir el valor de las variables usando concatenacion.
System.out.println("numReal = " + numReal);
System.out.println("numRealGrande = " + numRealGrande);
System.out.println("numEntero = " + numEntero);
System.out.println("numReal en byte: " + (byte)numReal); // Usando refundicion sin necesidad de almacenar el valor en una variable.
}
}
Output de ejecución
7 + 5 = 12
a = Valor :)
b = Valor :)
c = Valor :)
numReal = 4.77
numRealGrande = 4.769999980926514
numEntero = 4
numReal en byte: 4
En el siguiente tema trataremos los arrays y matrices de arrays.