En este tema, aprenderás sobre las variables y los tipos de datos en Java. Las variables son fundamentales en cualquier lenguaje de programación, ya que permiten almacenar y manipular datos. Los tipos de datos definen el tipo de información que una variable puede contener.
Contenido
- ¿Qué es una Variable?
- Declaración y Inicialización de Variables
- Tipos de Datos Primitivos
- Tipos de Datos No Primitivos
- Conversión de Tipos de Datos
- Ejemplos Prácticos
- Ejercicios
- ¿Qué es una Variable?
Una variable es un contenedor que almacena datos que pueden ser modificados durante la ejecución de un programa. Cada variable tiene un nombre, un tipo y un valor.
- Declaración y Inicialización de Variables
Declaración
Para declarar una variable en Java, se especifica el tipo de dato seguido del nombre de la variable.
Inicialización
La inicialización es el proceso de asignar un valor a una variable.
Declaración e Inicialización Simultánea
También puedes declarar e inicializar una variable en una sola línea.
- Tipos de Datos Primitivos
Java tiene ocho tipos de datos primitivos:
Tipo | Tamaño | Valor por Defecto | Rango de Valores |
---|---|---|---|
byte | 8 bits | 0 | -128 a 127 |
short | 16 bits | 0 | -32,768 a 32,767 |
int | 32 bits | 0 | -2^31 a 2^31-1 |
long | 64 bits | 0L | -2^63 a 2^63-1 |
float | 32 bits | 0.0f | IEEE 754 |
double | 64 bits | 0.0d | IEEE 754 |
char | 16 bits | '\u0000' | 0 a 65,535 |
boolean | 1 bit | false | true o false |
Ejemplos de Declaración e Inicialización
byte b = 100; short s = 10000; int i = 100000; long l = 100000L; float f = 10.5f; double d = 10.5; char c = 'A'; boolean bool = true;
- Tipos de Datos No Primitivos
Los tipos de datos no primitivos son objetos y pueden ser de cualquier clase definida por el usuario o predefinida en Java. Algunos ejemplos incluyen:
- String
- Arrays
- Classes
- Interfaces
Ejemplo de Declaración e Inicialización
- Conversión de Tipos de Datos
Conversión Implícita (Widening)
Java permite la conversión automática de un tipo de dato más pequeño a uno más grande.
Conversión Explícita (Narrowing)
Para convertir un tipo de dato más grande a uno más pequeño, se debe hacer explícitamente.
- Ejemplos Prácticos
Ejemplo 1: Uso de Variables Primitivas
public class VariablesPrimitivas { public static void main(String[] args) { int edad = 25; double salario = 50000.50; char inicial = 'J'; boolean esEmpleado = true; System.out.println("Edad: " + edad); System.out.println("Salario: " + salario); System.out.println("Inicial: " + inicial); System.out.println("Es empleado: " + esEmpleado); } }
Ejemplo 2: Uso de Variables No Primitivas
public class VariablesNoPrimitivas { public static void main(String[] args) { String nombre = "Juan"; int[] numeros = {1, 2, 3, 4, 5}; System.out.println("Nombre: " + nombre); System.out.print("Números: "); for (int numero : numeros) { System.out.print(numero + " "); } } }
- Ejercicios
Ejercicio 1: Declaración e Inicialización
Declara e inicializa variables de todos los tipos de datos primitivos y no primitivos mencionados.
Ejercicio 2: Conversión de Tipos
Escribe un programa que convierta un int
a long
y luego de long
a int
.
Ejercicio 3: Uso de Variables
Escribe un programa que declare variables para almacenar tu nombre, edad, salario y si eres empleado. Imprime estos valores en la consola.
Soluciones
Solución Ejercicio 1
public class Ejercicio1 { public static void main(String[] args) { byte b = 10; short s = 20; int i = 30; long l = 40L; float f = 50.5f; double d = 60.5; char c = 'A'; boolean bool = true; String str = "Hola"; int[] arr = {1, 2, 3}; System.out.println("byte: " + b); System.out.println("short: " + s); System.out.println("int: " + i); System.out.println("long: " + l); System.out.println("float: " + f); System.out.println("double: " + d); System.out.println("char: " + c); System.out.println("boolean: " + bool); System.out.println("String: " + str); System.out.print("Array: "); for (int num : arr) { System.out.print(num + " "); } } }
Solución Ejercicio 2
public class Ejercicio2 { public static void main(String[] args) { int i = 100; long l = i; // Conversión implícita int i2 = (int) l; // Conversión explícita System.out.println("int: " + i); System.out.println("long: " + l); System.out.println("int después de conversión: " + i2); } }
Solución Ejercicio 3
public class Ejercicio3 { public static void main(String[] args) { String nombre = "Juan"; int edad = 30; double salario = 50000.50; boolean esEmpleado = true; System.out.println("Nombre: " + nombre); System.out.println("Edad: " + edad); System.out.println("Salario: " + salario); System.out.println("Es empleado: " + esEmpleado); } }
Conclusión
En esta sección, has aprendido sobre las variables y los tipos de datos en Java. Ahora sabes cómo declarar e inicializar variables, los diferentes tipos de datos primitivos y no primitivos, y cómo realizar conversiones de tipos de datos. Estos conceptos son fundamentales y te servirán de base para los temas más avanzados que veremos en los siguientes módulos. ¡Sigue practicando y nos vemos en el próximo tema!
Curso de Programación en Java
Módulo 1: Introducción a Java
- Introducción a Java
- Configuración del Entorno de Desarrollo
- Sintaxis y Estructura Básica
- Variables y Tipos de Datos
- Operadores
Módulo 2: Flujo de Control
Módulo 3: Programación Orientada a Objetos
- Introducción a la POO
- Clases y Objetos
- Métodos
- Constructores
- Herencia
- Polimorfismo
- Encapsulamiento
- Abstracción
Módulo 4: Programación Orientada a Objetos Avanzada
Módulo 5: Estructuras de Datos y Colecciones
Módulo 6: Manejo de Excepciones
- Introducción a las Excepciones
- Bloque Try-Catch
- Throw y Throws
- Excepciones Personalizadas
- Bloque Finally
Módulo 7: Entrada/Salida de Archivos
- Lectura de Archivos
- Escritura de Archivos
- Flujos de Archivos
- BufferedReader y BufferedWriter
- Serialización
Módulo 8: Multihilo y Concurrencia
- Introducción al Multihilo
- Creación de Hilos
- Ciclo de Vida de un Hilo
- Sincronización
- Utilidades de Concurrencia
Módulo 9: Redes
- Introducción a las Redes
- Sockets
- ServerSocket
- DatagramSocket y DatagramPacket
- URL y HttpURLConnection