logo

Read-Eval-Print Loop (REPL) i Java

De Läs-Eval-Skriv ut loop eller REPL är ett skalgränssnitt. Detta gränssnitt läser och utvärderar varje rad med inmatning och skriver sedan ut resultatet. De Läs-Eval-Skriv ut loop hjälper oss att interagera med vår programkörning som finns i ett specifikt tillstånd. Kommandona läses och utvärderas av REPL och skriv ut resultatet. Efter att ha skrivit ut resultatet går REPL tillbaka till början för att läsa, utvärdera och skriva ut vår nästa input.

Read-Eval-Print Loop (REPL) i Java

Med hjälp av REPL kan vi enkelt skriva och testa vår Java-kod utan att kompilera den och kan se utdata direkt på konsolen.

Java har inte REPL redan?

Definitivt måste en REPL vara på ett etablerat språk som Java . Men alla språk har inte REPL, och Java är ett av dem. Java-utvecklarna har krävt det mest. Java har haft något som REPL ett tag som Java Beanshell. Men projektet var inte en fullfjädrad REPL med andra språk. För detta släpptes 2016 Java 9, som levererar en REPL-miljö med full funktion.

Varför är REPL så användbart?

Genom att använda REPL behöver vi inte kompilera eller testa vår Java-kod med javac-kommandot. Efter att ha använt REPL,

  1. Inget behov av en redaktör för att skriva Java-programmet.
  2. Du behöver inte spara Java-programmet.
  3. Inget behov av att kompilera Java-program.
  4. Inget behov av att göra redigering om något kompilerings- eller körtidsfel kommer.
  5. Du behöver inte upprepa processen.
Read-Eval-Print Loop (REPL) i Java

Vi kan utvärdera metoder, klasser och påståenden utan att skapa en klass. Programmet 'Hello World' kan också skrivas utan att skapa en klass.

nullpointer undantag

Krav för att använda REPL

Det finns bara ett krav att använda REPL , dvs vi borde ha Java 9 eller högre version i vårt system. Om Java 9 är installerat i vårt system är vi redo att använda REPL . För att kontrollera strömmen version av Java i ditt system, öppna kommandotolken och skriv följande kommando:

siffror för alfabetet
 java -version 

Read-Eval-Print Loop (REPL) i Java

Använder REPL

Nedan finns några exempel på REPL där vi utvärderar de matematiska uttrycken, beräknar Fibonacci-serien, skapar en dynamisk klass, känner till historien och modifierar klassen.

Exempel 1: Utvärdera matematiska uttryck

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

Beskrivning:

På den första raden skapar vi en variabel 'a' av typen dubbel och sätter dess initiala värde 10. Därefter hittar vi kvadraten på variabel 'a' och lagrar den i samma variabel. Efter det lägger vi helt enkelt till 20 till variabeln 'a'. Jshell kommer att lägga resultatet i en temporär variabel '' . Därefter kör vi '/vars' kommando, som visar oss alla skapade variabler. Äntligen skapar vi en variabel 'data' av typen dubbel och lagra 5thsiffra 8.3.

Produktion:

sql datatyper
Read-Eval-Print Loop (REPL) i Java

Exempel 2: Beräkna Fibonacci-serien

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

Beskrivning:

I de första sex raderna kod skapar vi en metod för Fibonacci-serien. Efter det använder vi /metoder kommandot för Jshell, som visar oss alla tillgängliga metoder. På de följande två raderna testar vi fibo() metod genom att skicka heltalsvärden. Vi skapar en array arr för att bestämma hur många termer vi vill få Fibonacci-serien. Därefter itererar vi varje värde för arr för varje slinga. Vi skickar varje värde av arr till metoden fibo() och skriver ut dess returvärde.

Produktion:

Read-Eval-Print Loop (REPL) i Java

Exempel 3: REPL för återanvändning

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

Beskrivning:

I ovanstående kod skapar vi en fibo()-metod med samma returtyp och argument som vi har skapat tidigare. Vid denna tidpunkt åsidosätter Jshell det föregående 'fibo()' metod med den nuvarande. Därefter skickar vi varje värde av arr till funktionen för att säkerställa om vår fibo()-metod åsidosätts eller inte.

Produktion:

hitta i kartan c++
Read-Eval-Print Loop (REPL) i Java

Exempel 4: Definiera klassen

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

Beskrivning:

I ovanstående kod skapar vi klass 'Studerande' , som har Namn, ålder, kurs och termin. Vi skapar en konstruktor där vi ställer in värdena till dessa variabler. Efter konstruktorn skapar vi en metod som visar värdet av alla variabler för varje instans av klassen.

Produktion:

Read-Eval-Print Loop (REPL) i Java

Exempel 5: Skapa en instans av klassen

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

Beskrivning:

iPhone emojis på Android-telefon

I koden ovan skapar vi två instanser av klassen och skickar värdet till konstruktorn för alla klassvariabler. Därefter kör vi Jshell-kommandot för att kontrollera om s1- och s2-variabler skapas eller inte. Till sist anropar vi metoden showData() för att visa data för varje instans.

Produktion:

Read-Eval-Print Loop (REPL) i Java