Java es un lenguaje de programación basado en clases y orientado a objetos. El lenguaje está diseñado para tener la menor cantidad posible de implementaciones de dependencias. La intención de utilizar este lenguaje es aliviar a los desarrolladores de escribir códigos para cada plataforma. El término WORA, escribir una vez y ejecutar en todas partes suele asociarse a este lenguaje. Significa que cada vez que compilamos un código Java, obtenemos el código de bytes (archivo .class) y que se puede ejecutar (sin volver a compilarlo) en diferentes plataformas siempre que admitan Java. En el año 1995 se desarrolló el lenguaje Java. Se utiliza principalmente para desarrollar dispositivos web, de escritorio y móviles. El lenguaje Java es conocido por sus características de robustez, seguridad y simplicidad. Está diseñado para tener la menor cantidad de dependencias de implementación posible.
Historia
El lenguaje Java tiene una historia muy interesante. Patrick Naughton, Mike Sheridan y Jame Gosling, conocidos como el equipo Green, iniciaron el desarrollo de Java en el año 1991. Estas personas eran los ingenieros de Microsistemas solares . En 1996, se lanzó la primera implementación pública como Java 1.0. Arthur Van Hoff reescribió el compilador de Java 1.0 para cumplir estrictamente con su especificación. Con la introducción de Java 2, las nuevas versiones tienen múltiples configuraciones diferentes que se han creado para las distintas plataformas. Vale la pena señalar que James Gosling también es conocido como el padre de Java.
Sun Microsystems se acercó al organismo estándar ISO en el año 1997 para formalizar Java, pero el proceso fue retirado pronto. En un momento dado, Sun Microsystems proporcionó la mayor parte de su implementación de Java sin ningún costo, a pesar de tener el estatus de software propietario.
Programas de aplicación
La implementación de un programa de aplicación en una aplicación Java incluye los siguientes pasos.
- La creación del programa (escribir el código)
- La compilación del programa.
- Ejecutando el código compilado.
Vale la pena señalar aquí que JDK (Java Development Kit) debe instalarse correctamente en el sistema y también debe establecerse la ruta.
La creación del programa.
El programa Java se puede escribir usando un editor de texto (Notepad++ o NotePad u otros editores también harán el trabajo) o IDE (Eclipse, NetBeans, etc.).
Nombre del archivo: TestClass.java
public class TestClass { // main method public static void main(String []args) { // print statement System.out.println('Hello World is my first Java Program.'); } }
Escriba el código anterior y guarde el archivo con el nombre TestClass. El archivo debe tener el .Java extensión.
La compilación del programa.
Abra el símbolo del sistema y escriba javac TestClass.java . javac es el comando que hace que el compilador de Java entre en acción para compilar el programa Java. Después del comando, debemos poner el nombre del archivo que se desea compilar. En nuestro caso, es TestClass.java . Después de escribir, presione el botón Enter. Si todo va bien, se generará un archivo TestClass.class que contiene el código de bytes. Si hay algún error en el programa, el compilador lo señalará y TestClass.clase no será creado.
Ejecutando/ejecutando el programa
Después de crear el archivo .class, escriba java clase de prueba para ejecutar el programa. El resultado del programa se mostrará en la consola, que se menciona a continuación.
Producción:
Hello World is my first Java Program.
El nombre Java
Inicialmente, se le dio al idioma el nombre de roble. Sin embargo, el equipo decidió que se le debía dar un nuevo nombre al idioma y se sugirieron palabras como ADN, revolucionario, Jolt, Dinámico, Seda, etc. Todos estos nombres fueron divertidos de decir y fáciles de deletrear. Pero lo que faltaba en los nombres sugeridos era la esencia del lenguaje que el equipo quería tener. Según James Gosling, Java y Silk eran dos de las opciones más populares y, como Java tenía un nombre único, la mayoría de la gente lo prefería.
Java es también el nombre de una isla de Indonesia donde se producía café (llamado Café Java). James Gosling eligió el nombre Java porque estaba tomando un café cerca de su oficina. Los lectores deben tener en cuenta que Java no es un acrónimo. Es sólo un nombre.
Las terminologías en Java
JVM (máquina virtual Java): JVM es la especificación que facilita el entorno de ejecución en el que se lleva a cabo la ejecución del código de bytes de Java. Cada vez que uno usa el comando Java, Se crea una instancia de la JVM. . JVM facilita la definición del área de memoria, el conjunto de registros, el formato de archivo de clase y el informe de errores fatales. Tenga en cuenta que la JVM depende de la plataforma.
Código de bytes: Ya se ha comentado en la parte introductoria que el compilador Java compila el código Java para generar el archivo .class o el código de bytes. Uno tiene que utilizar el javac comando para invocar el compilador de Java.
Kit de desarrollo de Java (JDK): Es el kit de desarrollo de Java completo que lo abarca todo, incluido JRE (Java Runtime Environment), compilador, documentos de Java, depuradores, etc. JDK debe estar instalado en la computadora para la creación, compilación y ejecución de un programa Java.
Entorno de ejecución de Java (JRE): JRE es parte del JDK. Si un sistema solo tiene instalado JRE, entonces el usuario solo puede ejecutar el programa. En otras palabras, sólo el Java El comando funciona. No será posible la compilación de un programa Java (el javac el comando no funcionará).
Recolector de basura: Los programadores no pueden eliminar objetos en Java. Para ello, JVM dispone de un programa conocido como Garbage Collector. Los recolectores de basura recuperan o eliminan objetos sin referencia. Garbage Collector facilita la vida de un desarrollador/programador, ya que no tiene que preocuparse por la gestión de la memoria.
Ruta de clases: Como sugiere el nombre, classpath es la ruta donde el compilador de Java y el tiempo de ejecución de Java buscan el archivo .class para cargar. El JDK proporciona muchas bibliotecas incorporadas. Sin embargo, si alguien quiere utilizar las bibliotecas externas, debe agregarlas al classpath.
Características destacadas de Java
Plataforma independiente: En lugar de generar directamente el archivo .exe, el compilador Java convierte el código Java en código de bytes, y este código de bytes se puede ejecutar en diferentes plataformas sin ningún problema, lo que convierte a Java en un lenguaje independiente de la plataforma. Tenga en cuenta que para ejecutar el código de bytes, se debe instalar JVM en el sistema, que depende de la plataforma.
Lenguaje de programación orientado a objetos: El concepto de programación orientada a objetos se basa en el concepto de objetos y clases. Además, hay varias cualidades que están presentes en la programación orientada a objetos. Algunos de ellos se mencionan a continuación.
- Abstracción
- Herencia
- Polimorfismo
- Encapsulación
El lenguaje Java también utiliza ampliamente los conceptos de clases y objetos. Además, todas estas características mencionadas anteriormente están presentes en Java, lo que convierte a Java en un lenguaje de programación orientado a objetos. Tenga en cuenta que Java es un lenguaje de programación orientado a objetos pero no 100% orientado a objetos.
Simple: Java se considera un lenguaje simple porque no tiene el concepto de punteros, herencias múltiples, asignación de memoria explícita o sobrecarga de operadores.
Robusto:
El lenguaje Java es muy robusto. El significado de robusto es confiable. El lenguaje Java está desarrollado de tal manera que se realizan muchas comprobaciones de errores lo antes posible. Es por este motivo que este lenguaje puede identificar aquellos errores que son difíciles de identificar en otros lenguajes de programación. El manejo de excepciones, la recolección de basura y la asignación de memoria son las características que hacen que Java sea robusto.
Seguro: Hay varios errores, como desbordamiento del búfer o corrupción de la pila, que no se pueden explotar en el lenguaje Java. Sabemos que el lenguaje Java no tiene punteros. Por lo tanto, no es posible tener acceso a matrices fuera de límites. Si alguien intenta hacerlo, se genera la excepción ArrayIndexOutofBound. Además, la ejecución de los programas Java ocurre en un entorno completamente independiente del Sistema Operativo, lo que hace que este lenguaje sea aún más seguro.
Repartido: Las aplicaciones distribuidas se pueden crear con la ayuda del lenguaje Java. Los Enterprise Java beans y la invocación de método remoto se utilizan para crear aplicaciones distribuidas. La distribución de programas Java puede ocurrir fácilmente entre uno o más sistemas que están conectados entre sí a través de Internet.
Subprocesos múltiples: El lenguaje Java admite subprocesos múltiples. La función de subprocesos múltiples admite la ejecución de dos o más partes del programa simultáneamente. De este modo, se maximiza la utilización de la CPU.
Portabilidad: Sabemos que Java es un lenguaje independiente de la plataforma. Por lo tanto, el código de bytes generado en un sistema se puede llevar a cualquier otra plataforma para su ejecución, lo que hace que Java sea portátil.
Rendimiento de alto nivel: La arquitectura de Java está creada de tal manera que reduce la sobrecarga del tiempo de ejecución. En algunos lugares, Java usa el compilador JIT (Just In Time) cuando el código se compila según la demanda, donde el compilador solo compila aquellos métodos que se invocan y, por lo tanto, acelera la ejecución de las aplicaciones.
Flexibilidad dinámica: El lenguaje Java sigue el paradigma de programación orientada a objetos, que nos da la libertad de agregar nuevos métodos y clases a las clases existentes. El lenguaje Java también admite funciones mencionadas en los lenguajes C/C++ y que generalmente se denominan métodos nativos.
archivo json
Ejecución de SandBox: Es un hecho conocido que los programas Java se ejecutan en entornos diferentes, lo que da libertad a los usuarios para ejecutar sus propias aplicaciones sin afectar el sistema subyacente utilizando el verificador de código de bytes. El verificador de Bytecode también brinda seguridad adicional, ya que verifica el código en busca de violaciones de acceso.
Escribe una vez, corre a cualquier lugar: El compilador compila el código Java para obtener el archivo .class o el código de bytes, que es completamente independiente de cualquier arquitectura de máquina.
Lenguaje compilado e interpretado: La mayoría de los idiomas son lenguajes interpretados o lenguajes compilados. Sin embargo, en el caso del lenguaje Java, se compila al igual que el lenguaje interpretado. El código Java se compila para obtener el código de bytes y el intérprete basado en software interpreta el código de bytes.
Algunos programas en Java
A continuación se mencionan algunos programas básicos de Java.
Programa - 1
Nombre del archivo: DemoClass.java
// Importing different classes import java.io.*; // Main class public class DemoClass { // main method public static void main(String argvs[]) { System.out.println('Welcome to javaTpoint.'); } }
Producción:
Welcome to javaTpoint.
Programa - 2
Nombre del archivo: AddMul.java
// Computing the sum and product of the two numbers public class AddMul { // main method public static void main(String argvs[]) { int a1; int a2; int add = 0; int prod = 0; a1 = 12; a2 = 14; add = a1 + a2; // addition prod = a1 * a2; // multiplication System.out.println('Sum = ' + add); System.out.println('Product = ' + prod); } }
Producción:
Sum = 26 Product = 168
Programa - 3
Nombre del archivo: ComputeAv.java
// A Java program to allow the user to input two numbers from the user and compute its average. import java.util.*; public class ComputeAv { // main method public static void main(String argvs[]) { double a1; double b1; double sum1 = 0; double avg1 = 0; Scanner scnr = new Scanner(System.in); System.out.println('Input the First Number: '); a1 = scnr.nextDouble(); System.out.println('Input the Second Number: '); b1 = scnr.nextDouble(); sum1 = a1 + b1; // computing the sum avg1 = sum1 / 2; // computing the average System.out.println('Average = ' + avg1); } }
Producción:
Input the First Number: 4 Input the Second Number: 5 Average = 4.5
Programa - 4
Nombre del archivo: FahrenheitCelsius.java
// A Java program that converts Celsius to Fahrenheit using formula // Fahrenheit = ((Celsius / 5) x 9 ) + 32 // import statement for taking input import java.util.Scanner; public class FahrenheitCelsius { // main method public static void main(String argvs[]) { double cel, far; Scanner scnr = new Scanner(System.in); System.out.println('Input the temperature in Celsius: '); cel = scnr.nextDouble(); far = ((cel / 5.0) * 9.0) + 32; System.out.println('Temperature in Fahrenheit is: ' + far); } }
Producción:
Input the temperature in Celsius: 15 Temperature in Fahrenheit is: 59.0
Programa - 5
Nombre del archivo: TriangleArea.java
// A Java program for computing the triangle's area using its three sides // using heron's formula. import java.util.Scanner; public class TriangleArea { // main method public static void main(String[] argvs) { int s1, s2, s3; double halfPeri, ar; Scanner scnr = new Scanner(System.in); System.out.print('Enter the value of triangle's three sides:'); // taking user inputs s1 = scnr.nextInt(); s2 = scnr.nextInt(); s3 = scnr.nextInt(); // computing half perimeter halfPeri = (s1 + s2 + s3) / 2; // computing area of the triangle ar = Math.sqrt(halfPeri * (halfPeri - s1) * (halfPeri - s2) * (halfPeri - s3)); System.err.println('Triangles Area: ' + ar); } }
Producción:
Enter the value of triangle's three sides: 15 16 17 Triangles Area: 109.98181667894016
Descripción de varias palabras clave utilizadas en los programas anteriores
//: Se utiliza para poner comentarios en el código para hacerlo más legible para los lectores. El compilador ignora completamente los comentarios mientras compila el programa. Para comentarios de varias líneas, utilizamos: /* … */
método principal(): El método más importante del programa donde comienza la ejecución. Por tanto, toda la lógica debe residir en el método principal. Si el método main() no contiene la lógica, entonces estará allí en algún otro método, pero ese método debe invocarse desde el método main() directa o indirectamente.
clase: La palabra clave class se utiliza para declarar clases en el lenguaje Java.
vacío: significa que la función o método no devolverá nada.
Sistema.out.println(): Se utiliza para imprimir declaraciones, patrones, etc., en la consola.
Argumentos de cadena []: Es un argumento de línea de comando que se utiliza para recibir entradas.
público: Es una palabra clave especificadora de acceso. Cuando se aplica a un método, ese método es visible para todos. Otras palabras clave del especificador de acceso son privado, protegido y predeterminado.
importar java.io.*: Significa que todas las clases presentes en el paquete. java.io es importado. El paquete java.io facilita los flujos de salida y entrada para escribir y leer datos en archivos. * significa todos. Si desea importar solo una clase específica, reemplace * con el nombre de la clase.
System.in: Es el flujo de entrada el que se utiliza para leer caracteres del dispositivo de entrada, que suele ser un teclado en nuestro caso.
principal vacío estático(): La palabra clave estática indica que se puede acceder al método sin crear instancias de la clase.
Salida del sistema: Como System.in se usa para leer los caracteres, System.out se usa para mostrar el resultado del programa en un dispositivo de salida como la pantalla de la computadora.
doble, entero: Los diferentes tipos de datos, int para los números enteros, double para double. Otros tipos de datos son char, boolean, float, etc.
imprimirln(): El método muestra los textos en la consola. El método imprime el texto en la pantalla y luego pasa a la siguiente línea. Para la siguiente línea, se utiliza ln. Si no queremos que el cursor pase a la siguiente línea utilizamos el método print().