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.
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,
- Non c'è bisogno di un editor per scrivere il programma Java.
- Non è necessario salvare il programma Java.
- Non è necessario compilare il programma Java.
- Non è necessario apportare modifiche se si verificano errori in fase di compilazione o di runtime.
- Non è necessario ripetere il processo.
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
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
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:
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:
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:
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: