Variables y tipos de datos en Java – Guía completa con ejemplos
¿Qué es una variable en Java?
Una variable es una ubicación de memoria nombrada que almacena datos durante la ejecución de un programa Java. Cada variable tiene asignado un tipo de dato que especifica el tipo de valor que puede almacenar y la cantidad de memoria requerida.
Las variables en Java se agrupan en tres categorías principales:
- Variables locales – declaradas dentro de un método o bloque.
- Variables de instancia – declaradas en una clase pero fuera de métodos; pertenecen a objetos individuales.
- Variables estáticas – declaradas con la palabra clave
static; pertenecen a la clase misma y se inicializan una vez al iniciar el programa.
Uso de variables: Declaración e inicialización
Para trabajar con una variable, debes:
- Declararla especificando su tipo y nombre.
- Inicializarla asignando un valor.
Declaración de variables
Al declarar una variable, proporcionas su tipo y un nombre único.

Ejemplos de declaración válida:
int a, b, c; float pi; double d; char a;
Inicialización de variables
La inicialización asigna un valor inicial a una variable.

Ejemplos de inicialización válida:
pi = 3.14f; do = 20.22d; a = 'v';
Puedes combinar declaración e inicialización en una sola sentencia:

Ejemplo:
int a = 2, b = 4, c = 6; float pi = 3.14f; double do = 20.22d; char a = 'v';
Tipos de variables
Java distingue tres tipos de variables:
- Variables Locales
- Variables de Instancia
- Variables Estáticas
1) Variables Locales
Declaradas dentro de un método o bloque, existen solo durante la ejecución de ese método.
2) Variables de Instancia
Definidas sin la palabra clave static, están vinculadas a objetos individuales de una clase.
3) Variables Estáticas
Inicializadas una vez al inicio del programa, antes que cualquier variable de instancia. Pertenecen a la clase en lugar de a cualquier instancia.
Ejemplo: Tipos de variables en Java
class Guru99 { static int a = 1; // variable estática int data = 99; // variable de instancia void method() { int b = 90; // variable local } }
Tipos de datos en Java
Los tipos de datos de Java se dividen en dos categorías:
- Tipos primitivos – tipos integrados como int, char, boolean y float.
- Tipos no primitivos – clases, arrays, interfaces y otros objetos.

Tipos de datos primitivos
Java proporciona ocho tipos primitivos, cada uno con tamaño fijo y valor por defecto:
- Tipos enteros –
byte(1 byte),short(2 bytes),int(4 bytes),long(8 bytes) - Tipos de punto flotante –
float(4 bytes),double(8 bytes) - Tipo textual –
char(2 bytes, Unicode) - Tipo lógico –
boolean(1 bit,trueofalse)
| Tipo de Dato | Valor por Defecto | Tamaño |
|---|---|---|
| byte | 0 | 1 byte |
| short | 0 | 2 bytes |
| int | 0 | 4 bytes |
| long | 0L | 8 bytes |
| float | 0.0f | 4 bytes |
| double | 0.0d | 8 bytes |
| boolean | false | 1 bit |
| char | '\u0000' | 2 bytes |
Puntos clave
- Todos los tipos numéricos son con signo (pueden representar valores positivos y negativos).
- Los tamaños de tipos de datos son consistentes entre plataformas gracias a la Especificación del Lenguaje Java.
- El
charde Java usa 2 bytes porque almacena caracteres Unicode, permitiendo soporte completo de internacionalización.
Conversión de tipos y casting
Java permite asignar valores de un tipo a variables de otro tipo mediante dos mecanismos:
- Conversión Implícita (Widening) – asignar un tipo más pequeño a uno más grande (ej.
intalong). Ocurre automáticamente. - Casting Explícito (Narrowing) – asignar un tipo más grande a uno más pequeño (ej.
doubleaint). El programador debe castear explícitamente; de lo contrario, el compilador reporta error para prevenir pérdida accidental de datos.
Ejemplo: Demostrando casting de tipos
Paso 1: Copia el siguiente código en un editor.
class Demo { public static void main(String[] args) { byte x; int a = 270; double b = 128.128; System.out.println("int convertido a byte"); x = (byte) a; System.out.println("a y x " + a + " " + x); System.out.println("double convertido a int"); a = (int) b; System.out.println("b y a " + b + " " + a); System.out.println("\ndouble convertido a byte"); x = (byte) b; System.out.println("b y x " + b + " " + x); } }
Paso 2: Guarda, compila y ejecuta el código.
Salida:
int convertido a byte a y x 270 14 double convertido a int b y a 128.128 128 double convertido a byte b y x 128.128 -128
Java
- Domine variables y tipos de datos primitivos en C#: Guía completa
- Variables, constantes y literales en C: guía completa
- Operadores en C++ explicados: Tipos, ejemplos y programas de muestra
- Variables VHDL explicadas: Ejemplos prácticos y reglas para diseño fiable
- Tipos de variables en Python: Entendiendo y usando tipos de datos
- Variables y Literales en Java: Guía Completa
- Tipos de Datos Primitivos en Java: Guía Completa con Ejemplos
- Entendiendo Java String.charAt(): Sintaxis, tipo de retorno, excepciones y ejemplo práctico
- Dominando Java String.endsWith(): Cómo comprobar sufijos de cadena con ejemplos
- Lectura de archivos en Java con BufferedReader – Guía práctica con ejemplos
- Entendiendo los Tipos de Variables en Java: Guía Completa