Primer vistazo a Java: qué tiene y cómo se inicia
Introducción sencilla a Java: ecosistema, JVM, clases, paquetes, módulos y manejo básico de excepciones — te lo explico así como mi abuelita me enseño.

- Java fue creado por Sun Microsystems, bajo el liderazgo de James Gosling, como un lenguaje de propósito general inspirado en C y C++.
- Es un lenguaje orientado a objetos.
- Independiente de la plataforma.
Ecosistema de Java
- Java Card
- Java ME (Micro Edition)
- Java SE (Standard Edition) (Aquí inicié yo 🐣)
- Java MP (Micro Profile)
- Java EE (Enterprise Edition)
Java es Cross-Platform
Para el propósito de programas Java solo necesitamos escribirlos y compilarlos una sola vez.
Entonces el primer paso es escribir un programa en Java FirstApp:
public class FirstApp {
// Lógica aquí
}
El segundo paso es compilar nuestro programa ▶️⚙️:
En este punto, Java compilará nuestro programa FirstApp y lo convertirá en código binario para que la máquina pueda entenderlo.
A este código también se le conoce como bytecode.
Y el último paso dentro de este ejemplo es el deploy ☁️:
La JVM (Java Virtual Machine) tomará nuestro source code y nos permitirá ejecutarlo en cualquier máquina.
"Escribir una vez, ejecutar en cualquier lugar"
Esta es la filosofía de Java. Así que si escribimos nuestro programa en Windows y lo ejecutamos en Linux o Mac, este va a funcionar, todo gracias a la JVM.
Estructura básica de Java
Java es un lenguaje de programación que podemos iniciar definiéndolo a partir de 3 puntos:
-
clases Las clases, como siempre se nos ha explicado, son moldes en los que vamos a buscar representar esa capa de negocio de la vida real en nuestros programas.
-
paquetes Esta es fácil ajajá. En Java los paquetes simple y sencillamente son cajitas que contienen grupos de clases. Con los paquetes vamos a poder organizar mejor nuestro código.
-
módulos Este bebé de aquí se presentó en la familia Java en
Java 9. Es como elpackagepero con esteroides, ya que agrupa varios paquetes, declara qué paquetes exporta y qué módulos requiere, lo que le da superpoderes para estructurar, encapsular y gestionar dependencias de forma más limpia.
Sintaxis de Java
Nuestro código Java normalmente lo vamos a tener agrupado en clases que contendrán lógica. Una clase puede contener:
Atributos (variables), métodos, código estático, constructores, y hasta clases internas.
-
atributo Los atributos/variables transportan el contenido del dato. Siempre me ha gustado explicarlo como una canasta de basura: la canasta es la variable (
canastaDeBasura) y el contenido (la basura) es el dato. Una variable es un contenedor de datos. -
métodos Los métodos son funciones dentro de la clase que indican lo que nuestros objetos pueden hacer: acciones, cálculos, lógica. Definen el comportamiento del objeto.
-
código estático Cuando deseamos tener código estático en nuestra clase buscamos algo que se ejecute una sola vez, cuando la clase se carga.
-
constructores A diferencia de nuestro tío que es albañil, el constructor en Java busca inicializar valores de la clase y preparar los objetos. Tiene el mismo nombre que la clase y no retorna nada.
-
clases internas Java nos permite tener clases dentro de otras clases; sirven para organizar lógica que solo tiene sentido dentro de la clase principal.
Manejo de excepciones en Java
Todo muy lindo hasta ahora, pero ey... ¿y si esa madre nos empieza a dar errores? ¿Cómo controlamos eso para que no se dañe toda la app?
Java nos ofrece manejar estas vueltas, así que hablemos del Manejo de Excepciones.
En resumidas cuentas, Java nos permite interrumpir el flujo de la aplicación cuando sucede una excepción:
public class LoginSimple {
public static void main(String[] args) {
String user = "wil", pass = "0000";
try { // intentamos validar credenciales
if (!"wil".equals(user) || !"1234".equals(pass))
throw new IllegalArgumentException("Credenciales inválidas");
System.out.println("✅ Login correcto");
} catch (IllegalArgumentException e) { // si falla, manejamos el error
System.out.println("❌ Login falló: " + e.getMessage());
}
}
}
El ejemplo anterior es sencillo y probablemente feo ajajá, eso fácilmente lo hubiéramos dejado más limpio con un método de autenticación. Pero después hablamos de código limpio 😂. Ahorita entendamos la vuelta:
try→ “Voy a abrir esta puerta, pero podría haber algo peligroso detrás.”catch→ “Si pasa algo, no me muero, lo manejo.”
Así funciona en Java: nos preparamos para un posible fallo y seguimos vivos después del error.
Este nuestro punto de partida, vamos a aprender Java sin querer matarnos en el proceso 🚀
Comentarios
Inicia sesión para dejar un comentario
Sin comentarios aún. Sé el primero en compartir tu opinión.
Escrito por
Wilmar Garcia Valderrama
Líder Técnico de Desarrollo en QUIND y Fundador de WillDevp. Apasionado por la arquitectura limpia, microservicios y buenas prácticas de ingeniería.
Artículos relacionados

Excepciones en Java: Cuando las cosas salen mal (y cómo no dejar que se cuele algo)
Aprende a manejar excepciones en Java: try-catch, try-with-resources, excepciones personalizadas y mejores prácticas con ejemplos reales.

Colecciones en Java: Pensando como Algoritmista (sin morir en el intento)
Una guía clara y algorítmica sobre las Colecciones en Java. Aprende a leer enunciados, crear pseudocódigo, hacer test de escritorio y resolver usando List, Set y Map.

Cómo está diseñado Java: Objetos, Clases, Herencia, Polimorfismo e Interfaces (Ejemplo Bancario)
Una explicación clara y cercana de cómo está diseñado Java: clases, objetos, herencia, polimorfismo, interfaces y más. Con ejemplos bancarios fáciles de entender y sin enredos.