Java es uno de los lenguajes de programación más reconocidos en el mundo del desarrollo de software. Su popularidad no es algo gratuito, ya que es un lenguaje muy versátil con el que puedes desarrollar desde aplicaciones de escritorio, hasta aplicaciones para dispositivos móviles.
El día de hoy te enseñaremos todo sobre el lenguaje de la tacita de café que ha recorrido el mundo entero. Vas a aprender Java para que, como nosotros, también te enamores de este lenguaje.
Instalación de JDK y entorno de desarrollo
El JDK es lo primero que te encuentras cuando vas a instalar Java. Sus siglas, Java Development Kit, explican bien su función: es un paquete de software que requieres si quieres desarrollar aplicaciones en Java. Este paquete incluye el compilador de Java, la máquina virtual o Java virtual machine (JVM, por sus siglas en inglés) y un compendio de herramientas sin las cuales no podrás compilar ni ejecutar programas en Java.
Cómo instalar el JDK
- Descarga el JDK desde el sitio oficial de Oracle.
- Instala el JDK siguiendo las instrucciones específicas para tu sistema operativo.
Debes tener en cuenta que, dependiendo de la versión de Java que quieras instalar y de tu sistema operativo, debes escoger tu JDK. Algunas versiones más recientes del JDK no funcionan en ciertos sistemas operativos, entornos de desarrollo o con ciertas versiones de Java. Esto es importante si quieres aprender Java.
Selección del entorno de desarrollo
Si quieres escribir código y ejecutarlo, necesitas un lugar donde hacerlo. Java es el lenguaje pero no funciona por sí solo, necesita un entorno, denominado entorno de desarrollo integrado o IDE, para poder ejecutar y escribir código. Algunos de los IDE más reconocidos en el caso de aprender Java son:
Para escribir y ejecutar código Java, necesitarás un entorno de desarrollo integrado (IDE). Aquí tienes algunas opciones populares:
- NetBeans: Es un IDE fácil de usar, ideal para principiantes.
- IntelliJ IDEA: Este IDE ofrece potentes herramientas para desarrolladores profesionales.
- Eclipse: Muy popular en la comunidad Java y ampliamente utilizado en la industria.
- JCreator: Ligero y sencillo, ideal para aprender Java sin complicaciones adicionales. Es uno de los más obsoletos pero funcionales.
Clases y objetos
La programación orientada a objetos, en contraposición a la programación estructurada, es un tipo de programación en la que todo se maneja por secciones. La idea de la POO es que puedas utilizar secciones de código para diferentes funcionalidades y en diferentes momentos. Los objetos en este caso son las clases y objetos en sí. Java, al ser un lenguaje orientado a objetos, se relaciona por medio de objetos y clases.
- Clases: Son como la plantilla para crear objetos. En estas se definen los atributos y comportamientos que los objetos que se han creado a partir de la clase tendrán.
- Objetos: Son denominados las instancias de una clase. Cada objeto posee su conjunto de valores para los atributos definidos en la clase.
public class Perro {
// Atributos de la clase Perro
String nombre;
int edad;
// Constructor de la clase Perro
public Perro(String nombre, int edad) {
this.nombre = nombre;
this.edad = edad;
}
// Método ladrar de la clase Perro
public void ladrar() {
System.out.println(nombre + " está ladrando");
}
}
En este caso, String nombre;
y int edad;
son los atributos de la clase Perro. Estos atributos representan las características que todos los objetos de tipo Perro tendrán. En este caso, cada Perro tendrá un nombre
(de tipo String
) y una edad
(de tipo int
).
Mensajes y herencia en Java. Modificadores de acceso
La herencia es una característica super interesante en el proceso de aprender Java, ya que permite crear clases nuevas que están basadas en clases ya existentes, reutilizando el código ya escrito y haciendo más simple su mantenimiento. Tiene relación con lo que te mencionamos anteriormente sobre la POO.
- Mensaje: Envío de una solicitud a un objeto para que ejecute uno de sus métodos. En la herencia, los mensajes son fundamentales porque permiten que las subclases hereden y utilicen los métodos de sus superclases. Esto significa que los objetos de las subclases pueden «recibir mensajes» (llamar métodos) que están definidos en sus superclases.
- Herencia: Permite que una clase herede atributos y métodos de otra clase.
public class Animal {
public void comer() {
System.out.println("El animal está comiendo");
}
}
public class Gato extends Animal {
public void ronronear() {
System.out.println("El gato está ronroneando");
}
}
En este caso:
public class Animal
define una clase pública llamadaAnimal
. Esta clase, al ser pública, puede ser accedida desde cualquier otro lugar del programa.
Estos objetos son denominados modificadores de acceso y controlan la visibilidad y accesibilidad de las clases, métodos y variables. Public no es el único modificador de acceso que existe, también tenemos:
- Public: Se puede acceder desde cualquier otra clase.
- Protected: En este caso se puede acceder desde misma clase, subclases y otras clases del mismo paquete.
- Private: Para este caso solo se puede acceder desde la misma clase. Es bastante común cuando se desean proteger datos delicados.
- Default: En este caso solo son accesibles las clases del mismo paquete.
Modificador | La misma clase | Mismo paquete | Subclase | Otro paquete |
---|---|---|---|---|
private | Sí | No | No | No |
default | Sí | Sí | No | No |
protected | Sí | Sí | Sí/No | No |
public | Sí | Sí | Sí | Sí |
Documentación y comentarios en Java
En el proceso de aprender Java es de gran importancia que aprendas a documentar tu código por medio de los comentarios, ya que muchas veces otros programadores o inclusive tú mismo vas a revisar el código tiempo después y no vas a entender qué fue lo que hiciste.
Muchos programadores no se toman en serio el proceso de documentar, pero es una de esas recomendaciones que le damos mucho a los programadores novatos que están en el proceso de aprender Java, ya que hace parte de las buenas prácticas al aprender a programar.
Existen dos tipos de comentarios en Java: de una sola línea y de varias líneas:
//Aprender Java
// Este es un comentario de una sola línea
/*
* Este es un comentario
* de varias líneas
*/
Estructura y organización del código
Uso de paquetes
Los paquetes, en el proceso de aprender Java, permiten ordenar las clases que estén relacionadas entre sí, en grupos, lo cual coadyuva en la gestión de código y evita conflictos con los nombres, una cosa que, como verás más adelante, es muy común en Java.
Importación de librerías
Las librerías sirven para un sinfín de cosas. Puedes crear las tuyas propias o utilizar las que trae Java por defecto. Algunas de las funcionalidades más destacadas de las librerías son:
- Manipulación de cadenas.
- Se usan en colecciones y estructuras de datos.
- Para entrada y salida de datos.
- Para manejo de fechas y horas.
- Para crear concurrencia y multihilo.
- Para manejo de excepciones.
- Para utilidades de red y conectividad.
Tipos de datos y variables
Datos primitivos y complejos
Los tipos de datos en Java se dividen entre primitivos y complejos:
- Tipos primitivos:
byte
,short
,int
,long
,float
,double
,char
,boolean
. - Tipos complejos:
String
,ArrayList
,Scanner
.
Declaración y uso de variables
Las variables son contenedores que almacenan datos que puedes usar dentro de un programa. Se oponen a las constantes, que también son contenedores, pero fijos, es decir, los datos dentro no pueden ser cambiados, como sí sucede con las variables.
Puedes declarar variables primitivas y complejas del siguiente modo:
//Aprender Java
int edad = 25;
String nombre = "Juan";
Entrada y salida de datos
Impresión de mensajes
Existen diferentes formas de imprimir un mensaje, o, en otras palabras, mostrar la salida de datos. Veamos la diferencia entre cada una:
System.out.print
: Imprime el texto en la consola (es decir, sin mostrar alguna ventana emergente), sin agregar un salto de línea al final, es decir, se imprime una línea tras otra.
//Aprender Java
System.out.print("Hola, ");
System.out.print("mundo");
La salida sería: «Hola, mundo»
System.out.println
: Imprime el texto en la consola, pero en este caso sí se agrega un salto de línea al final, es decir, en cada llamado que se haga aSystem.out.println
se imprimirá texto en una nueva línea.
//Aprender Java
System.out.println("Hola, ");
System.out.println("mundo");
La salida en este caso sería:
«Hola,
mundo»
Lectura de datos
La lectura de datos es el proceso de ingresar datos para que el programa los lea. Esto es denominado entrada de datos y la clase más usada para hacerlo es Scanner:
//Aprender Java
Scanner sc = new Scanner(System.in);
System.out.println("Introduce tu nombre: ");
String nombre = sc.nextLine();
Esto lo que hará es pedirle al usuario que introduzca su nombre y le mostrará un cuadro de texto para que haga el ingreso de los datos. Posteriormente, pasará a guardar la variable para luego usarla. Otras clases usadas para este fin son: BufferedReader e InputStreamReader.
Condicionales y bucles
Condicionales
Los condicionales permiten ejecutar código cuando se dan ciertas condiciones.
- If: Ejecuta un bloque de código si la condición es verdadera.
- If-else: Ejecuta un bloque de código si la condición es verdadera, y otro bloque si es falsa.
- Switch: Selecciona un bloque de código para ejecutar entre múltiples opciones.
//Aprender Java
if (numero > 0) {
System.out.println("El número es positivo");
} else {
System.out.println("El número es negativo");
}
switch (dia) {
case 1:
System.out.println("Lunes");
break;
case 2:
System.out.println("Martes");
break;
// Otros casos
}
Bucles
Son usados para repetir un bloque de código.
- For: Repite un bloque de código un número específico de veces.
- While: Repite un bloque de código, mientras la condición sea verdadera.
- Do-while: Similar al
while
, pero garantiza que el bloque de código se ejecute al menos una vez.
//Aprender Java
for (int i = 0; i < 10; i++) {
System.out.println(i);
}
int j = 0;
while (j < 10) {
System.out.println(j);
j++;
}
int k = 0;
do {
System.out.println(k);
k++;
} while (k < 10);
Métodos y funciones
Un método es una función que está definida dentro de una clase en el contexto de la programación orientada a objetos. Los métodos operan sobre los datos (atributos) de los objetos de la clase y pueden acceder y modificar esos datos. Son bloques de código que realizan una tarea específica.
Así puedes definir un método:
//Aprender Java
public int suma(int a, int b) {
return a + b;
}
Para llamar a un método, usa el nombre del método seguido de paréntesis.
int resultado = suma(5, 3);
En lenguajes como C y Python (fuera del contexto OOP), las funciones son bloques de código independientes que realizan tareas específicas.
Bueno… hasta aquí llegó nuestra guía sobre cómo aprender Java. Pudiste ver, grosso modo, cuáles son los aspectos que debes tener en cuenta si quieres incursionar en este mundillo. Esperamos que te haya sido de gran ayuda y si quieres seguir en el proceso de aprender Java a profundidad, te invitamos a unirte al Bootcamp para Aprender a Programar desde Cero Java que tenemos, en donde aprenderás todo lo necesario sobre Java. Incursiona en un mercado laboral lleno de buenas oportunidades y no esperes más para dar el gran paso. ¡Únete ahora!