logo

Boucle lecture-évaluation-impression (REPL) en Java

Le Boucle lecture-évaluation-impression ou REPL est une interface shell. Cette interface lit et évalue chaque ligne d'entrée, puis imprime le résultat. Le Boucle lecture-évaluation-impression nous aide à interagir avec le runtime de notre application présent dans un état spécifique. Les commandes sont lues et évaluées par le REPL et imprimez le résultat. Après avoir imprimé le résultat, REPL revient au début pour lire, évaluer et imprimer notre prochaine entrée.

Boucle lecture-évaluation-impression (REPL) en Java

En utilisant REPL, nous pouvons facilement écrire et tester notre code Java sans le compiler et voir le résultat directement sur la console.

Java n'a pas déjà REPL ?

Décidément, un REPL doit être dans un langage établi comme Java . Mais tous les langages n’ont pas le REPL, et Java en fait partie. Les développeurs Java en ont le plus besoin. Java a quelque chose comme REPL depuis un certain temps sous le nom de Java Beanshell. Mais le projet n'était pas un REPL complet avec d'autres langages. Pour cela, en 2016, Java 9 a été publié, qui offre un environnement REPL complet.

Pourquoi REPL est-il si utile ?

En utilisant REPL, nous n'avons pas besoin de compiler ou de tester notre code Java à l'aide de la commande javac. Après avoir utilisé le REPL,

  1. Pas besoin d'éditeur pour écrire le programme Java.
  2. Pas besoin de sauvegarder le programme Java.
  3. Pas besoin de compiler un programme Java.
  4. Pas besoin de procéder à des modifications en cas d'erreur de compilation ou d'exécution.
  5. Pas besoin de répéter le processus.
Boucle lecture-évaluation-impression (REPL) en Java

Nous pouvons évaluer des méthodes, des classes et des instructions sans créer de classe. Le programme 'Hello World' peut également être écrit sans créer de classe.

math.pow java

Conditions requises pour utiliser REPL

Il n'y a qu'une seule exigence pour utiliser REPL , c'est-à-dire que nous aurions dû Java9 ou version supérieure dans notre système. Si Java 9 est installé sur notre système, nous sommes prêts à l'utiliser REPL . Afin de vérifier le courant version de Java sur votre système, ouvrez l'invite de commande et tapez la commande suivante :

 java -version 

Boucle lecture-évaluation-impression (REPL) en Java

Utiliser REPL

Vous trouverez ci-dessous quelques exemples de REPL dans lesquels nous évaluons les expressions mathématiques, calculons la série de Fibonacci, créons une classe dynamique, connaissons l'historique et modifions la classe.

Exemple 1 : Évaluer des expressions mathématiques

convertir une chaîne en date
 jshell> double a = 10; jshell> a= Math.pow(a, 2); jshell> a+20 jshell> /vars jshell> double data = Math.pow(8.3, 5); 

Description:

Dans la première ligne, nous créons une variable 'un' de type double et fixons sa valeur initiale à 10. Après cela, nous trouvons le carré de la variable 'a' et le stockons dans la même variable. Après cela, nous ajoutons simplement 20 à la variable « a ». Le Jshell mettra le résultat dans une variable temporaire '3$' . Ensuite, nous exécutons le '/dont' commande, qui nous montre toutes les variables créées. Enfin, nous créons une variable 'données' de type double et stocker les 5èmepuissance du chiffre 8.3.

Sortir:

fenêtre.ouvrir javascript
Boucle lecture-évaluation-impression (REPL) en Java

Exemple 2 : Calculer la série 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)); ...> } 

Description:

Dans les six premières lignes de code, nous créons une méthode pour la série de Fibonacci. Après cela, nous utilisons le /méthodes commande de Jshell, qui nous montre toutes les méthodes disponibles. Dans les deux lignes suivantes, nous testons le fibo() méthode en passant des valeurs entières. Nous créons un tableau arr pour déterminer combien de termes nous voulons obtenir la série de Fibonacci. Ensuite, nous itérons chaque valeur de arr en utilisant pour chaque boucle. Nous transmettons chaque valeur de l'arr à la méthode fibo() et imprimons sa valeur de retour.

Sortir:

Boucle lecture-évaluation-impression (REPL) en Java

Exemple 3 : REPL pour réutilisation

qu'est-ce que Mac OS
 jshell> int fibo(int no){ ...> return 2; ...> } jshell> for(int i: arr){ ...> System.out.println(fibo(i)); ...> } 

Description:

Dans le code ci-dessus, nous créons une méthode fibo() avec le même type de retour et le même argument que ceux que nous avons créés auparavant. À ce stade, le Jshell remplace le précédent 'fibo()' méthode avec celle actuelle. Ensuite, nous transmettons chaque valeur de l'arr à la fonction pour garantir si notre méthode fibo() est remplacée ou non.

Sortir:

Boucle lecture-évaluation-impression (REPL) en Java

Exemple 4 : Définir la classe

 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); ...> } ...> } 

Description:

Dans le code ci-dessus, nous créons la classe 'Étudiant' , qui ont le nom, l'âge, le cours et le semestre. Nous créons un constructeur dans lequel nous définissons les valeurs de ces variables. Après le constructeur, nous créons une méthode qui affiche la valeur de toutes les variables pour chaque instance de la classe.

Sortir:

Boucle lecture-évaluation-impression (REPL) en Java

Exemple 5 : Création d'une instance de la classe

 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(); 

Description:

quelle est la taille de l'écran de mon moniteur

Dans le code ci-dessus, nous créons deux instances de la classe et transmettons la valeur au constructeur pour toutes les variables de classe. Ensuite, nous exécutons la commande Jshell pour vérifier si les variables s1 et s2 sont créées ou non. Enfin, nous appelons la méthode showData() pour afficher les données de chaque instance.

Sortir:

Boucle lecture-évaluation-impression (REPL) en Java