¿Qué es Java?, Guía rápida para principiantes del lenguaje de programación Java

Sí, ¡Vamos a aprender Java! Java es un lenguaje de programación orientado a objetos que se basa en el concepto de Sistemas de programación orientada a objetos (OOPS). Todo en Java es sobre objetos. Si obtienes la esencia de los objetos, Java es simple y agradable como comer tu comida favorita.

Relacionados: Cursos Java / Libros Java / Frameworks Java / Herramientas Java / Análisis Java 2020 / James Gosling

¿Qué es Java?

Java es un lenguaje de programación basado en clases y orientado a objetos, diseñado para tener la menor cantidad de dependencias de implementación posibles.

Su objetivo es, permitir que los desarrolladores de aplicaciones escriban el código una sola vez y que ese código pueda se ejecutado en cualquier lugar, esto es lo que denominan WORA (Write once, run anywhere? / Escribe una vez, corre en cualquier lugar).

Esto significa que el código compilado de Java puede ejecutarse en cualquier plataforma que admita Java sin la necesidad de volver a ser compilado.

Además, una vez que Java es combinado junto a otras muchas tecnologías como Spring, node js, Android, Hadoop, J2EE, etc. nos permite crear aplicaciones completas, robustas, escalables, portátiles y distribuidas.
Java también promueve la integración continua y el control del código, a través de pruebas unitarias, utilizando herramientas como Selenium.

¿Por qué aprender Java?

Bien, ¿Por qué deberías aprender Java? Después de todo, hay tantos lenguajes de programación como comidas para elegir.. Java es como la variedad de su comida favorita que es sabrosa (fácil de codificar) y saludable (segura y robusta).

Además del hecho de que Java se encuentra entre los principales lenguajes de programación de 2020 y tal vez lo seguirá siendo durante al menos una década, ¡Java lo ha logrado en casi todos los dominios que se te ocurran!
Como Java es seguro y multiproceso, es perfecto para los servicios de gestión de transacciones y banca. Las tiendas de comercio electrónico y el software de facturación tienen su lógica escrita en frameworks basados ​​en Core Java.

El sistema operativo móvil como Android utiliza la API de Java. Los algoritmos del mercado de valores se basan en Java. Y más recientemente, todos los grandes datos: los enormes datos se tratan de forma sencilla mediante Java.
De hecho, el framework MapReduce de Hadoop está escrito en Java. Java junto con otros frameworks como Spring crea una combinación robusta para ordenar las dependencias de implementación y escribir aplicaciones del lado del servidor en los dominios de Finanzas y TI.

? Quizás te interese: mejores libros de programación >> programas para desarrolladores >> mejores lenguajes de programación >> mejores auriculares para programadores >> ratones verticales para trabajar >> componentes de PC para programadores >> mejores regalos 1 – ?

¿Qué es Java?Historia de JavaCaracterísticas de JavaQué es la Plataforma JavaComponentes de JavaComenzar con Java

¿Qué es el IDE en Java?

Java IDE es una aplicación que ofrece amplias instalaciones a los programadores para el desarrollo de software. Un IDE generalmente contiene un editor de código fuente, un depurador y herramientas de automatización de compilación.

¿Por qué utilizar Java IDE?

Estas son las razones para usar Java IDE:

  • Le proporciona una plantilla de código confeccionada.
  • Esta herramienta valida automáticamente la sintaxis.
  • Es compatible con la refactorización de código.
  • Admite la coloración de sintaxis.
  • Te permite establecer puntos de interrupción.
  • Ofrece un depurador robusto.
  • Editor de Java robusto.

¿Cuál es la historia de Java?

El creador de Java es James Gosling. Gosling desarrolló originalmente Java con sus compañeros de Sun Microsystems a principios de la década de 1990. Inicialmente, el proyecto fue llamado ‘Oak’ y estaba formado por implementaciones similares a C y C ++.
El nombre de Java, fue seleccionado más tarde, tras una lluvia de ideas y es el nombre de un grano de café cultivado en la isla de Java, en Indonesia. Java 1.0, la primera versión fue lanzada en 1995 con el lema de WORA.
Más tarde, Oracle adquirió Sun Microsystems, y a partir de ahí; no ha habido vuelta atrás.
La última versión de Java es Java 14 lanzada en Marzo de 2020.

¿Cuáles son las características de Java?

Java ofrece muchas características atractivas:

  • Un lenguaje independiente de la plataforma.
  • Una amplia biblioteca estándar que facilita la codificación. Puede crear una aplicación independiente completa utilizando Java.
  • Java admite la asignación automática de memoria y la desasignación (llamada recolección de basura).
  • Ofrece un gran rendimiento ya que Java admite multiproceso y concurrencia, lo que lo convierte en un lenguaje altamente interactivo y receptivo.
  • Seguro y simple.

¿Qué es la plataforma Java?

Debes haber escuchado mucho sobre Java como lenguaje de programación. Pero, ¿Sabes que también es una ‘plataforma’? La plataforma Java es una plataforma solo de software bastante diferente de las plataformas tradicionales como Windows, Mac, Linux o Solaris.

El primero se ejecuta sobre el hardware de las últimas plataformas. Los programas de Java pasan por Java Virtual Machine, que convierte el código de bytes en código nativo, haciendo que el programa se ejecute en cualquier dispositivo.

Esto significa que no necesita compiladores individuales específicos de la máquina para que se ejecute el código Java. Es por eso que Java también se llama plataforma. El lenguaje de programación Java es diferente de la plataforma Java.

El lenguaje de programación Java te ayuda a crear aplicaciones. Lo que escribes en el lenguaje de programación Java se desarrolla y ejecuta con la ayuda de una colección existente de programas y herramientas colectivamente llamada plataforma Java. La plataforma Java consta de JDK, JVM y JRE.
Hay cuatro plataformas Java para el lenguaje de programación Java:

  • Java SE (plataforma Java, edición estándar)
  • Java EE (Plataforma Java, Edición Enterprise)
  • Java FX
  • Java ME (Plataforma Java, Micro Edition)

Si bien las aplicaciones independientes se pueden construir en la plataforma Java SE, la mayor parte de la red mundial (Internet) depende de Java EE. Java ME es para aplicaciones en dispositivos pequeños (como teléfonos móviles).

¿Cuáles son los componentes de Java

Hay tres componentes principales de Java: JVM, JDK y JRE.
JDK o Java Development Kit es donde los desarrolladores escriben su código y lo ejecutan a través de JRE o Java Runtime Environment.

¿Cómo se traduce el código? Eso es a través de la máquina virtual Java (JVM). Con JVM, cualquier código escrito en Java (o en cualquier otro idioma) se puede traducir al código de bytes de Java. Cualquier máquina puede implementar este código basado en el sistema operativo. JVM reside dentro del JRE junto con los paquetes java (bibliotecas).

  • JDK: Herramientas de desarrollo JRE + como intérprete (cargador de clases), compilador (javac), archivos jar (paquete y archivo) y javadocs.
  • JVM: La máquina abstracta donde se ejecutan los bytecodes de Java. Consiste en un documento de especificación que describe la implementación de JVM, el programa de implementación real y la instancia de JVM (tiempo de ejecución) donde puede ejecutar su programa principal.
  • JRE: Implementación física (instancia de tiempo de ejecución) de JVM. Contiene los paquetes de la biblioteca y los archivos de soporte que JVM usa para ejecutar un programa.

Si tiene un sistema, puede probar algunas cosas mientras lee este artículo. Para practicar, necesita instalar JDK (Java Development Kit) y JRE (Java Runtime Environment) en su sistema local. Para descargar la última versión, haga clic aquí.
Luego puede configurar un IDE en su sistema y trabajar en los conceptos que aprenderemos. Eclipse es un buen IDE que uso, siempre que necesito ejecutar un programa en Java. Es fácil de configurar y no te molesta mucho. Puede descargar Eclipse o Easy Eclipse. Easy Eclipse es una versión más ligera de Eclipse con menos funciones. Existen muchos más IDE´s y editores de texto.

Si no quieres hacer nada de esto ahora, pero solo quieres leer sobre Java, ¡está bien! ¡Sigue leyendo, comprende los conceptos y luego comienza a codificar cuando quieras!

¿Estás preparado para comenzar con Java?

Antes de saltar a la codificación, familiaricémonos con algunas terminologías:
Cada programa java es una colección de diferentes tipos de objetos definidos por una clase o interfaz. Esta es la estructura básica:


class Colegio {
// consiste en varios objetos y variables de instancia
public String colegioNombre;
public int ID;
Profesor[] profesores;
Estudiante[] estudiantes;
// y algunos métodos
public int getcolegioNombre()
{
}
}

¡La lógica está dentro de los métodos , que pueden ser tan simples como los métodos getter y setter de una clase o tan complejos como obtener algo de la base de datos en función de múltiples condiciones!
Escribamos un programa simple y lo agregaremos a medida que aprendamos más conceptos en Java :
Tenga en cuenta que, al igual que cualquier otro lenguaje de programación, cada programa independiente en Java debe tener un método principal para ejecutar.
Cree una clase de prueba y agréguele un código simple.


class Test{
public static void main(String args[]){
int rollNumber = 34;
String nombre = “Pedro”;
System.out.println(“Mi nombre es ” + nombre + “ y mi número es ” + rollNumber);
}
}

Hay aprendizaje en cada línea de este código.

  • clase: esta palabra clave se usa para crear una clase java. Cuando ejecuta el programa, le daría al comando javac Test.java para compilar y java Test.java para ejecutar. Si está utilizando IDE, solo tiene que hacer clic derecho en la clase y seleccionar Ejecutar.
  • public: el público es un modificador de acceso que indica la visibilidad. El método principal no puede tener un modificador de acceso como privado (modificador de acceso). Los métodos privados solo se pueden llamar dentro de la clase, mientras que los métodos públicos son visibles para todos.
  • static: las variables y los métodos pueden usar la palabra clave static. ¿Por qué el método principal es estático? Para los métodos estáticos, no tenemos que crear un objeto. Por lo tanto, no tenemos que crear un objeto de prueba para invocar el método principal.
  • void: si un método no devuelve ningún valor, su tipo se establece como void.
  • int, String: estos son dos de los muchos tipos de datos que utiliza Java. Debido a que también usa tipos primitivos, Java no se considera un lenguaje totalmente orientado a objetos.
  • System.out.println: out es un campo estático de la clase System. Este campo almacena la instancia de la clase PrintStream. println () es el método de esta clase, que imprime el resultado requerido en la consola.

Modifiquemos ligeramente este programa para obtener el nombre y el número de rollo como entradas del usuario . Hay muchas maneras de hacer esto. Para este código, usemos el método más común: la clase Scanner. Para usar esta clase, necesitamos importar la clase como import java.util.Scanner;
En el código anterior, antes de System.out.println (syso), agregamos las siguientes líneas de código:


Scanner scanInput = new Scanner(System.in);
System.out.println("Enter name: ");
name = scanInput.nextLine();
System.out.println("Enter roll number: ");
rollNumber = scanInput.nextInt();

Cuando ejecute este programa, se le pedirá que ingrese un nombre y luego un número de lista.

La otra forma de hacerlo es a través de BufferedReader, que es el método tradicional pero tiene demasiados ajustes que pueden ser difíciles de recordar.

Permítanos obtener información sobre más estudiantes: sus nombres, números de lista y materias. Las asignaturas estarán en la matriz porque para este programa, supongamos que un estudiante tomará 3 asignaturas.
Definir una matriz como:


String[] subjects = new String[3];
//Get all the subjects from the student
for(int j=0; j<subjects.length;j++){
subjects[j] = scanInput.next();
}

  • Aquí estamos usando un bucle for para obtener asuntos del usuario y almacenarlo en la matriz de cadenas. La sintaxis para loop ha cambiado en las últimas versiones de Java, pero esta sintaxis es más fácil de usar. ‘j’ es un contador temporal que comienza desde 0. Tenga en cuenta que hacemos j
  • subject.length obtiene la longitud de la matriz, que en este caso es 3.

Para ver el contenido de la matriz, escriba Arrays. toString (sujetos)

Como vemos, tenemos tres variables nombre, rollNumber y materias que pertenecen a una entidad común Student. Entonces, ¿por qué no crear una clase y tener las 3 variables como miembros de la clase? ¡Será más fácil agregar, modificar y eliminar datos cuando los usemos como objetos!
Creemos una clase Student.java:


public class Student {
int rollNumber = 0;
String name = "";
String[] subjects = new String[3];
}

Tendremos que cambiar nuestro código para crear un objeto de esta clase y acceder a las variables a través de métodos getter y setter. Un ejemplo de método getter y setter es:


public int getRollNumber() {
return rollNumber;
}
public void setRollNumber(int rollNumber) {
this.rollNumber = rollNumber;
}

El IDE creará todo esto para usted, pero para su práctica, será bueno hacerlo usted mismo.
Ahora, regresemos a nuestro programa principal.

Ya tenemos todos los datos para un estudiante, ¡por qué no obtener detalles de más estudiantes! Podemos crear una matriz de objetos de Estudiante y almacenar los detalles de cada estudiante en un objeto de la matriz.

Permite obtener el número de estudiantes del usuario como
int numberOfStudents = scanInput.nextInt ();

Ahora, comencemos otro bucle for, que obtendrá detalles de todos los estudiantes:


for(int i=0;i<numberOfStudents;i++){
//get details
}

Todo lo que tenemos que hacer ahora es establecer los datos en objetos de estudiantes. Para esto, cree una matriz de objetos Student del mismo tamaño que numberOfStudents.


Student[] student = new Student[numberOfStudents];
for(int i=0;i<numberOfStudents;i++){
student[i] = new Student();
name = scanInput.next();
student[i].setName(name);
rollNumber = scanInput.nextInt();
student[i].setRollNumber(rollNumber);
// As we have written earlier
for(int j=0; j<subjects.length;j++){
subjects[j] = scanInput.next();
}
student[i].setSubjects(subjects);
}

Pocas cosas en el código:

Cuando creamos la matriz Student [], los objetos individuales de Student siguen siendo nulos. Es por eso que dentro del ciclo for, estamos creando un nuevo objeto Student. No hacer esto arrojará una NullPointerException, cuando intentemos usar student [i] .. Más adelante tocaremos las excepciones en este artículo.
Estamos usando next () para String en lugar de nextLine (). nextLine () omitirá la línea actual e irá a la siguiente. Siempre es mejor usar next ().

Digamos que el usuario da numberOfStudents como 2. El bucle for externo se ejecutará dos veces. El tamaño de la matriz de temas es 3, por lo que el ciclo for interno se ejecutará 3 veces para cada ciclo externo, por lo tanto, un total de 6 veces.

Tenga en cuenta la convención de nomenclatura en Java . Los nombres de las variables y los nombres de los métodos comienzan con minúsculas, pero escribimos con mayúscula la primera letra de cada palabra, mientras que los nombres de clase comienzan con una letra mayúscula.

Ahora, tenemos todos los datos en la matriz de Estudiantes. Podemos mejorar el código utilizando un Constructor Java , que es una forma más eficiente de almacenar cosas en objetos que un método de establecimiento. Cuando tiene muchos datos, en lugar de utilizar un método establecido 10 veces, puede establecer todos los valores en el constructor a la vez. Creemos un constructor en nuestra clase de Estudiantes.


public Student(String name, int rollNumber, String[] subjects){
this.name = name;
this.rollNumber = rollNumber;
this.subjects = subjects;
}

Ahora, modifiquemos nuestra clase Test para usar este constructor. Tenga en cuenta que, ahora la línea:


student[i] = new Student();

No funcionará, ya que no hemos creado un constructor sin argumentos en nuestra clase. Cuando no se define ningún otro constructor, el compilador de Java crea el constructor sin argumentos por defecto, de lo contrario, deberíamos usar los que creamos en el código.
Nuestro código ahora se convertirá en:

System.out.println("Enter name and roll number: ");
student[i] = new Student(scanInput.next(), scanInput.nextInt(), subjects);

Lo que reduce aproximadamente 3-4 líneas de código para nosotros. Imagínense lo útil que puede ser cuando hay muchos más objetos y variables miembro. Tenga en cuenta que la matriz de sujetos estará vacía, ya que estamos obteniendo los valores de los sujetos después de name y rollNumber.
La siguiente pregunta es ¿dónde almacenamos estos objetos de estudiantes para poder recuperarlos más tarde y hacer algunas modificaciones o mostrar el contenido de la lista? La respuesta simple es ArrayList. Es muy simple crear una ArrayList y agregarle objetos.

Algunas características importantes de ArrayList:

  • ArrayList es dinámico. Podemos expandir ArrayList en cualquier momento, el tamaño no es fijo, a diferencia de las matrices.
  • ArrayList es una parte importante de Java Collection Framework.
  • Podemos acceder a cualquier objeto en la lista al azar.
  • Solo podemos almacenar objetos en ArrayList. Si tenemos que crear una ArrayList de enteros, necesitamos envolver los tipos int primitivos en el objeto Integer.

Volviendo a nuestro código, creamos la ArrayList como:


ArrayList studentList = new ArrayList ();

Para agregar objetos a la lista, después de obtener todos los detalles, simplemente agregue el objeto completo a la lista.


studentList.add (student [i]);

En lugar de confundirnos con recorrer una matriz y abordar cada objeto como alumno [0], alumno [1], etc.… usemos un iterator para buscar y mostrar los datos.
Piense en Iterator como un cursor, que atraviesa los elementos de una colección. Puede buscar o eliminar cualquier elemento de una colección utilizando un iterador.


Iterator itr = studentList.iterator();
System.out.println("The entered details of all the students are---");
while(itr.hasNext())
{
System.out.println(itr.next().toString());
}

  • No creamos un nuevo objeto de Iterator (), sino que utilizamos el método iterador de la lista para señalarlo.
  • El bucle while comprueba, si hay más objetos en la lista usando el método hasNext (). El ciclo while finalizará cuando hasNext () devuelva falso.
  • itr.next () obtiene el siguiente elemento en la lista.

Es de esperar que la salida sea los detalles claros que había ingresado. ¿Derecha? Pero Java nos dará algo como esto. Los detalles ingresados de todos los estudiantes son:


Student@e7b241

¿Por qué? Debido a que para imprimir los miembros del objeto individualmente, necesitamos anular el método toString () en nuestra clase de Estudiantes.


public String toString(){
String studentDetails = null;
studentDetails = "Student name: " + this.name + ", Student roll number: " + this.rollNumber + " , Chosen subjects: " + Arrays.toString(this.subjects) + "\n";
return studentDetails;
}

  • La palabra clave this es una variable de referencia que apunta a la variable de instancia de la clase actual.
  • Para obtener valores de una matriz, utilizamos el método toString () de la clase de utilidad Arrays. Tenga en cuenta que las matrices contienen métodos estáticos y, por lo tanto, no necesitamos crear un objeto para usar los métodos. Estamos utilizando directamente el nombre de la clase y el nombre del método.

Voila! ¡Ahora obtendrá el resultado que desea! Pero hay un problema…
¡No nos hemos ocupado de los escenarios en los que el usuario da entradas incorrectas! Por ejemplo, ¿qué pasa si alguien ingresa una Cadena para rollNumber? No arrojaríamos toda la traza de la pila de la excepción al usuario. En cambio, podemos poner un buen mensaje para el usuario.
Intente ingresar una cadena para rollNumber, obtendrá Exception en el hilo “main” java.util.InputMismatchException
Para garantizar que esto no suceda, debemos asegurarnos de que el usuario ingrese los valores correctos. ¿Pero cómo? Pongamos un try/catch block para detectar la excepción y mostrar un mensaje amigable al usuario cuando hay un error.


try{
rollNumber = scanInput.nextInt();
}catch (InputMismatchException ime){
System.out.println("Please enter a valid number");
}

También podemos aplicar lo mismo para numberOfStudents. La mejor práctica es poner todo el código en el bloque try, de modo que cualquier excepción pueda quedar atrapada en el bloque catch.
Esto se llama manejo de excepciones en Java. En una aplicación del mundo real, las clases pueden lanzar la excepción y la última capturará y mostrará el mensaje apropiado al usuario. Hay muchas más excepciones de tiempo de ejecución en Java, las más comunes son NullPointerException, ClassCastException, ArithmeticException, IllegalArgumentException, ArrayIndexOutOfBoundsException, etc.

Un resumen rápido

En este artículo, se han tocado los conceptos básicos de Java, con los que puede comenzar a codificar en Java siempre que sepa qué es un lenguaje de programación y haya trabajado con algún otro lenguaje antes. Hemos entendido el concepto básico de..

  • Clase y objetos
  • Constructores
  • Flujos de E / S
  • For y While loop (bucles)
  • Tipos de datos primitivos y no primitivos
  • Método toString ()
  • Colección (ArrayList) e Iterator
  • Conceptos básicos de manejo de excepciones

A través de un programa simple. Hay muchos conceptos avanzados que no están al alcance de este artículo.. Siempre puedes seguir aprendiendo, desde nuestros enlaces relacionados, y desde nuestros repositorios de cursos y libros de programación en español.

? Los Mejores Chollos de Amazon, ¡Agrégalos a tu Lista de Deseos!

? Quizás te interese: mejores libros de programación >> programas para desarrolladores >> mejores lenguajes de programación >> mejores auriculares para programadores >> ratones verticales para trabajar >> componentes de PC para programadores >> mejores regalos 1 – ?

La Guía Java fue creada el 20 de Mayo de 2020 y su última edición fue el 20 de Mayo de 2020.

Relacionados
Salir de la versión móvil