Java'da Okuma-Değerlendirme-Yazdırma Döngüsü (REPL)

Java'da Okuma-Değerlendirme-Yazdırma Döngüsü (REPL)

Okuma-Değerlendirme-Yazdırma Döngüsü veya TEKRAR bir kabuk arayüzüdür. Bu arayüz, girişin her satırını okur ve değerlendirir ve ardından sonucu yazdırır. Okuma-Değerlendirme-Yazdırma Döngüsü belirli bir durumda bulunan uygulama çalışma zamanımızla etkileşim kurmamıza yardımcı olur. Komutlar kullanıcı tarafından okunur ve değerlendirilir. TEKRAR ve sonucu yazdırın. Sonucu yazdırdıktan sonra REPL, bir sonraki girdimizi okumak, değerlendirmek ve yazdırmak için başlangıca geri döner.

Java

REPL kullanarak Java kodumuzu derlemeden kolayca yazıp test edebilir ve çıktısını doğrudan konsolda görebiliriz.

Java'da zaten REPL yok mu?

Kesinlikle, bir REPL aşağıdaki gibi yerleşik bir dilde olmalıdır: Java . Ancak tüm dillerde REPL yoktur ve Java da bunlardan biridir. Java geliştiricileri buna en çok ihtiyaç duydu. Java bir süredir Java Beanshell olarak REPL gibi bir şeye sahipti. Ancak proje diğer dillerde tam özellikli bir REPL değildi. Bunun için 2016 yılında tam işlevli bir REPL ortamı sunan Java 9 piyasaya sürüldü.

REPL neden bu kadar faydalı?

REPL'i kullanarak Javac komutunu kullanarak Java kodumuzu derlememize veya test etmemize gerek kalmaz. REPL'i kullandıktan sonra,

  1. Java programını yazmak için editöre gerek yoktur.
  2. Java programını kaydetmenize gerek yok.
  3. Java programını derlemenize gerek yok.
  4. Herhangi bir derleme zamanı veya çalışma zamanı hatası gelirse düzenleme yapmanıza gerek yoktur.
  5. İşlemi tekrarlamaya gerek yok.
Java

Yöntemleri, sınıfları ve ifadeleri sınıf oluşturmadan değerlendirebiliriz. 'Merhaba Dünya' programı sınıf oluşturulmadan da yazılabilir.

REPL kullanımına ilişkin gereksinimler

Kullanmanın tek şartı var TEKRAR yani, sahip olmalıydık Java 9 veya sistemimizdeki daha yüksek bir sürüm. Sistemimizde Java 9 kurulu ise kullanıma hazırız TEKRAR . Akımı kontrol etmek için Java sürümü sisteminizde komut istemini açın ve aşağıdaki komutu yazın:

 java -version  

Java

REPL'i kullanma

Aşağıda matematiksel ifadeleri değerlendirdiğimiz, Fibonacci serisini hesapladığımız, dinamik bir sınıf oluşturduğumuz, geçmişini bildiğimiz ve sınıfı değiştirdiğimiz bazı REPL örnekleri verilmiştir.

Örnek 1: Matematiksel İfadelerin Değerlendirilmesi

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

Tanım:

İlk satırda bir değişken oluşturuyoruz 'A' double tipini alıp başlangıç ​​değerini 10 olarak ayarlıyoruz. Daha sonra 'a' değişkeninin karesini bulup aynı değişkende saklıyoruz. Bundan sonra 'a' değişkenine 20 ekliyoruz. Jshell sonucu geçici bir değişkene koyacaktır '3$' . Daha sonra şu işlemi yürütüyoruz: '/kimin' bize oluşturulan tüm değişkenleri gösteren komut. Sonunda bir değişken oluşturuyoruz 'veri' double yazın ve 5'i saklayın o 8.3 rakamının kuvveti.

Çıktı:

Java

Örnek 2: Fibonacci Serisinin Hesaplanması

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

Tanım:

Kodun ilk altı satırında Fibonacci serisi için bir yöntem oluşturuyoruz. Bundan sonra şunu kullanıyoruz: /yöntemler Bize mevcut tüm yöntemleri gösteren Jshell komutu. Sonraki iki satırda test ediyoruz fibo() tamsayı değerleri ileterek yöntem. Bir dizi oluşturuyoruz varış Fibonacci serisini kaç terim elde etmek istediğimizi belirlemek için. Daha sonra, her döngü için arr değerini kullanarak yineliyoruz. Dizinin her değerini fibo() yöntemine iletiyoruz ve dönüş değerini yazdırıyoruz.

Çıktı:

Java

Örnek 3: Yeniden kullanım için REPL

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

Tanım:

Yukarıdaki kodda, daha önce oluşturduğumuzla aynı dönüş tipine ve argümana sahip bir fibo() yöntemi oluşturuyoruz. Şu anda, Jshell öncekini geçersiz kılar 'fibo()' mevcut olanla yöntem. Daha sonra, fibo() yöntemimizin geçersiz kılınıp kılınmadığından emin olmak için arr'ın her değerini fonksiyona iletiriz.

Çıktı:

Java

Örnek 4: Sınıfı tanımlama

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

Tanım:

Yukarıdaki kodda sınıf oluşturuyoruz 'Öğrenci' Adı, yaşı, dersi ve yarıyılı olan. Bu değişkenlere değerleri ayarladığımız bir kurucu oluşturuyoruz. Yapıcıdan sonra sınıfın her bir örneği için tüm değişkenlerin değerini gösteren bir yöntem oluşturuyoruz.

Çıktı:

Java

Örnek 5: Sınıfın bir örneğini oluşturma

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

Tanım:

Yukarıdaki kodda sınıfın iki örneğini oluşturuyoruz ve tüm sınıf değişkenleri için değeri yapıcıya aktarıyoruz. Daha sonra s1 ve s2 değişkenlerinin oluşturulup oluşturulmadığını kontrol etmek için Jshell komutunu çalıştırıyoruz. Son olarak her örneğin verilerini görüntülemek için showData() yöntemini çağırıyoruz.

Çıktı:

Java