logo

Read-Eval-Print-Schleife (REPL) in Java

Der Read-Eval-Print-Schleife oder ERSATZ ist eine Shell-Schnittstelle. Diese Schnittstelle liest und wertet jede Eingabezeile aus und gibt dann das Ergebnis aus. Der Read-Eval-Print-Schleife hilft uns, mit unserer Anwendungslaufzeit zu interagieren, die sich in einem bestimmten Zustand befindet. Die Befehle werden vom gelesen und ausgewertet ERSATZ und drucken Sie das Ergebnis aus. Nach dem Drucken des Ergebnisses kehrt REPL zum Anfang zurück, um unsere nächste Eingabe zu lesen, auszuwerten und auszudrucken.

Read-Eval-Print-Schleife (REPL) in Java

Mit REPL können wir unseren Java-Code einfach schreiben und testen, ohne ihn zu kompilieren, und die Ausgabe direkt auf der Konsole sehen.

Java hat REPL noch nicht?

Auf jeden Fall muss eine REPL in einer etablierten Sprache vorliegen Java . Allerdings verfügen nicht alle Sprachen über REPL, und Java ist eine davon. Die Java-Entwickler haben es am meisten benötigt. Java hat seit einiger Zeit so etwas wie REPL als Java Beanshell. Bei dem Projekt handelte es sich jedoch nicht um eine voll funktionsfähige REPL mit anderen Sprachen. Zu diesem Zweck wurde 2016 Java 9 veröffentlicht, das eine voll funktionsfähige REPL-Umgebung bereitstellt.

Warum ist REPL so hilfreich?

Durch die Verwendung der REPL müssen wir unseren Java-Code nicht mit dem Befehl javac kompilieren oder testen. Nach der Verwendung der REPL,

  1. Zum Schreiben des Java-Programms ist kein Editor erforderlich.
  2. Das Java-Programm muss nicht gespeichert werden.
  3. Es ist nicht erforderlich, ein Java-Programm zu kompilieren.
  4. Es ist keine Bearbeitung erforderlich, wenn ein Kompilierungs- oder Laufzeitfehler auftritt.
  5. Der Vorgang muss nicht wiederholt werden.
Read-Eval-Print-Schleife (REPL) in Java

Wir können Methoden, Klassen und Anweisungen auswerten, ohne eine Klasse zu erstellen. Das Programm „Hello World“ kann auch geschrieben werden, ohne eine Klasse zu erstellen.

Java-Sortierliste

Voraussetzungen für die Verwendung von REPL

Es gibt nur eine Voraussetzung zur Nutzung ERSATZ , d. h. wir hätten es tun sollen Java 9 oder eine höhere Version in unserem System. Wenn Java 9 in unserem System installiert ist, sind wir einsatzbereit ERSATZ . Um den Strom zu überprüfen Version von Java Öffnen Sie in Ihrem System die Eingabeaufforderung und geben Sie den folgenden Befehl ein:

 java -version 

Read-Eval-Print-Schleife (REPL) in Java

Verwendung von REPL

Nachfolgend finden Sie einige Beispiele für REPL, bei denen wir die mathematischen Ausdrücke auswerten, die Fibonacci-Reihe berechnen, eine dynamische Klasse erstellen, den Verlauf kennen und die Klasse ändern.

Beispiel 1: Mathematische Ausdrücke auswerten

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

Beschreibung:

In der ersten Zeile erstellen wir eine Variable 'A' vom Typ double und setzen seinen Anfangswert auf 10. Danach finden wir das Quadrat der Variablen 'a' und speichern es in derselben Variablen. Danach addieren wir einfach 20 zur Variablen „a“. Die Jshell fügt das Ergebnis in eine temporäre Variable ein „3 $“ . Als nächstes führen wir das aus '/wessen' Befehl, der uns alle erstellten Variablen anzeigt. Zum Schluss erstellen wir eine Variable 'Daten' vom Typ double und speichern Sie die 5ThPotenz der Ziffer 8.3.

Zufallswertgenerator in Java

Ausgabe:

SQL-Datentypen
Read-Eval-Print-Schleife (REPL) in Java

Beispiel 2: Berechnung der Fibonacci-Reihe

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

Beschreibung:

In den ersten sechs Codezeilen erstellen wir eine Methode für die Fibonacci-Reihe. Danach verwenden wir die /Methoden Befehl von Jshell, der uns alle verfügbaren Methoden anzeigt. In den nächsten beiden Zeilen testen wir das fibo() Methode durch Übergabe ganzzahliger Werte. Wir erstellen ein Array arr um zu bestimmen, wie viele Terme wir für die Fibonacci-Reihe erhalten möchten. Als nächstes iterieren wir jeden Wert von arr mit for every loop. Wir übergeben jeden Wert des arr an die Methode fibo() und geben seinen Rückgabewert aus.

Ausgabe:

Read-Eval-Print-Schleife (REPL) in Java

Beispiel 3: REPL zur Wiederverwendung

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

Beschreibung:

Im obigen Code erstellen wir eine fibo()-Methode mit demselben Rückgabetyp und Argument wie zuvor. Zu diesem Zeitpunkt überschreibt die Jshell die vorherige 'fibo()' Methode mit der aktuellen. Als nächstes übergeben wir jeden Wert von arr an die Funktion, um sicherzustellen, ob unsere fibo()-Methode überschrieben ist oder nicht.

Konstruktoren in Java

Ausgabe:

Read-Eval-Print-Schleife (REPL) in Java

Beispiel 4: Definieren der Klasse

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

Beschreibung:

Im obigen Code erstellen wir eine Klasse 'Student' , die Name, Alter, Kurs und Semester enthalten. Wir erstellen einen Konstruktor, in dem wir die Werte für diese Variablen festlegen. Nach dem Konstruktor erstellen wir eine Methode, die den Wert aller Variablen für jede Instanz der Klasse anzeigt.

Ausgabe:

Read-Eval-Print-Schleife (REPL) in Java

Beispiel 5: Erstellen einer Instanz der Klasse

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

Beschreibung:

Snipping-Tool in Ubuntu

Im obigen Code erstellen wir zwei Instanzen der Klasse und übergeben den Wert für alle Klassenvariablen an den Konstruktor. Als nächstes führen wir den Jshell-Befehl aus, um zu prüfen, ob die Variablen s1 und s2 erstellt wurden oder nicht. Zuletzt rufen wir die Methode showData() auf, um die Daten jeder Instanz anzuzeigen.

Ausgabe:

Read-Eval-Print-Schleife (REPL) in Java