logo

Read-Eval-Print Loop (REPL) v Javi

The Zanka branje-vrednotenje-tiskanje oz REPL je lupinski vmesnik. Ta vmesnik prebere in ovrednoti vsako vrstico vnosa in nato natisne rezultat. The Zanka branje-vrednotenje-tiskanje nam pomaga pri interakciji z našim izvajalnim okoljem aplikacije, ki je prisotno v določenem stanju. Ukaze bere in ovrednoti REPL in natisnite rezultat. Po tiskanju rezultata se REPL vrne na začetek, da prebere, ovrednoti in natisne naš naslednji vnos.

Read-Eval-Print Loop (REPL) v Javi

Z uporabo REPL lahko preprosto napišemo in preizkusimo svojo kodo Java, ne da bi jo prevedli, in lahko vidimo izhod neposredno na konzoli.

Java še nima REPL?

Vsekakor mora biti REPL v uveljavljenem jeziku, kot je Java . Vendar pa vsi jeziki nimajo REPL in Java je eden izmed njih. Razvijalci Jave so to najbolj zahtevali. Java je nekaj časa imela nekaj podobnega REPL kot Java Beanshell. Toda projekt ni bil popolnoma opremljen REPL z drugimi jeziki. Za to je bila leta 2016 izdana Java 9, ki zagotavlja polno funkcionalno okolje REPL.

Zakaj je REPL tako koristen?

Z uporabo REPL nam ni treba prevajati ali testirati kode Java z ukazom javac. Po uporabi REPL,

  1. Za pisanje programa Java ni potreben urejevalnik.
  2. Programa Java ni treba shraniti.
  3. Programa Java ni treba prevajati.
  4. Ni vam treba urejati, če pride do napake med prevajanjem ali izvajanjem.
  5. Postopek ni treba ponavljati.
Read-Eval-Print Loop (REPL) v Javi

Metode, razrede in izjave lahko ocenimo, ne da bi ustvarili razred. Program 'Hello World' je mogoče napisati tudi brez ustvarjanja razreda.

knn algoritem

Zahteve za uporabo REPL

Za uporabo obstaja le ena zahteva REPL , tj. morali bi imeti Java 9 ali novejša različica v našem sistemu. Če je Java 9 nameščena v našem sistemu, smo pripravljeni za uporabo REPL . Za preverjanje toka različico Jave v vašem sistemu odprite ukazni poziv in vnesite naslednji ukaz:

 java -version 

Read-Eval-Print Loop (REPL) v Javi

Uporaba REPL

Spodaj je nekaj primerov REPL, v katerih ovrednotimo matematične izraze, izračunamo Fibonaccijevo vrsto, ustvarimo dinamični razred, poznamo zgodovino in spremenimo razred.

kako razkriti skrite aplikacije

Primer 1: Vrednotenje matematičnih izrazov

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

Opis:

V prvi vrstici ustvarimo spremenljivko 'a' tipa double in nastavimo njegovo začetno vrednost 10. Nato poiščemo kvadrat spremenljivke 'a' in ga shranimo v isto spremenljivko. Nato preprosto dodamo 20 spremenljivki 'a'. Jshell bo rezultat postavil v začasno spremenljivko '' . Nato izvedemo '/čigav' ukaz, ki nam pokaže vse ustvarjene spremenljivke. Končno ustvarimo spremenljivko 'podatki' vnesite dvojno in shranite 5thmoč števke 8.3.

Izhod:

livecricket.is
Read-Eval-Print Loop (REPL) v Javi

Primer 2: Izračun Fibonaccijeve vrste

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

Opis:

V prvih šestih vrsticah kode ustvarimo metodo za Fibonaccijevo vrsto. Po tem uporabimo /metode ukaz Jshell, ki nam pokaže vse razpoložljive metode. V naslednjih dveh vrsticah testiramo fibo() metoda s posredovanjem celih vrednosti. Ustvarimo niz prir da določimo, koliko členov želimo dobiti v Fibonaccijevem nizu. Nato ponovimo vsako vrednost arr z uporabo za vsako zanko. Vsako vrednost arr posredujemo metodi fibo() in natisnemo njeno vrnjeno vrednost.

Izhod:

Read-Eval-Print Loop (REPL) v Javi

Primer 3: REPL za ponovno uporabo

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

Opis:

V zgornji kodi ustvarimo metodo fibo() z istim povratnim tipom in argumentom, kot smo ga ustvarili prej. V tem času Jshell preglasi prejšnjega 'fibo()' metodo s trenutno. Nato vsako vrednost arr posredujemo funkciji, da zagotovimo, ali je naša metoda fibo() preglasljena ali ne.

Izhod:

Read-Eval-Print Loop (REPL) v Javi

Primer 4: Definiranje razreda

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

Opis:

V zgornji kodi ustvarimo razred 'Študent' , ki imajo ime, starost, predmet in semester. Ustvarimo konstruktor, v katerem tem spremenljivkam nastavimo vrednosti. Za konstruktorjem ustvarimo metodo, ki prikaže vrednost vseh spremenljivk za vsak primerek razreda.

Izhod:

Read-Eval-Print Loop (REPL) v Javi

Primer 5: Ustvarjanje primerka razreda

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

Opis:

niz za klepet

V zgornji kodi ustvarimo dva primerka razreda in posredujemo vrednost konstruktorju za vse spremenljivke razreda. Nato zaženemo ukaz Jshell, da preverimo, ali sta spremenljivki s1 in s2 ustvarjeni ali ne. Nazadnje pokličemo metodo showData() za prikaz podatkov vsakega primerka.

Izhod:

Read-Eval-Print Loop (REPL) v Javi