logo

Citire-Eval-Print Loop (REPL) în Java

The Citire-Eval-Print Buclă sau REPL este o interfață shell. Această interfață citește și evaluează fiecare linie de intrare și apoi tipărește rezultatul. The Citire-Eval-Print Buclă ne ajută să interacționăm cu rularea aplicației noastre prezente într-o anumită stare. Comenzile sunt citite și evaluate de către REPL și tipăriți rezultatul. După imprimarea rezultatului, REPL revine la început pentru a citi, evalua și tipări următoarea noastră intrare.

Citire-Eval-Print Loop (REPL) în Java

Folosind REPL, putem scrie și testa cu ușurință codul nostru Java fără a-l compila și putem vedea rezultatul direct pe consolă.

Java nu are deja REPL?

Cu siguranță, un REPL trebuie să fie într-o limbă stabilită, cum ar fi Java . Dar, nu toate limbile au REPL, iar Java este una dintre ele. Dezvoltatorii Java au cerut cel mai mult. Java a avut ceva de genul REPL de ceva vreme ca Java Beanshell. Dar proiectul nu a fost un REPL complet cu alte limbi. Pentru aceasta, în 2016, a fost lansat Java 9, care oferă un mediu REPL cu funcții complete.

De ce este REPL atât de util?

Folosind REPL, nu trebuie să compilam sau să testăm codul nostru Java folosind comanda javac. După utilizarea REPL,

  1. Nu este nevoie de un editor pentru a scrie programul Java.
  2. Nu este nevoie să salvați programul Java.
  3. Nu este nevoie să compilați programul Java.
  4. Nu este nevoie să faceți editare dacă apare vreo eroare de compilare sau de rulare.
  5. Nu este nevoie să repetați procesul.
Citire-Eval-Print Loop (REPL) în Java

Putem evalua metode, clase și instrucțiuni fără a crea o clasă. Programul „Hello World” poate fi scris și fără a crea o clasă.

jdbc jdbc

Cerințe pentru utilizarea REPL

Există o singură cerință de utilizat REPL , adică ar trebui să avem Java 9 sau o versiune superioară în sistemul nostru. Dacă Java 9 este instalat în sistemul nostru, suntem gata de utilizare REPL . Pentru a verifica curentul versiunea de Java în sistemul dvs., deschideți promptul de comandă și tastați următoarea comandă:

 java -version 

Citire-Eval-Print Loop (REPL) în Java

Folosind REPL

Mai jos sunt câteva exemple de REPL în care evaluăm expresiile matematice, calculăm seria Fibonacci, creăm o clasă dinamică, cunoaștem istoria și modificăm clasa.

Exemplul 1: Evaluarea expresiilor matematice

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

Descriere:

În prima linie, creăm o variabilă 'A' de tip double și îi setăm valoarea inițială 10. După aceea, găsim pătratul variabilei „a” și îl stocăm în aceeași variabilă. După aceea, pur și simplu adăugăm 20 la variabila „a”. Jshell-ul va pune rezultatul într-o variabilă temporară „3$” . În continuare, executăm '/a caror' comanda, care ne arată toate variabilele create. În cele din urmă, creăm o variabilă 'date' de tip dublu și stocați 5thputerea cifrei 8.3.

Ieșire:

padding css
Citire-Eval-Print Loop (REPL) în Java

Exemplul 2: Calcularea seriei 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)); ...> } 

Descriere:

În primele șase linii de cod, creăm o metodă pentru seria Fibonacci. După aceea, folosim /metode comanda Jshell, care ne arată toate metodele disponibile. În următoarele două rânduri, testăm fibo() metoda prin transmiterea valorilor întregi. Creăm o matrice arr pentru a determina câți termeni dorim să obținem seria Fibonacci. Apoi, repetăm ​​fiecare valoare a lui arr folosind pentru fiecare buclă. Trecem fiecare valoare a arr metodei fibo() și imprimăm valoarea returnată.

Ieșire:

Citire-Eval-Print Loop (REPL) în Java

Exemplul 3: REPL pentru reutilizare

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

Descriere:

În codul de mai sus, creăm o metodă fibo() cu același tip de returnare și argument pe care le-am creat anterior. În acest moment, Jshell-ul îl înlocuiește pe precedentul „fibo()” metoda cu cea actuală. Apoi, transmitem fiecare valoare a arr funcției pentru a ne asigura dacă metoda noastră fibo() este suprascrisă sau nu.

Ieșire:

Citire-Eval-Print Loop (REPL) în Java

Exemplul 4: Definirea clasei

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

Descriere:

În codul de mai sus, creăm o clasă 'Student' , care au Nume, vârstă, curs și semestru. Creăm un constructor în care setăm valorile acestor variabile. După constructor, creăm o metodă care arată valoarea tuturor variabilelor pentru fiecare instanță a clasei.

Ieșire:

Citire-Eval-Print Loop (REPL) în Java

Exemplul 5: Crearea unei instanțe a clasei

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

Descriere:

instrument de tăiere în ubuntu

În codul de mai sus, creăm două instanțe ale clasei și transmitem valoarea constructorului pentru toate variabilele clasei. Apoi, rulăm comanda Jshell pentru a verifica dacă variabilele s1 și s2 sunt create sau nu. În cele din urmă, apelăm metoda showData() pentru a afișa datele fiecărei instanțe.

Ieșire:

Citire-Eval-Print Loop (REPL) în Java