logo

Ciclo di lettura-valutazione-stampa (REPL) in Java

IL Ciclo di lettura-valutazione-stampa O SOSTITUZIONE è un'interfaccia shell. Questa interfaccia legge e valuta ogni riga di input e quindi stampa il risultato. IL Ciclo di lettura-valutazione-stampa ci aiuta a interagire con il runtime della nostra applicazione presente in uno stato specifico. I comandi vengono letti e valutati dal SOSTITUZIONE e stampare il risultato. Dopo aver stampato il risultato, REPL torna all'inizio per leggere, valutare e stampare il nostro prossimo input.

Ciclo di lettura-valutazione-stampa (REPL) in Java

Utilizzando REPL, possiamo facilmente scrivere e testare il nostro codice Java senza compilarlo e possiamo vedere l'output direttamente sulla console.

Java non ha già REPL?

Sicuramente, un REPL deve essere in una lingua consolidata come Giava . Ma non tutte le lingue hanno REPL e Java è una di queste. Gli sviluppatori Java lo hanno maggiormente richiesto. Java ha avuto per un po' qualcosa come REPL come Java Beanshell. Ma il progetto non era un REPL completo di altre lingue. Per questo, nel 2016, è stato rilasciato Java 9, che fornisce un ambiente REPL completo di funzionalità.

Perché REPL è così utile?

Utilizzando REPL, non abbiamo bisogno di compilare o testare il nostro codice Java utilizzando il comando javac. Dopo aver utilizzato REPL,

  1. Non c'è bisogno di un editor per scrivere il programma Java.
  2. Non è necessario salvare il programma Java.
  3. Non è necessario compilare il programma Java.
  4. Non è necessario apportare modifiche se si verificano errori in fase di compilazione o di runtime.
  5. Non è necessario ripetere il processo.
Ciclo di lettura-valutazione-stampa (REPL) in Java

Possiamo valutare metodi, classi e istruzioni senza creare una classe. Il programma 'Hello World' può essere scritto anche senza creare una classe.

ordinamento della shell

Requisiti per l'utilizzo di REPL

C'è solo un requisito per l'utilizzo SOSTITUZIONE , cioè, avremmo dovuto Giava9 o versione successiva nel nostro sistema. Se Java 9 è installato nel nostro sistema, siamo pronti per l'uso SOSTITUZIONE . Per controllare la corrente versione di Java nel tuo sistema, apri il prompt dei comandi e digita il seguente comando:

 java -version 

Ciclo di lettura-valutazione-stampa (REPL) in Java

Usando REPL

Di seguito sono riportati alcuni esempi di REPL in cui valutiamo le espressioni matematiche, calcoliamo la serie di Fibonacci, creiamo una classe dinamica, conosciamo la storia e modifichiamo la classe.

Esempio 1: valutazione delle espressioni matematiche

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

Descrizione:

attore cinematografico Vijay

Nella prima riga creiamo una variabile 'UN' di tipo double e imposta il suo valore iniziale 10. Successivamente, troviamo il quadrato della variabile 'a' e lo memorizziamo nella stessa variabile. Successivamente aggiungiamo semplicemente 20 alla variabile 'a'. La Jshell inserirà il risultato in una variabile temporanea '$ 3' . Successivamente, eseguiamo il file '/di chi' comando, che ci mostra tutte le variabili create. Alla fine creiamo una variabile 'dati' di tipo double e memorizza il 5thpotenza della cifra 8.3.

Produzione:

panda loc
Ciclo di lettura-valutazione-stampa (REPL) in Java

Esempio 2: calcolo della serie di 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)); ...> } 

Descrizione:

Nelle prime sei righe di codice creiamo un metodo per la serie di Fibonacci. Successivamente, utilizziamo il file /metodi comando di Jshell, che ci mostra tutti i metodi disponibili. Nelle prossime due righe testeremo il file fibo() metodo passando valori interi. Creiamo un array arr per determinare quanti termini vogliamo ottenere nella serie di Fibonacci. Successivamente, iteriamo ogni valore di arr utilizzando for ogni ciclo. Passiamo ogni valore di arr al metodo fibo() e stampiamo il suo valore restituito.

Produzione:

Ciclo di lettura-valutazione-stampa (REPL) in Java

Esempio 3: REPL per il riutilizzo

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

Descrizione:

sostituire dalla stringa in Java

Nel codice sopra, creiamo un metodo fibo() con lo stesso tipo di ritorno e argomento che abbiamo creato prima. In questo momento, la Jshell sovrascrive la precedente 'fibo()' metodo con quello attuale. Successivamente, passiamo ogni valore di arr alla funzione per garantire se il nostro metodo fibo() viene sovrascritto o meno.

Produzione:

Ciclo di lettura-valutazione-stampa (REPL) in Java

Esempio 4: definizione della 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); ...> } ...> } 

Descrizione:

Nel codice sopra, creiamo class 'Alunno' , che hanno Nome, età, corso e semestre. Creiamo un costruttore in cui impostiamo i valori su queste variabili. Dopo il costruttore, creiamo un metodo che mostra il valore di tutte le variabili per ogni istanza della classe.

Produzione:

Ciclo di lettura-valutazione-stampa (REPL) in Java

Esempio 5: creazione di un'istanza della 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(); 

Descrizione:

il computer ha inventato quale anno

Nel codice precedente creiamo due istanze della classe e passiamo il valore al costruttore per tutte le variabili della classe. Successivamente, eseguiamo il comando Jshell per verificare se le variabili s1 e s2 sono state create o meno. Infine, chiamiamo il metodo showData() per visualizzare i dati di ciascuna istanza.

Produzione:

Ciclo di lettura-valutazione-stampa (REPL) in Java