logo

Bucle de lectura-evaluación-impresión (REPL) en Java

El Bucle de lectura-evaluación-impresión o REPL es una interfaz de shell. Esta interfaz lee y evalúa cada línea de entrada y luego imprime el resultado. El Bucle de lectura-evaluación-impresión nos ayuda a interactuar con el tiempo de ejecución de nuestra aplicación presente en un estado específico. Los comandos son leídos y evaluados por el REPL e imprimir el resultado. Después de imprimir el resultado, REPL regresa al inicio para leer, evaluar e imprimir nuestra siguiente entrada.

Bucle de lectura-evaluación-impresión (REPL) en Java

Usando REPL, podemos escribir y probar fácilmente nuestro código Java sin compilarlo y podemos ver el resultado directamente en la consola.

¿Java aún no tiene REPL?

Definitivamente, un REPL debe estar en un lenguaje establecido como Java . Pero no todos los lenguajes tienen REPL y Java es uno de ellos. Los desarrolladores de Java son los que más lo han requerido. Java ha tenido algo así como REPL por un tiempo como Java Beanshell. Pero el proyecto no era un REPL con todas las funciones con otros lenguajes. Para ello, en 2016, se lanzó Java 9, que ofrece un entorno REPL con todas las funciones.

¿Por qué es tan útil REPL?

Al usar REPL, no necesitamos compilar ni probar nuestro código Java usando el comando javac. Después de usar REPL,

  1. No se necesita un editor para escribir el programa Java.
  2. No es necesario guardar el programa Java.
  3. No es necesario compilar el programa Java.
  4. No es necesario editar si aparece algún error en tiempo de compilación o de ejecución.
  5. No es necesario repetir el proceso.
Bucle de lectura-evaluación-impresión (REPL) en Java

Podemos evaluar métodos, clases y declaraciones sin crear una clase. El programa 'Hello World' también se puede escribir sin crear una clase.

para bucles java

Requisitos para usar REPL

Sólo hay un requisito para utilizar REPL , es decir, deberíamos tener Java 9 o versión superior en nuestro sistema. Si Java 9 está instalado en nuestro sistema, ya estamos listos para usar REPL . Para comprobar la actualidad versión de java en su sistema, abra el símbolo del sistema y escriba el siguiente comando:

 java -version 

Bucle de lectura-evaluación-impresión (REPL) en Java

Usando REPL

A continuación se muestran algunos ejemplos de REPL en los que evaluamos las expresiones matemáticas, calculamos la serie de Fibonacci, creamos una clase dinámica, conocemos el historial y modificamos la clase.

autómatas finitos deterministas

Ejemplo 1: evaluación de expresiones matemáticas

 jshell> double a = 10; jshell> a= Math.pow(a, 2); jshell> a+20 jshell> /vars jshell> double data = Math.pow(8.3, 5); 

Descripción:

En la primera línea creamos una variable. 'a' de tipo double y establecemos su valor inicial 10. Después de eso, encontramos el cuadrado de la variable 'a' y lo almacenamos en la misma variable. Después de eso, simplemente sumamos 20 a la variable 'a'. El Jshell pondrá el resultado en una variable temporal. '' . A continuación ejecutamos el '/cuyo' comando, que nos muestra todas las variables creadas. Por último, creamos una variable. 'datos' de tipo double y almacena los 5thpotencia del dígito 8.3.

Producción:

comando de retorno java
Bucle de lectura-evaluación-impresión (REPL) en Java

Ejemplo 2: Calcular la serie de Fibonacci

 jshell> int fibo(int no) (no == 1)) ...> return no;e all possible completions; total possible completions ...> else ...> return fibo(no-1)+fibo(no-2); ...> jshell> /methods jshell> fibo(11) jshell> fibo(12) jshell> int[] arr = { 1,2,3,4,5,6}; jshell> for(int i: arr){ ...> System.out.println(fibo(i)); ...> } 

Descripción:

En las primeras seis líneas de código, creamos un método para la serie de Fibonacci. Después de eso, usamos el /métodos comando de Jshell, que nos muestra todos los métodos disponibles. En las siguientes dos líneas, probamos el fibón() método pasando valores enteros. Creamos una matriz. llegar para determinar cuántos términos queremos obtener de la serie de Fibonacci. A continuación, iteramos cada valor de arr usando para cada bucle. Pasamos cada valor de arr al método fibo() e imprimimos su valor de retorno.

Producción:

Bucle de lectura-evaluación-impresión (REPL) en Java

Ejemplo 3: REPL para reutilización

 jshell> int fibo(int no){ ...> return 2; ...> } jshell> for(int i: arr){ ...> System.out.println(fibo(i)); ...> } 

Descripción:

En el código anterior, creamos un método fibo() con el mismo tipo de retorno y argumento que creamos antes. En este momento, Jshell anula el anterior. 'fibón()' método con el actual. A continuación, pasamos cada valor de arr a la función para asegurarnos de que nuestro método fibo() se anule o no.

Producción:

Bucle de lectura-evaluación-impresión (REPL) en Java

Ejemplo 4: Definición de la clase

git pull origen maestro
 jshell> class Student{ ...> public String Name; ...> public int age; ...> public String course; ...> public int semester; ...> public Student(String Name, int age, String course, int semester){ ...> this.Name=Name; ...> this.age=age; ...> this.course = course; ...> this.semester=semester; ...> } ...> public void showData(){ ...> System.out.println('Name= '+ Name); ...> System.out.println('Age= '+ age); ...> System.out.println('Course= '+ course); ...> System.out.println('Semester= '+semester); ...> } ...> } 

Descripción:

En el código anterior, creamos la clase. 'Alumno' , que tienen Nombre, edad, carrera y semestre. Creamos un constructor en el que establecemos los valores de estas variables. Después del constructor, creamos un método que muestra el valor de todas las variables para cada instancia de la clase.

Producción:

Bucle de lectura-evaluación-impresión (REPL) en Java

Ejemplo 5: crear una instancia de la clase

 jshell> Student s1 = new Student( 'Shubham Rastogi', 18, 'MCA', 4); jshell> Student s2 = new Student( 'Kartik Rastogi', 23, 'MCA', 3); jshell> /vars jshell> s1.showData(); jshell> s2.showData(); 

Descripción:

tabla desc en mysql

En el código anterior, creamos dos instancias de la clase y pasamos el valor al constructor para todas las variables de la clase. A continuación, ejecutamos el comando Jshell para comprobar si las variables s1 y s2 están creadas o no. Por último, llamamos al método showData() para mostrar los datos de cada instancia.

Producción:

Bucle de lectura-evaluación-impresión (REPL) en Java