robot de la enciclopedia para niños

Java (lenguaje de programación) para niños

Enciclopedia para niños
Datos para niños
Java (lenguaje de programación)
Duke (Java mascot) waving.svg
Metodo Astratto.png
Sun Microsystems, Oracle Corporation y James Gosling
https://www.oracle.com/java/ y https://www.java.com/
Información general
Extensiones comunes java, class, jar, jad y jmod
Paradigma Orientado a objetos, imperativo
Apareció en 1995
Diseñado por Sun Microsystems de Oracle Corporation
Última versión estable Java Standard Edition 21 (19 de septiembre de 2023 (1 año, 9 meses y 15 días))
Sistema de tipos Fuerte, estático
Implementaciones OpenJDK, HotSpot y muchas otras
Dialectos Generic Java, Pizza
Influido por C++
Ha influido a C#, J#, JavaScript, PHP, Python
Sistema operativo Multiplataforma
Licencia GNU General Public License

Java es un lenguaje de programación y una plataforma informática que se lanzó por primera vez en 1995. Fue creado por Sun Microsystems, una empresa que luego fue comprada por Oracle Corporation.

El lenguaje Java fue diseñado por James Gosling en Sun Microsystems. Su forma de escribir código es parecida a la de C y C++. Las aplicaciones hechas en Java se convierten en un código especial llamado bytecode. Este bytecode puede funcionar en cualquier máquina virtual Java (JVM), sin importar el tipo de computadora.

Sun Microsystems lanzó las primeras herramientas de Java en 1995. Más tarde, en 2007, Sun decidió que gran parte de su tecnología Java fuera de uso libre bajo la GNU General Public License. Java se hizo muy popular rápidamente y ha mantenido su importancia desde entonces. En 2022, fue el tercer lenguaje de programación más usado según GitHub.

¿Cómo surgió Java?

Archivo:Java get powered
El logotipo original de Java "get powered".

Java nació en 1991 como parte de un proyecto llamado The Green Project en Sun Microsystems. Un equipo de trece personas, liderado por James Gosling, trabajó durante 18 meses para desarrollarlo.

Al principio, el lenguaje se llamó Oak (roble en inglés), por un árbol que Gosling veía desde su oficina. Luego, se cambió a Green y finalmente a Java. Algunos creen que el nombre "Java" viene de las iniciales de sus creadores o de un tipo de café. De hecho, el icono de Java es una taza de café caliente.

Los creadores de Java querían un lenguaje que funcionara en muchos dispositivos. En 1994, el equipo se dio cuenta de que Internet y los navegadores web serían muy importantes. Así que decidieron enfocar Java en la web. Crearon un navegador llamado WebRunner, que luego se conoció como HotJava.

Java y HotJava se presentaron al público el 23 de mayo de 1995. Poco después, Netscape, una empresa importante de navegadores, anunció que sus navegadores usarían Java. La idea principal de Java era: "Escríbelo una vez, ejecútalo en cualquier lugar". Esto significaba que un programa Java podría funcionar en diferentes computadoras sin cambios.

Desde su primera versión, JDK 1.0, Java ha crecido mucho. Se han añadido muchas herramientas y funciones nuevas.

¿Qué versiones de Java existen?

La evolución de Java se organiza a través de un proceso llamado JCP (Java Community Process). Aquí te mostramos algunas de las versiones más importantes:

  • JDK 1.0 (1996): Fue el primer lanzamiento oficial.
  • JDK 1.1 (1997): Se añadieron mejoras importantes, como JavaBeans y JDBC (para conectar con bases de datos).
  • J2SE 1.2 (1998): Se le llamó "Java 2" y se incluyó Swing, una herramienta para crear interfaces gráficas.
  • J2SE 1.3 (2000): Se mejoró la máquina virtual de Java.
  • J2SE 1.4 (2002): Se añadieron funciones para manejar texto y trabajar con imágenes.
  • J2SE 5.0 (2004): Se incluyeron muchas novedades, como las plantillas (genéricos) y las enumeraciones.
  • Java SE 6 (2006): Se mejoró la capacidad de Java para trabajar con otros lenguajes como Python o JavaScript.
  • Java SE 7 (2011): Se planearon nuevas funciones para el lenguaje.
  • Java SE 8 (2014): Se añadió la programación funcional con expresiones Lambda y mejoras en seguridad.
  • Java SE 9 (2017)
  • Java SE 10 (2018)
  • Java SE 11 (2018): Versión con soporte a largo plazo (LTS).
  • Java SE 12 (2019)
  • Java SE 15 (2020)
  • Java SE 16 (2021)
  • Java SE 17 (2021): Otra versión LTS.
  • Java SE 18 (2022)
  • Java SE 19 (2022)
  • Java SE 20 (2023)
  • Java SE 21 (2023): La versión LTS más reciente.

En 2005, se estimaba que había 4.5 millones de programadores de Java y 2500 millones de dispositivos que usaban esta tecnología.

¿Por qué se creó Java?

Java se creó con cinco metas principales:

  • Debería usar la programación orientada a objetos.
  • Debería funcionar en muchos sistemas operativos diferentes.
  • Debería tener herramientas para trabajar en red.
  • Debería ser seguro para ejecutar programas de internet.
  • Debería ser fácil de usar y aprender de otros lenguajes como C++.

Programación orientada a objetos

La programación orientada a objetos (POO) es una forma de organizar el código. En lugar de tener datos y funciones por separado, se combinan en "objetos". Un objeto es como un paquete que contiene información (datos) y acciones que puede realizar (código).

Imagina un objeto "coche". Tendría datos como su color, marca y velocidad. También tendría acciones como "acelerar" o "frenar". Esta forma de organizar ayuda a que los proyectos grandes sean más fáciles de manejar y a reutilizar partes del código en diferentes programas.

Funciona en cualquier lugar

Una de las características más importantes de Java es que los programas escritos en él pueden ejecutarse en casi cualquier tipo de computadora. Esto se resume en la frase: "escribe una vez, ejecuta en cualquier parte".

Para lograr esto, el código Java se convierte en un código intermedio llamado bytecode. Este bytecode no es el lenguaje de una computadora específica, sino un lenguaje que entiende la máquina virtual Java (JVM). La JVM es un programa que se instala en tu computadora y se encarga de traducir y ejecutar el bytecode. Así, el mismo bytecode puede funcionar en Windows, macOS o Linux.

Al principio, los programas Java eran un poco más lentos que los hechos en otros lenguajes. Pero con el tiempo, las máquinas virtuales de Java han mejorado mucho y ahora son mucho más rápidas.

El recolector de basura

Java tiene una función muy útil llamada "recolector de basura". Esta función se encarga de liberar la memoria que ya no usan los programas. Cuando un objeto (una parte del programa) ya no es necesario, el recolector de basura lo elimina automáticamente. Esto ayuda a evitar problemas de memoria y hace que la programación sea más sencilla y segura.

¿Cómo se escribe el código en Java?

La forma de escribir código en Java es similar a C++, pero Java está diseñado para ser completamente orientado a objetos. Esto significa que casi todo en Java es un objeto y pertenece a una "clase" (que es como un plano para crear objetos).

A diferencia de C++, Java no permite algunas cosas como la "sobrecarga de operadores" (usar símbolos como + o - para diferentes acciones) o la "herencia múltiple" para clases (que una clase herede de varias a la vez).

Programas independientes

Un programa independiente en Java es una aplicación que puedes ejecutar directamente en tu computadora.

  • Todo el código Java debe estar dentro de una clase.
  • El archivo de código fuente debe tener el mismo nombre que la clase principal y terminar en `.java`. Por ejemplo, si tu clase se llama `Hola`, el archivo será `Hola.java`.
  • Para que un programa se ejecute, debe tener un método especial llamado `main()`.
  • La palabra `public` significa que otras partes del programa pueden usar esa clase o método.
  • `static` indica que el método pertenece a la clase, no a un objeto específico.
  • `void` significa que el método no devuelve ningún valor.
  • Para mostrar algo en pantalla, se usa `System.out.println()`.
// HolaMundo.java
public class HolaMundo {
    public static void main(String[] args) {
        System.out.println("¡Hola, mundo!");
    }
}

Para ejecutar este programa, primero lo compilas (lo conviertes a bytecode) y luego lo ejecutas con la máquina virtual de Java.

Applets

Las applets eran pequeños programas Java que se podían incrustar en páginas web. Los navegadores web podían descargarlas y ejecutarlas. Sin embargo, con el tiempo, esta tecnología se usó menos y HTML 5 ya no las soporta directamente.

Servlets

Los servlets son programas Java que se ejecutan en un servidor web. Su trabajo es recibir peticiones de los navegadores (clientes) y generar respuestas, como páginas web dinámicas. Son muy importantes para crear sitios web interactivos.

// HolaServlet.java
import java.io.IOException;
import javax.servlet.*;

public class HolaServlet extends GenericServlet
{
    public void service(ServletRequest request, ServletResponse response)
        throws ServletException, IOException
    {
        response.setContentType("text/html");
        java.io.PrintWriter pw = response.getWriter();
        pw.println("¡Hola, mundo desde un Servlet!");
        pw.close();
    }
}

Este ejemplo muestra cómo un servlet puede enviar un mensaje "¡Hola, mundo!" como respuesta a una petición web.

Aplicaciones con interfaz gráfica

Swing es una biblioteca de Java que permite crear ventanas, botones, menús y otros elementos gráficos para programas de escritorio.

 // HolaVentana.java
 import javax.swing.*;

 public class HolaVentana extends JFrame {
     HolaVentana() {
         setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
         add(new JLabel("¡Hola, mundo en una ventana!"));
         pack();
     }

     public static void main(String[] args) {
         new HolaVentana().setVisible(true);
     }
 }

Este código crea una ventana simple con el texto "¡Hola, mundo!".

¿Dónde se usa Java?

Java es muy versátil y se usa en muchos lugares:

En celulares y dispositivos pequeños

Gracias a Java ME (Java Platform, Micro Edition), una versión más pequeña de Java, este lenguaje se usa en teléfonos móviles, tarjetas inteligentes (JavaCard) y otros aparatos electrónicos. Los programas para estos dispositivos se llaman MIDlets.

En la web

Aunque las applets ya no son tan comunes, Java sigue siendo muy popular en la parte del servidor web. Tecnologías como Servlets y JSP permiten crear sitios web dinámicos y complejos. Muchos de los sitios web que visitas usan Java en sus servidores.

En programas de computadora

Muchos programas que usas en tu computadora están hechos en Java. El JRE (Java Runtime Environment) es el software que permite que estos programas funcionen. Bibliotecas como Swing y SWT facilitan la creación de aplicaciones de escritorio con interfaces gráficas atractivas.

Plataformas compatibles

Java funciona en la mayoría de los sistemas operativos. Aunque Microsoft no lo incluye por defecto en Windows, Apple sí lo hace en Mac OS. También es común encontrar Java en distribuciones de GNU/Linux.

¿Cómo se programa en Java?

Expresiones

Las expresiones son combinaciones de elementos que Java evalúa para obtener un resultado. Estos elementos incluyen:

  • Identificadores: Nombres que le das a variables, clases o métodos. Por ejemplo, `miVariable`. Java distingue entre mayúsculas y minúsculas.
  • Palabras clave: Palabras reservadas por Java con un significado especial, como `public`, `class`, `if`, `for`.
  • Literales y constantes: Valores fijos, como números (`10`, `3.14`) o texto (`"Hola"`). Las constantes son variables cuyo valor no cambia.
  • Operadores: Símbolos que realizan operaciones, como `+` (suma), `-` (resta), `*` (multiplicación).
  • Separadores: Símbolos como `{ } , ;` que ayudan a organizar el código.

Operadores

Los operadores realizan acciones sobre los datos. Pueden ser:

  • Unarios: Necesitan un solo dato (ej. `-5`, `!verdadero`).
  • Binarios: Necesitan dos datos (ej. `3 + 4`, `a == b`).

Algunos operadores comunes son:

  • Aritméticos: `+`, `-`, `*`, `/`, `%` (resto de la división).
  • Relacionales: `==` (igual a), `!=` (diferente de), `<` (menor que), `>` (mayor que).
  • Lógicos: `&&` (AND), `||` (OR).

Precedencia de operadores

Cuando hay varios operadores en una expresión, Java sigue un orden para evaluarlos, llamado "precedencia". Por ejemplo, la multiplicación y la división se hacen antes que la suma y la resta. Puedes usar paréntesis `()` para cambiar este orden y asegurarte de que las operaciones se hagan como quieres.

int numero1 = 3;
int numero2 = 4;
int resultado;
resultado = numero1 + numero2 * 3; // Primero 4 * 3 = 12, luego 3 + 12 = 15
System.out.println(resultado); // Imprime 15

resultado = (numero1 + numero2) * 3; // Primero (3 + 4) = 7, luego 7 * 3 = 21
System.out.println(resultado); // Imprime 21

Es buena práctica usar paréntesis para que tu código sea más claro.

Sentencias

Las sentencias son instrucciones que le das a Java para que realice una acción. Cada sentencia termina con un punto y coma `;`. Hay diferentes tipos de sentencias:

  • De asignación: Para dar un valor a una variable (ej. `int edad = 12;`).
  • Condicionales: Para tomar decisiones en el programa (ej. `if`, `else`, `switch`).
  • De bucles: Para repetir acciones varias veces (ej. `while`, `for`).
  • De salto: Para cambiar el flujo del programa (ej. `break`, `continue`, `return`).

Conversión de tipos

A veces necesitas cambiar un tipo de dato a otro. Esto se llama "conversión de tipos" o "casting". Por ejemplo, si tienes un número grande (tipo `long`) y quieres guardarlo en un número más pequeño (tipo `int`), Java puede perder parte de la información.

  • Conversión implícita: Si conviertes un tipo de dato pequeño a uno más grande, Java lo hace automáticamente sin perder información.
  • Conversión explícita (casting): Si conviertes un tipo de dato grande a uno más pequeño, debes indicarlo explícitamente con paréntesis. Esto puede causar pérdida de datos.
int numeroEntero = 32;
byte numeroPequeno;
numeroPequeno = (byte) numeroEntero; // Conversión explícita: (byte) obliga la conversión

int numero1 = 32;
long numeroGrande;
numeroGrande = numero1; // Conversión implícita: int a long es automático

Para convertir texto (tipo `String`) a números, se usan funciones especiales como `Integer.parseInt()` o `Long.parseLong()`. Esto es útil cuando un usuario escribe un número en un campo de texto y necesitas usarlo para cálculos.

¿Quién usa Java?

Muchas empresas y comunidades usan Java:

  • La industria de los teléfonos móviles ha sido muy influenciada por Java.
  • Herramientas de programación como IntelliJ IDEA, Netbeans y Eclipse son muy populares entre los desarrolladores de Java.
  • La fundación Apache crea muchas herramientas y componentes de servidor basados en Java.
  • Grandes empresas como IBM y Oracle tienen muchos productos hechos con Java.
  • Videojuegos famosos como Minecraft y Pokémon GO (que también usa otros lenguajes) fueron programados en Java.

Herramientas de Java

JRE

El JRE (Java Runtime Environment) es lo que necesitas para ejecutar programas Java. Si solo quieres usar aplicaciones Java, el JRE es suficiente.

El JDK (Java Development Kit) es para los programadores. Incluye el JRE, el compilador de Java (para convertir tu código a bytecode) y otras herramientas para crear programas.

Componentes de Java

Java incluye varias partes importantes:

  • Bibliotecas de Java: Son colecciones de código ya hecho que los programadores pueden usar. Incluyen herramientas para manejar datos, seguridad, y para crear interfaces gráficas (como Swing).
  • Máquina virtual de Java (JVM): Es el programa que ejecuta el bytecode de Java en tu computadora.
  • Plugins: Permiten que los navegadores web ejecuten applets (aunque ya no son tan comunes).
  • Java Web Start: Una herramienta para distribuir aplicaciones Java por internet.

API de Java

Las API (Application Program Interface) son conjuntos de herramientas y reglas que los programadores usan para crear software. Java tiene diferentes API para distintos tipos de aplicaciones:

  • Java ME (Micro Edition): Para dispositivos con pocos recursos, como teléfonos móviles.
  • Java SE (Standard Edition): Para computadoras de escritorio y uso general.
  • Java EE (Enterprise Edition): Para aplicaciones grandes y complejas, especialmente en servidores y empresas.

Las API de Java están organizadas en "paquetes", que son grupos de clases e interfaces relacionadas.

Java de código abierto

En 2006, Sun Microsystems decidió liberar gran parte de su plataforma Java bajo la licencia GPL, lo que significa que su código es abierto y cualquiera puede usarlo y modificarlo.

En 2009, Oracle compró Sun Microsystems. Aunque esto generó algunas preocupaciones, Oracle ha seguido manteniendo y desarrollando Java.

Existen también alternativas de código abierto para Java, que ofrecen muchas de las mismas funciones que las versiones comerciales.

Véase también

Kids robot.svg En inglés: Java (programming language) Facts for Kids

kids search engine
Java (lenguaje de programación) para Niños. Enciclopedia Kiddle.